선택적 인수를 사용하여 매크로로 다중 열 정의

선택적 인수를 사용하여 매크로로 다중 열 정의

바로가기 양식에 대한 매크로를 정의하려고 합니다 \multiline{1}{<pcolumn type>}{\textbf{text}}.

\documentclass[12pt,border=1mm,preview]{standalone}

\newcommand\mcbf[2]{\multicolumn{1}{#1}{\textbf{#2}}}
    \begin{document}
\begin{tabular}{lr}
    \hline
\mcbf{|c|}{AAA}  &   \mcbf{c|}{BBB}   \\ \hline
\end{tabular}
    \end{document}

예상대로 작동합니다. 대부분의 경우 동일한 열 지정자를 사용하므로 이 매크로를 다시 정의하여 기본 열 유형이 다음과 같도록 합니다 c|.

\documentclass[12pt,border=1mm,preview]{standalone}

\newcommand\xmcbf[2][c|]{\multicolumn{1}{#1}{\textbf{#2}}}

    \begin{document}
\begin{tabular}{lr}
\xmcbf[|c|]{AAA} &   \mcbf{BBB}  \\ \hline
C                &   D           \\ \hline
\end{tabular}
    \end{document}

오류가 발생합니다.

\multispan ->\omit
                  \@multispan

\newcommand정의 에서 내가 놓친 것은 무엇입니까 ? SE에서의 나의 (아마도 서투른) 검색은 유용한 정보를 제공하지 않습니다.

답변1

다음 명령이 필요합니다.확장하다에게\multicolumn

\documentclass[12pt,border=1mm,preview]{standalone}
\usepackage{xparse}

\DeclareExpandableDocumentCommand\xmcbf{O{c|}m}{\multicolumn{1}{#1}{\textbf{#2}}}

    \begin{document}
\begin{tabular}{lr}
\xmcbf[|c|]{AAA} &   \xmcbf{BBB}  \\ \hline
C                &   D           \\ \hline
\end{tabular}
    \end{document}

관련 정보