箭头中的描述在 tikzcd 中不起作用

箭头中的描述在 tikzcd 中不起作用

以下是代码:

\documentclass[11pt,twoside]{book}

\usepackage{tikz-cd}
\begin{document}
\[\begin{tikzcd}
    x
    \arrow[rr, "f"{name=F}, bend left=49]
    \arrow[rr, "h"'{name=H}, bend right=49]
    \arrow[rr,"g" {name=G} ]
    &  & y
    \arrow[Rightarrow, from=F, to=G, "\alpha"]
    \arrow[Rightarrow, from=G, to=H, "\beta"]
\end{tikzcd}\]
\end{document}

在此处输入图片描述

这是我为一些图表编写的代码。

我想把$g$箭头放在里面,而不是上面,也不在下面。所以我使用了代码“ description”。但是不起作用。

\documentclass[11pt,twoside]{book}

\usepackage{tikz-cd}
\begin{document}
\[\begin{tikzcd}
    x
    \arrow[rr, "f"{name=F}, bend left=62]
    \arrow[rr, "h"'{name=H}, bend right=62]
    \arrow[rr,"g" description{name=G} ]
    &  & y
    \arrow[Rightarrow, from=F, to=G, "\alpha"]
    \arrow[Rightarrow, from=G, to=H, "\beta"]
\end{tikzcd}\]
\end{document}

我希望两者兼有\alpha,并且\beta大小相同(至少大小相似)。

有人能帮我吗?如果我description在后面加上“” {name=G},它不会显示任何差异。

为何描述不起作用?

答案1

在此处输入图片描述

一些东西:

  • 您只需要两列。
  • 对于name箭头上方(以及下方)的空间,使用""{name=GA,above}
  • 我在和中添加了phantom小写f字符,因此它们具有相同的高度和深度(使箭头保持均匀)。xy
  • 如果希望垂直箭头更接近弯曲箭头,可以使用shorten <=负值shorten >=。请注意,short 后面的空格不是可选的。(代码在底部。)

以下是代码:

\documentclass[11pt,twoside]{book}
\usepackage{tikz-cd}

\begin{document}
\[\begin{tikzcd}[column sep=2cm]
    \vphantom{f}x
    \arrow[r, "f",  ""{name=F, below}, bend left=49]
    \arrow[r, "h"',  ""{name=H, above}, bend right=49]
    \arrow[r, "g" description, ""{name=GA,above}, ""{name=GB,below}]
    & \vphantom{f}y
    \arrow[Rightarrow, from=F, to=GA, "\alpha"]
    \arrow[Rightarrow, from=GB, to=H, "\beta"]
\end{tikzcd}\]
\end{document}

要加长垂直箭头(或任何箭头),您可以使用shorten负值:

\arrow[Rightarrow, from=F, to=GA, "\alpha", shorten <=-3pt]
\arrow[Rightarrow, from=GB, to=H, "\beta", shorten >=-3pt]

在此处输入图片描述

答案2

编辑:我完成了xy更复杂的包,而不是tikz-cd...非常感谢@Sandy G通过你的绘画就能明白答案。

\documentclass[11pt,twoside]{book}
\usepackage[all,cmtip,2cell]{xy}
\UseAllTwocells
\begin{document}
\[
\xymatrix@R+5pc@C+2pc{
x\ruppertwocell^f{\alpha}
\rlowertwocell_h{\beta}
\ar[r]|{\scriptscriptstyle g} & y\\
},
\quad 
\xymatrix@R+5pc@C+2pc{
x\ruppertwocell^f{\alpha}
\rlowertwocell_h{\beta}
\ar[r]|{g} & y\\
}
\]
\end{document}

在此处输入图片描述

相关内容