tikzcd 方块内的标签

tikzcd 方块内的标签

我有一张带有 tikzcd 的图表的一部分,如下所示:

\begin{tikzcd}[column sep=20mm]
A\ar[rd,"a"] & \\
B\ar[rd,"b"]\ar[u,"b"] & C \\
& D\ar[u,"d"]
\end{tikzcd}

并产生以下内容

在此处输入图片描述

现在,我想在这个图表中间添加一个文本,并且倾斜度与它相同。我实现这个的唯一方法是将 tikzcd 嵌入 tikzpicture 中:

\begin{tikzpicture}
  \node {\begin{tikzcd}[column sep=20mm]
      A\ar[rd,"a"] & \\
      B\ar[rd,"b"]\ar[u,"b"] & C \\
      & D\ar[u,"d"]
  \end{tikzcd}};
  \node[rotate=-25] {Text};
\end{tikzpicture}

在此处输入图片描述

有没有办法在 tikzcd 环境中产生相同的效果?

答案1

使用这个答案没有必要嵌套s,当你将环境放入 的节点tikzpicture时,你实际上正在做这件事。tikzcdtikzpicture

\documentclass{article}
\usepackage{tikz-cd}
\begin{document}  
\[  \begin{tikzcd}[column sep=20mm,
  execute at end picture={
    \path (\tikzcdmatrixname-1-1) -- (\tikzcdmatrixname-2-1)
    coordinate[pos=0.5] (aux1)
    (\tikzcdmatrixname-2-2) -- (\tikzcdmatrixname-3-2)
    coordinate[pos=0.5] (aux2)
    (aux1) -- (aux2) node[midway,sloped]{Text};
  }]
      A\ar[rd,"a"] & \\
      B\ar[rd,"b"]\ar[u,"b"] & C \\
      & D\ar[u,"d"]
  \end{tikzcd}\]
\end{document}

在此处输入图片描述

答案2

另一个内部解决方案tikz-cd

\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz-cd}

\begin{document}

\begin{tikzcd}[column sep=20mm]
A\ar[rd,"a"] \ar[rd, phantom, shift right=3.4ex, "\quad\text{Text}" marking]& \\
B\ar[rd,"b"]\ar[u,"b"] & C \\
& D\ar[u,"d"]
\end{tikzcd}

\end{document} 

在此处输入图片描述

相关内容