出现在工作数学家的类别作者:Saunders Mac Lane。我查看了 Tikz-cd 的文档,但其示例并不是很有帮助。
我迄今为止的代码:
\begin{tikzcd}[row sep = 1.4cm, column sep = 1.4cm]
F(c)
\arrow[lddr, to path= { --
([xshift=-1ex]\tikztostart.west)
-| ([xshift=-2ex]\tikztotarget.west)
|- (\tikztotarget)}]
\arrow[d, swap, "\sigma(c)"]
\arrow[r, "F(f)"]
& F(c')
\arrow[d, "\sigma(c')"]
\arrow[rddl, to path= { --
([xshift=1ex]\tikztostart.east)
-| ([xshift=2ex]\tikztotarget.east)
-- (\tikztotarget)}, "\sigma \circ \tau(c')"]
\\
G(c)
\arrow[d, swap, "\tau(c)"]
\arrow[r, "G(f)"] & G(c')
\arrow[d, "\tau(c')"] \\
H(c)
\arrow[r, "H(f)"] & H(c')
\end{tikzcd}
我的问题:在我的图中,外部箭头(即从 F(c) 开始并结束于 H(c) 的箭头以及从 F(c') 开始并结束于 H(c') 的箭头)距离图表太近。是否可以水平移动它们?
如果不是,那也没关系,但我至少想在外部箭头上添加一些节点。我似乎做不到。我可以通过把图表放在 Tikzpicture 节点中,并在图表周围定位所需的标签,以困难的方式做到这一点,但我想学习 Tikz-cd 方式。我知道这是可能的,因为文档是这么说的,它只是简单地说明了如何做。
我指的文档(第 12 页): http://ctan.math.washington.edu/tex-archive/graphics/pgf/contrib/tikz-cd/tikz-cd-doc.pdf
答案1
基本上,我添加了node[near end, left]{}
和node[near end, right]{}
插入标签,并固定了的值以xshift
使其对称,例如+/- 3ex
。
\documentclass[border=1mm]{standalone}
\usepackage{amsthm,amsmath,amssymb,amsfonts}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}[row sep = 1.4cm, column sep = 1.4cm]
F(c)
\arrow[lddr, to path= {%
-| ([xshift=-3ex]\tikztotarget.west)node[near end,left]{$\tau\cdot\sigma(c)$}
|- (\tikztotarget)}]
\arrow[d, swap, "\sigma(c)"]
\arrow[r, "F(f)"]
& F(c')
\arrow[d, "\sigma(c')"]
\arrow[rddl, to path= {%
-| ([xshift=3ex]\tikztotarget.east)node[near end,right]{$\tau\cdot\sigma(c')$}
-- (\tikztotarget)}]
\\
G(c)
\arrow[d, swap, "\tau(c)"]
\arrow[r, "G(f)"]
& G(c')
\arrow[d, "\tau(c')"]
\\
H(c)
\arrow[r, "H(f)"]
& H(c')
\end{tikzcd}
\end{document}