
Когда я пытаюсь вставить a \multicolumn
с макросом, созданным с помощью xparse
' s \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}}