
Intento definir una macro para el formulario de acceso directo \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}
Que funcionan como se esperaba. Como en la mayoría de los casos uso el mismo especificador de columna, intento redefinir esta macro para que el tipo de columna predeterminado sea, por ejemplo 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}
Lo que da error:
\multispan ->\omit
\@multispan
¿Qué extraño en \newcommand
la definición? Mi búsqueda (probablemente torpe) en SE no proporciona información útil.
Respuesta1
Necesitas el comando paraexpandira\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}