
Actualmente tengo una mesa que ha crecido un poco y ya no cabe en el espacio previsto. Como espero que esta tabla siga creciendo en el futuro, necesito que se pueda dividir en páginas manteniendo su estilo actual. Hay muchas publicaciones sobre cómo obtener tablas que se pueden dividir en páginas, pero no he podido usar ninguna de las soluciones que encontré porque obtuve errores que no pude entender o el resultado final no se veía. Como era la intención.
Comparto a continuación un MWE que muestra mi tabla actual (irrompible), así como una captura de pantalla del resultado que produce. Lo que hace el MWE es crear un entorno de lista que luego invoco cuando es necesario. Mi meta espara replicar esta salida, pero asegurándose de que la tabla se dividirá correctamente (en lugar de saltar) cada vez que llegue a un salto de página.
\documentclass[a4paper]{article}
\begin{document}
\newenvironment{entrylist}{%
\noindent
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}rl}
}{%
\end{tabular*}
}
\newcommand{\entry}[4]{%
\parbox[t]{1.75cm}{#1\raggedleft}&\parbox[t]{\dimexpr\textwidth-2\tabcolsep-1.75cm}{\strut%
\textbf{#2}%
\hfill%
{\footnotesize #3\par\strut}%
#4\vspace{\parsep}%
}\\}
\begin{entrylist}
\entry
{XXXX}
{Fancy stuff 1}
{Fancy stuff 1}
{Fancy stuff 1}
\entry
{YYYY}
{Fancy stuff 2}
{Fancy stuff 2}
{Fancy stuff 2}
\entry
{ZZZZ}
{Fancy stuff 3}
{Fancy stuff 3}
{Fancy stuff 3}
\end{entrylist}
\end{document}
Muchas gracias a todos por su tiempo.
Respuesta1
No es necesario encapsular todo en un entorno tabular. Puede definir el formato de cada uno \entry
mediante sus macros. El \smallskip
después \hbox
se puede dividir en páginas, por supuesto.
\newdimen\colsep \colsep=1em
\def\topbox#1#2{\vtop{\parindent=0pt \hsize=\dimexpr#1\relax #2}}
\def\entry#1#2#3#4{\par
\hbox{\topbox{1.75cm}{#1\raggedleft}\kern\colsep
\topbox{\hsize-2\colsep-1.75cm}{{\bf#2}\hfill {\footnotesize#3}\endgraf#4\strut}}
\smallskip
}
\entry
{XXXX}
{Fancy stuff 1}
{Fancy stuff 1}
{Fancy stuff 1}
\entry
{YYYY}
{Fancy stuff 2}
{Fancy stuff 2}
{Fancy stuff 2}
\entry
{ZZZZ}
{Fancy stuff 3}
{Fancy stuff 3}
{Fancy stuff 3}
Respuesta2
Creo que todo lo que necesitas hacer es
cargar el
longtable
paquete y emitir las instrucciones\setlength\LTleft{0pt}
y\setlength\LTright{0pt}
en el preámbulo yreemplazar
\begin{tabular*}{\textwidth}
con\begin{longtable}
y\end{tabular*}
con\end{longtable}
en la definición deentrylist
medio ambiente.
Opcionalmente, puede eliminar la \noindent
directiva al comienzo de la definición del entrylist
entorno.
Consulte la sección 5, titulada "Ajuste", de longtable
la guía del usuario para obtener más información sobre lo que hacen los parámetros de \LTleft
longitud \LTright
.
Respuesta3
Usar longtable
.
\documentclass[a4paper]{article}
\usepackage{longtable,array}
\usepackage{lipsum} % for nonsense text
\usepackage{showframe} % for showing the page boundaries
\newlength{\entrylistwidth}
\setlength{\entrylistwidth}{1.75cm}
\newenvironment{entrylist}{%
\begin{longtable}{
@{}
w{l}{\entrylistwidth}
p{\dimexpr\textwidth-2\tabcolsep-\entrylistwidth}
@{}
}
}{\end{longtable}}
\newcommand{\entry}[4]{%
#1 & \textbf{#2}\hfill{\footnotesize #3\par}#4\\\noalign{\vspace{\parsep}}%
}
\begin{document}
\begin{entrylist}
\entry
{XXXX}
{Fancy stuff 1}
{Fancy stuff 1}
{\lipsum[1][1-3]}
\entry
{YYYY}
{Fancy stuff 2}
{Fancy stuff 2}
{\lipsum[2][1-3]}
\entry
{ZZZZ}
{Fancy stuff 3}
{Fancy stuff 3}
{\lipsum[3][1-3]}
\entry
{ZZZZ}
{Fancy stuff 3}
{Fancy stuff 3}
{\lipsum[3][1-3]}
\entry
{ZZZZ}
{Fancy stuff 3}
{Fancy stuff 3}
{\lipsum[3][1-3]}
\entry
{ZZZZ}
{Fancy stuff 3}
{Fancy stuff 3}
{\lipsum[3][1-3]}
\entry
{ZZZZ}
{Fancy stuff 3}
{Fancy stuff 3}
{\lipsum[3][1-3]}
\entry
{ZZZZ}
{Fancy stuff 3}
{Fancy stuff 3}
{\lipsum[3][1-3]}
\entry
{ZZZZ}
{Fancy stuff 3}
{Fancy stuff 3}
{\lipsum[3][1-3]}
\entry
{ZZZZ}
{Fancy stuff 3}
{Fancy stuff 3}
{\lipsum[3][1-3]}
\entry
{ZZZZ}
{Fancy stuff 3}
{Fancy stuff 3}
{\lipsum[3][1-3]}
\entry
{ZZZZ}
{Fancy stuff 3}
{Fancy stuff 3}
{\lipsum[3][1-3]}
\entry
{ZZZZ}
{Fancy stuff 3}
{Fancy stuff 3}
{\lipsum[3][1-3]}
\entry
{ZZZZ}
{Fancy stuff 3}
{Fancy stuff 3}
{\lipsum[3][1-3]}
\entry
{ZZZZ}
{Fancy stuff 3}
{Fancy stuff 3}
{\lipsum[3][1-3]}
\entry
{ZZZZ}
{Fancy stuff 3}
{Fancy stuff 3}
{\lipsum[3][1-3]}
\entry
{ZZZZ}
{Fancy stuff 3}
{Fancy stuff 3}
{\lipsum[3][1-3]}
\entry
{ZZZZ}
{Fancy stuff 3}
{Fancy stuff 3}
{\lipsum[3][1-3]}
\entry
{ZZZZ}
{Fancy stuff 3}
{Fancy stuff 3}
{\lipsum[3][1-3]}
\entry
{ZZZZ}
{Fancy stuff 3}
{Fancy stuff 3}
{\lipsum[3][1-3]}
\entry
{ZZZZ}
{Fancy stuff 3}
{Fancy stuff 3}
{\lipsum[3][1-3]}
\entry
{ZZZZ}
{Fancy stuff 3}
{Fancy stuff 3}
{\lipsum[3][1-3]}
\entry
{ZZZZ}
{Fancy stuff 3}
{Fancy stuff 3}
{\lipsum[3][1-3]}
\end{entrylist}
\end{document}