在 newcommand 中使用 tikzcd (用于内联箭头)

在 newcommand 中使用 tikzcd (用于内联箭头)

我用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=...

允许定义某些命令来替代的键&,从而避免进行杂耍。

相关内容