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

관련 정보