使用 Tikz-cd “to path=” 展示自然变换的组合

使用 Tikz-cd “to path=” 展示自然变换的组合

我在尝试制作以下图片时在 Tikz-cd 中遇到两个问题: 在此处输入图片描述

出现在工作数学家的类别作者: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}

相关内容