当我尝试使用 创建的宏插入 时,\multicolumn
出现错误。当我使用 定义“相同”命令时,一切正常。xparse
\NewDocumentCommand
Misplaced \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}}