tikz-cd 消息 pgf 错误:没有已知的名为 tikz@f@2-2-4 的形状

tikz-cd 消息 pgf 错误:没有已知的名为 tikz@f@2-2-4 的形状

图表

$\begin{tikzcd}
   & U_0 \ar[dl, "\operatorname{f}_0"]     & \ar[dr, "\operatorname{f}'_0"]                           \\
 U_1 \ar[d, "\operatorname{f}_1"]        & & V_1 \ar[d, "\operatorname{f}'_1"]                        \\
\vdots \ar[d, "\operatorname{f}_{m-1}"]  & & \vdots \ar[d, "\operatorname{f}'_{n-1}"]                 \\
U_m \ar[rr, dotted, "\operatorname{f}'"] & & V_n
\end{tikzcd}$
\end{document}

收到错误消息

! Package pgf Error: No shape named tikz@f@2-2-4 is known.

See the pgf package documentation for explanation.
Type  H <return>  for immediate help
...
l.60 I think the culprit is a tikzcd arrow in cell 1-3.
\errmessage ...currentrow -\tikzcd@currentcolumn }

l.64 \end{tikzcd}
                 $

如果我从最后一行删除 rr 箭头,那么它就可以起作用。

施穆埃尔(西摩 J.)梅斯

答案1

&第一行你写错了。

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

\begin{document}

\[
\begin{tikzcd}
& U_0 \ar[dl, swap, "\mathrm{f}_0"] \ar[dr, "\mathrm{f}'_0"]           \\
U_1 \ar[d, "\mathrm{f}_1"]        & & V_1 \ar[d, "\mathrm{f}'_1"]        \\
\vdots \ar[d, "\mathrm{f}_{m-1}"]  & & \vdots \ar[d, "\mathrm{f}'_{n-1}"] \\
U_m \ar[rr, dotted, "\mathrm{f}'"] & & V_n
\end{tikzcd}
\]

\end{document}

我还添加了swap指向左的顶部箭头,因此标签与另一个箭头对称。

不要用 来\operatorname代替\mathrm

在此处输入图片描述

答案2

问题是第一行有一个箭头,但它指向了虚无。& {}在箭头应该指向的地方添加一个 就可以解决。

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

\begin{document}

$\begin{tikzcd}
  & U_0 \ar[dl, "\operatorname{f}_0"] &{} \ar[dr, "\operatorname{f}'_0"] \\
  U_1 \ar[d, "\operatorname{f}_1"] & & V_1 \ar[d, "\operatorname{f}'_1"] & {}\\
   \vdots \ar[d, "\operatorname{f}_{m-1}"] & & \vdots \ar[d, "\operatorname{f}'_{n-1}"] \\
  U_m \ar[rr, dotted, "\operatorname{f}'"] & & V_n
\end{tikzcd}$

\end{document}

然而,我并不完全相信你的意图是画出

在此处输入图片描述

相关内容