Composition of natural transformations diagram
I'd like to draw a diagram with tikz-cd for a composition of natural transformations between functors that looked like the following
The best I could do so far is given by the following code:
documentclass{article}
usepackage{amsmath,amsfonts}
usepackage{tikz-cd}
begin{document}
[
begin{tikzcd}[row sep=huge]
mathcal{A} arrow[r, bend left=65, "F"]arrow[r, "G", swap]arrow[r, bend right=65, "H", swap] & mathcal{B}.
end{tikzcd}
]
end{document}
I'm wondering how to put G over the middle arrow and how to draw the vertical arrows alpha
and beta
.
diagrams tikz-cd commutative-diagrams
New contributor
add a comment |
I'd like to draw a diagram with tikz-cd for a composition of natural transformations between functors that looked like the following
The best I could do so far is given by the following code:
documentclass{article}
usepackage{amsmath,amsfonts}
usepackage{tikz-cd}
begin{document}
[
begin{tikzcd}[row sep=huge]
mathcal{A} arrow[r, bend left=65, "F"]arrow[r, "G", swap]arrow[r, bend right=65, "H", swap] & mathcal{B}.
end{tikzcd}
]
end{document}
I'm wondering how to put G over the middle arrow and how to draw the vertical arrows alpha
and beta
.
diagrams tikz-cd commutative-diagrams
New contributor
add a comment |
I'd like to draw a diagram with tikz-cd for a composition of natural transformations between functors that looked like the following
The best I could do so far is given by the following code:
documentclass{article}
usepackage{amsmath,amsfonts}
usepackage{tikz-cd}
begin{document}
[
begin{tikzcd}[row sep=huge]
mathcal{A} arrow[r, bend left=65, "F"]arrow[r, "G", swap]arrow[r, bend right=65, "H", swap] & mathcal{B}.
end{tikzcd}
]
end{document}
I'm wondering how to put G over the middle arrow and how to draw the vertical arrows alpha
and beta
.
diagrams tikz-cd commutative-diagrams
New contributor
I'd like to draw a diagram with tikz-cd for a composition of natural transformations between functors that looked like the following
The best I could do so far is given by the following code:
documentclass{article}
usepackage{amsmath,amsfonts}
usepackage{tikz-cd}
begin{document}
[
begin{tikzcd}[row sep=huge]
mathcal{A} arrow[r, bend left=65, "F"]arrow[r, "G", swap]arrow[r, bend right=65, "H", swap] & mathcal{B}.
end{tikzcd}
]
end{document}
I'm wondering how to put G over the middle arrow and how to draw the vertical arrows alpha
and beta
.
diagrams tikz-cd commutative-diagrams
diagrams tikz-cd commutative-diagrams
New contributor
New contributor
New contributor
asked 6 hours ago
VladimirVladimir
984
984
New contributor
New contributor
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
Here is one option:
documentclass{article}
usepackage{amsmath,amsfonts}
usepackage{tikz-cd}
begin{document}
[
begin{tikzcd}[row sep=huge]
mathcal{A}
arrow[r, bend left=65, "F"{name=F}]
arrow[r, "G"{inner sep=0,fill=white,anchor=center,name=G}]
arrow[r, bend right=65, "H"{name=H, swap}]
arrow[from=F.south-|G,to=G,Rightarrow,shorten=2pt,"alpha"]
arrow[from=G,to=H.north-|G,Rightarrow,shorten=2pt,"beta"] &
mathcal{B}.
end{tikzcd}
]
end{document}
It looks perfect! But I get an error message: "I do not know the key to which you passed '2pt'..." and then "I think the culprit is a tikzcd arrow in 1-1".
– Vladimir
5 hours ago
@Vladimir Do you get that with the exact code in my answer?
– Torbjørn T.
5 hours ago
Yes, with that exact code and nothing else.
– Vladimir
5 hours ago
@Vladimir Hm, don't really know why that would be. My only wild guess would be that you have an older version oftikz-cd
. I have v0.9f. If you compilelistfiles documentclass{article} usepackage{tikz-cd} begin{document} a end{document}
you'll get a list of packages with their version numbers near the end of the.log
file.
– Torbjørn T.
5 hours ago
add a comment |
This is my option. Now there is the vertical alignment.
documentclass{article}
usepackage{amsmath,amsfonts}
usepackage{tikz-cd}
usepackage{mathrsfs}
usepackage{graphicx}
begin{document}
[
begin{tikzcd}[row sep=huge]
mathscr{A} arrow[r, "F"{sloped,above},"hspace{0.15cm}scalebox{1.5}{$Downarrow$} alpha"{sloped,below}, bend left=70] arrow[r, "hspace{0.15cm}scalebox{1.5}{$Downarrow$} beta", "H"{sloped,below}, bend right=70] arrow[r, "G" description] & mathscr{B}
end{tikzcd}
]
end{document}
Or with another package usepackage{scalerel}
.
documentclass{article}
usepackage{amsmath,amsfonts}
usepackage{tikz-cd}
usepackage{mathrsfs}
usepackage{scalerel}
begin{document}
[
begin{tikzcd}[row sep=huge]
mathscr{A} arrow[r, "F"{sloped,above},"hspace{0.15cm}mathrel{stretchto{Downarrow}{2.6ex}} alpha"{sloped,below}, bend left=65] arrow[r, "hspace{0.15cm}mathrel{stretchto{Downarrow}{3ex}} beta", "H"{sloped,below}, bend right=65] arrow[r, "G" description] & mathscr{B}
end{tikzcd}
]
end{document}
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "85"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Vladimir is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f474409%2fcomposition-of-natural-transformations-diagram%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
Here is one option:
documentclass{article}
usepackage{amsmath,amsfonts}
usepackage{tikz-cd}
begin{document}
[
begin{tikzcd}[row sep=huge]
mathcal{A}
arrow[r, bend left=65, "F"{name=F}]
arrow[r, "G"{inner sep=0,fill=white,anchor=center,name=G}]
arrow[r, bend right=65, "H"{name=H, swap}]
arrow[from=F.south-|G,to=G,Rightarrow,shorten=2pt,"alpha"]
arrow[from=G,to=H.north-|G,Rightarrow,shorten=2pt,"beta"] &
mathcal{B}.
end{tikzcd}
]
end{document}
It looks perfect! But I get an error message: "I do not know the key to which you passed '2pt'..." and then "I think the culprit is a tikzcd arrow in 1-1".
– Vladimir
5 hours ago
@Vladimir Do you get that with the exact code in my answer?
– Torbjørn T.
5 hours ago
Yes, with that exact code and nothing else.
– Vladimir
5 hours ago
@Vladimir Hm, don't really know why that would be. My only wild guess would be that you have an older version oftikz-cd
. I have v0.9f. If you compilelistfiles documentclass{article} usepackage{tikz-cd} begin{document} a end{document}
you'll get a list of packages with their version numbers near the end of the.log
file.
– Torbjørn T.
5 hours ago
add a comment |
Here is one option:
documentclass{article}
usepackage{amsmath,amsfonts}
usepackage{tikz-cd}
begin{document}
[
begin{tikzcd}[row sep=huge]
mathcal{A}
arrow[r, bend left=65, "F"{name=F}]
arrow[r, "G"{inner sep=0,fill=white,anchor=center,name=G}]
arrow[r, bend right=65, "H"{name=H, swap}]
arrow[from=F.south-|G,to=G,Rightarrow,shorten=2pt,"alpha"]
arrow[from=G,to=H.north-|G,Rightarrow,shorten=2pt,"beta"] &
mathcal{B}.
end{tikzcd}
]
end{document}
It looks perfect! But I get an error message: "I do not know the key to which you passed '2pt'..." and then "I think the culprit is a tikzcd arrow in 1-1".
– Vladimir
5 hours ago
@Vladimir Do you get that with the exact code in my answer?
– Torbjørn T.
5 hours ago
Yes, with that exact code and nothing else.
– Vladimir
5 hours ago
@Vladimir Hm, don't really know why that would be. My only wild guess would be that you have an older version oftikz-cd
. I have v0.9f. If you compilelistfiles documentclass{article} usepackage{tikz-cd} begin{document} a end{document}
you'll get a list of packages with their version numbers near the end of the.log
file.
– Torbjørn T.
5 hours ago
add a comment |
Here is one option:
documentclass{article}
usepackage{amsmath,amsfonts}
usepackage{tikz-cd}
begin{document}
[
begin{tikzcd}[row sep=huge]
mathcal{A}
arrow[r, bend left=65, "F"{name=F}]
arrow[r, "G"{inner sep=0,fill=white,anchor=center,name=G}]
arrow[r, bend right=65, "H"{name=H, swap}]
arrow[from=F.south-|G,to=G,Rightarrow,shorten=2pt,"alpha"]
arrow[from=G,to=H.north-|G,Rightarrow,shorten=2pt,"beta"] &
mathcal{B}.
end{tikzcd}
]
end{document}
Here is one option:
documentclass{article}
usepackage{amsmath,amsfonts}
usepackage{tikz-cd}
begin{document}
[
begin{tikzcd}[row sep=huge]
mathcal{A}
arrow[r, bend left=65, "F"{name=F}]
arrow[r, "G"{inner sep=0,fill=white,anchor=center,name=G}]
arrow[r, bend right=65, "H"{name=H, swap}]
arrow[from=F.south-|G,to=G,Rightarrow,shorten=2pt,"alpha"]
arrow[from=G,to=H.north-|G,Rightarrow,shorten=2pt,"beta"] &
mathcal{B}.
end{tikzcd}
]
end{document}
answered 6 hours ago
Torbjørn T.Torbjørn T.
157k13251439
157k13251439
It looks perfect! But I get an error message: "I do not know the key to which you passed '2pt'..." and then "I think the culprit is a tikzcd arrow in 1-1".
– Vladimir
5 hours ago
@Vladimir Do you get that with the exact code in my answer?
– Torbjørn T.
5 hours ago
Yes, with that exact code and nothing else.
– Vladimir
5 hours ago
@Vladimir Hm, don't really know why that would be. My only wild guess would be that you have an older version oftikz-cd
. I have v0.9f. If you compilelistfiles documentclass{article} usepackage{tikz-cd} begin{document} a end{document}
you'll get a list of packages with their version numbers near the end of the.log
file.
– Torbjørn T.
5 hours ago
add a comment |
It looks perfect! But I get an error message: "I do not know the key to which you passed '2pt'..." and then "I think the culprit is a tikzcd arrow in 1-1".
– Vladimir
5 hours ago
@Vladimir Do you get that with the exact code in my answer?
– Torbjørn T.
5 hours ago
Yes, with that exact code and nothing else.
– Vladimir
5 hours ago
@Vladimir Hm, don't really know why that would be. My only wild guess would be that you have an older version oftikz-cd
. I have v0.9f. If you compilelistfiles documentclass{article} usepackage{tikz-cd} begin{document} a end{document}
you'll get a list of packages with their version numbers near the end of the.log
file.
– Torbjørn T.
5 hours ago
It looks perfect! But I get an error message: "I do not know the key to which you passed '2pt'..." and then "I think the culprit is a tikzcd arrow in 1-1".
– Vladimir
5 hours ago
It looks perfect! But I get an error message: "I do not know the key to which you passed '2pt'..." and then "I think the culprit is a tikzcd arrow in 1-1".
– Vladimir
5 hours ago
@Vladimir Do you get that with the exact code in my answer?
– Torbjørn T.
5 hours ago
@Vladimir Do you get that with the exact code in my answer?
– Torbjørn T.
5 hours ago
Yes, with that exact code and nothing else.
– Vladimir
5 hours ago
Yes, with that exact code and nothing else.
– Vladimir
5 hours ago
@Vladimir Hm, don't really know why that would be. My only wild guess would be that you have an older version of
tikz-cd
. I have v0.9f. If you compile listfiles documentclass{article} usepackage{tikz-cd} begin{document} a end{document}
you'll get a list of packages with their version numbers near the end of the .log
file.– Torbjørn T.
5 hours ago
@Vladimir Hm, don't really know why that would be. My only wild guess would be that you have an older version of
tikz-cd
. I have v0.9f. If you compile listfiles documentclass{article} usepackage{tikz-cd} begin{document} a end{document}
you'll get a list of packages with their version numbers near the end of the .log
file.– Torbjørn T.
5 hours ago
add a comment |
This is my option. Now there is the vertical alignment.
documentclass{article}
usepackage{amsmath,amsfonts}
usepackage{tikz-cd}
usepackage{mathrsfs}
usepackage{graphicx}
begin{document}
[
begin{tikzcd}[row sep=huge]
mathscr{A} arrow[r, "F"{sloped,above},"hspace{0.15cm}scalebox{1.5}{$Downarrow$} alpha"{sloped,below}, bend left=70] arrow[r, "hspace{0.15cm}scalebox{1.5}{$Downarrow$} beta", "H"{sloped,below}, bend right=70] arrow[r, "G" description] & mathscr{B}
end{tikzcd}
]
end{document}
Or with another package usepackage{scalerel}
.
documentclass{article}
usepackage{amsmath,amsfonts}
usepackage{tikz-cd}
usepackage{mathrsfs}
usepackage{scalerel}
begin{document}
[
begin{tikzcd}[row sep=huge]
mathscr{A} arrow[r, "F"{sloped,above},"hspace{0.15cm}mathrel{stretchto{Downarrow}{2.6ex}} alpha"{sloped,below}, bend left=65] arrow[r, "hspace{0.15cm}mathrel{stretchto{Downarrow}{3ex}} beta", "H"{sloped,below}, bend right=65] arrow[r, "G" description] & mathscr{B}
end{tikzcd}
]
end{document}
add a comment |
This is my option. Now there is the vertical alignment.
documentclass{article}
usepackage{amsmath,amsfonts}
usepackage{tikz-cd}
usepackage{mathrsfs}
usepackage{graphicx}
begin{document}
[
begin{tikzcd}[row sep=huge]
mathscr{A} arrow[r, "F"{sloped,above},"hspace{0.15cm}scalebox{1.5}{$Downarrow$} alpha"{sloped,below}, bend left=70] arrow[r, "hspace{0.15cm}scalebox{1.5}{$Downarrow$} beta", "H"{sloped,below}, bend right=70] arrow[r, "G" description] & mathscr{B}
end{tikzcd}
]
end{document}
Or with another package usepackage{scalerel}
.
documentclass{article}
usepackage{amsmath,amsfonts}
usepackage{tikz-cd}
usepackage{mathrsfs}
usepackage{scalerel}
begin{document}
[
begin{tikzcd}[row sep=huge]
mathscr{A} arrow[r, "F"{sloped,above},"hspace{0.15cm}mathrel{stretchto{Downarrow}{2.6ex}} alpha"{sloped,below}, bend left=65] arrow[r, "hspace{0.15cm}mathrel{stretchto{Downarrow}{3ex}} beta", "H"{sloped,below}, bend right=65] arrow[r, "G" description] & mathscr{B}
end{tikzcd}
]
end{document}
add a comment |
This is my option. Now there is the vertical alignment.
documentclass{article}
usepackage{amsmath,amsfonts}
usepackage{tikz-cd}
usepackage{mathrsfs}
usepackage{graphicx}
begin{document}
[
begin{tikzcd}[row sep=huge]
mathscr{A} arrow[r, "F"{sloped,above},"hspace{0.15cm}scalebox{1.5}{$Downarrow$} alpha"{sloped,below}, bend left=70] arrow[r, "hspace{0.15cm}scalebox{1.5}{$Downarrow$} beta", "H"{sloped,below}, bend right=70] arrow[r, "G" description] & mathscr{B}
end{tikzcd}
]
end{document}
Or with another package usepackage{scalerel}
.
documentclass{article}
usepackage{amsmath,amsfonts}
usepackage{tikz-cd}
usepackage{mathrsfs}
usepackage{scalerel}
begin{document}
[
begin{tikzcd}[row sep=huge]
mathscr{A} arrow[r, "F"{sloped,above},"hspace{0.15cm}mathrel{stretchto{Downarrow}{2.6ex}} alpha"{sloped,below}, bend left=65] arrow[r, "hspace{0.15cm}mathrel{stretchto{Downarrow}{3ex}} beta", "H"{sloped,below}, bend right=65] arrow[r, "G" description] & mathscr{B}
end{tikzcd}
]
end{document}
This is my option. Now there is the vertical alignment.
documentclass{article}
usepackage{amsmath,amsfonts}
usepackage{tikz-cd}
usepackage{mathrsfs}
usepackage{graphicx}
begin{document}
[
begin{tikzcd}[row sep=huge]
mathscr{A} arrow[r, "F"{sloped,above},"hspace{0.15cm}scalebox{1.5}{$Downarrow$} alpha"{sloped,below}, bend left=70] arrow[r, "hspace{0.15cm}scalebox{1.5}{$Downarrow$} beta", "H"{sloped,below}, bend right=70] arrow[r, "G" description] & mathscr{B}
end{tikzcd}
]
end{document}
Or with another package usepackage{scalerel}
.
documentclass{article}
usepackage{amsmath,amsfonts}
usepackage{tikz-cd}
usepackage{mathrsfs}
usepackage{scalerel}
begin{document}
[
begin{tikzcd}[row sep=huge]
mathscr{A} arrow[r, "F"{sloped,above},"hspace{0.15cm}mathrel{stretchto{Downarrow}{2.6ex}} alpha"{sloped,below}, bend left=65] arrow[r, "hspace{0.15cm}mathrel{stretchto{Downarrow}{3ex}} beta", "H"{sloped,below}, bend right=65] arrow[r, "G" description] & mathscr{B}
end{tikzcd}
]
end{document}
edited 4 hours ago
answered 6 hours ago
SebastianoSebastiano
9,94041858
9,94041858
add a comment |
add a comment |
Vladimir is a new contributor. Be nice, and check out our Code of Conduct.
Vladimir is a new contributor. Be nice, and check out our Code of Conduct.
Vladimir is a new contributor. Be nice, and check out our Code of Conduct.
Vladimir is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to TeX - LaTeX Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f474409%2fcomposition-of-natural-transformations-diagram%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown