xparse 无法插入 \multicolumn

xparse 无法插入 \multicolumn

当我尝试使用 创建的宏插入 时,\multicolumn出现错误。当我使用 定义“相同”命令时,一切正常。xparse\NewDocumentCommandMisplaced \omit\def

怎么会这样?我能以某种方式解决这个问题吗?

\documentclass{article}

\usepackage{xparse}

% This definition does not work.
\NewDocumentCommand\foo{}{%
 \multicolumn{1}{c}{asdf}%
}

% This one does.
%\def\foo{%
% \multicolumn{1}{c}{asdf}%
%}

\begin{document}

\begin{tabular}{ c }
  \foo
\end{tabular}

\end{document}

答案1

\multicolumn应该是单元格中的第一个元素(宏扩展之后)。\NewDocumentCommand这是不可能的。

你需要

\NewExpandableDocumentCommand{\foo}{}{\multicolumn{1}{c}{asdf}}

相关内容