parbox 中的 tikzcd

parbox 中的 tikzcd
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}

\parbox{\textwidth}{\[
    \begin{tikzcd}
        a \arrow{r}{} & b
    \end{tikzcd}
\]}

\end{document}

上面的 MWE 抛出一堆错误(Undefined control sequencePackage pgf: Single ampersand used with wrong catcode),我不明白为什么。各种数学环境在里面都能正常工作\parbox,而且\tikz似乎也能正常工作。这是“预期行为”,还是错误?

答案1

由于嵌套,tikz-cd\parbox需要用其他符号替换&符号。例如,如下面的 MWE 中所做的那样:

\documentclass{article}
\usepackage{tikz-cd}
\begin{document}

\parbox{\textwidth}%
{
\[
    \begin{tikzcd}[ampersand replacement=\&]
a \rar  \& b
    \end{tikzcd}
 \]
}

\end{document}

在此处输入图片描述

有关详细信息,请参阅20.5 关于主动角色的考虑,第 327 页,TiZ 和 PGF 手册,版本 3.1.9a。

相关内容