为 tikz-cd 环境定义宏

为 tikz-cd 环境定义宏

我想要一个简写

\begin{center}
  \begin{tikzcd}
    % ..diagram code...
  \end{tikzcd}
\end{center}

我尝试过

\tikzset{ampersand replacement=\&}
\def\bcd#1\ecd{\begin{center}\begin{tikzcd}#1\end{tikzcd}\end{center}}

第一个命令应该修复与 & 符号有关的问题。没有它,我会得到关于它们的错误,但即使有了它,pdflatex似乎也无法产生正确的输出(我得到了错误Package tikz: Sorry, the system call 'pdflatex -shell-escape -halt-on-error -interaction=batchmode -jobname "figures/cache/main-figure1" "\def\tikzexternalrealjob{main}\input{main}"' did NOT result in a usable output file 'figures/cache/main-figure1' (expected one of .pdf:.jpg:.jpeg:.png:)...

该错误似乎发生在常规图像上,所以也许是与\tikzset命令的互操作性问题?如果我禁用tikz-external,剩下的唯一错误就是Float(s) lost

答案1

显然,该错误是由在错误的地方使用另一个不相关的 tikz 环境引起的。

因此,问题中的简写实际上是可行的。

相关内容