\newcommand 和 tikzcd

\newcommand 和 tikzcd

不知何故,无法结合tikzcdnewcommand结合起来,如下面的 MWE 所示:

\documentclass{paper}
\usepackage{tikz-cd}

\begin{document}

\newcommand{\dotheobvious}[1]{#1}
\dotheobvious{\[\begin{tikzcd}X\ar[r] & Y\end{tikzcd}\]}

\end{document}

我收到以下错误:

! Undefined control sequence.
<argument> \pgf@matrix@last@nextcell@options 

l.7 ...{\[\begin{tikzcd}X\ar[r] & Y\end{tikzcd}\]}

输出如下所示,缺少 Y:

在此处输入图片描述

这里有什么问题?

答案1

\documentclass{paper}
\usepackage{tikz-cd}

\begin{document}

\newcommand{\dotheobvious}[1]{#1}
\dotheobvious{\[\begin{tikzcd}[ampersand replacement=\&]X\ar[r] \& Y\end{tikzcd}\]}

\end{document}

tikzcd 默认情况下,它tikzmatrix使用活动字符&,并且像所有 catcode 更改命令一样,它不在另一个命令的参数中起作用,但是它可以选择使用命令形式而不是&传统那样使用\&它。

相关内容