xparse no puede insertar \multicolumn

xparse no puede insertar \multicolumn

Cuando intento insertar \multicolumnuna macro creada usando xparse's \NewDocumentCommand, aparece un Misplaced \omiterror. Cuando defino el "mismo" comando usando \def, todo funciona bien.

¿Cómo? ¿Puedo solucionar esto de alguna manera?

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

Respuesta1

\multicolumndebería ser lo primero en una celda (después de la expansión macro). Con \NewDocumentCommandesto no es posible.

Necesitas

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

información relacionada