tables – ¿Cómo amplío una macro en un encabezado tabular?

Pregunta:

Me gustaría poder definir una macro que se pueda usar en la definición tabular. ¿Cómo puedo hacer esto?

Esto no funciona:

\documentclass{article}

\begin{document}
\gdef\buildtabularhead{|||}

\begin{tabular}{\buildtabularhead}
1 & 2 &3\\
\end{tabular}
\end{document}

Respuesta:

Probablemente esto no sea práctico, pero es una buena demostración de \expandafter y soluciona el problema de las macros en el preámbulo de la tabla con el paquete array .

\documentclass{article}
\usepackage{array}
\begin{document}
\def\buildtabularhead{|c|c|c|}
\expandafter\tabular\expandafter{\buildtabularhead}
1 & 2 &3\\
\endtabular
\end{document}

Las dos \expandafter aseguran de que la macro \buildtabularhead se expanda antes de que LaTeX sepa que debería estar esperando un preámbulo tabular . Note también que en lugar de \begin{tabular}\end{tabular} tuve que usar \tabular\endtabular . Internamente, el primero hace lo mismo que el segundo, pero rodeándolo con un grupo y haciendo comprobaciones importantes, incluido el anidamiento adecuado (consulte la sección 54.1 de source2e).

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım