我用tikz-cd
它来绘制图表,并且有一个中等大小的图表,我想多次重复使用。但是,当我尝试使用如下定义时:
\newcommand{\myarrow}{$\begin{tikzcd} A \ar{r} & B \end{tikzcd}$
我收到一个错误:
ERROR: Package pgfbasematrix Error: Single ampersand used with wrong catcode.
是否可以以tikz-cd
某种方式将图表放入定义的命令中?
答案1
这是 TikZ 矩阵的一个已知问题:
\documentclass{article}
\usepackage{tikz-cd}
\newcommand{\myarrow}{%
$\begin{tikzcd}[ampersand replacement=\&] A \ar{r} \& B \end{tikzcd}$}
\begin{document}
\myarrow
\end{document}
问题是tikzpicture
想要对 的含义进行一些调整,但如果被发现为宏的替换文本(如原始定义中所示),则&
无法做到这一点。幸运的是,它提供了&
ampersand replacement=...
允许定义某些命令来替代的键&
,从而避免进行杂耍。