xparse não pode inserir \multicolumn

xparse não pode inserir \multicolumn

Quando tento inserir um \multicolumncom uma macro criada usando xparse's \NewDocumentCommand, recebo um Misplaced \omiterro. Quando defino o comando "mesmo" usando \def, tudo funciona bem.

Por quê? Posso contornar isso de alguma forma?

\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}

Responder1

\multicolumndeve ser a primeira coisa em uma célula (após a expansão da macro). Com \NewDocumentCommandisso não é possível.

Você precisa

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

informação relacionada