Entorno dentro de una mesa larga con LaTeX
-
17-09-2020 - |
Pregunta
Me gustaría crear un nuevo entorno para imprimir un encabezado y un pie de página entre secciones de una tabla.
Hice esto:
\documentclass{article}
\usepackage{longtable}
\newenvironment{env}{Heading&&& \\}{\hline \\}
\begin{document}
\begin{longtable}{p{7cm}lrr}
\begin{env}
Content&b&c&d
\end{env}
\end{longtable}
\end{document}
pero el compilador me insulta.Ver aquí para la salida completa.
¿Alguien ve el problema?
Solución
Hay dos problemas aquí.Primero, necesitas un \\ al final de "Content&b&c&d
" línea.En segundo lugar, los entornos no funcionan dentro de tabular/longtable; de ahí provienen la mayoría de los mensajes de error.Quizás sea posible engañarlos para que funcionen, pero está mucho más allá de mi TeX-fu.Esto es lo mejor que se me ocurre:
\documentclass{article}
\usepackage{longtable}
\newcommand{\startenv}{Heading\tabularnewline}
\newcommand{\stopenv}{\hline\tabularnewline}
\begin{document}
\begin{longtable}{p{7cm}lrr}
\startenv
Content&b&c&d \\
\stopenv
\end{longtable}
(No es estrictamente necesario utilizar \tabularnewline
en lugar de \\
, pero te evitará dolores de cabeza si alguna vez lo mezclas con otros entornos que utilicen \\
para sus propios fines.)