2010-09-10 82 views
10

¿Hay alguna forma de tener una tabla en LaTeX que abarque varias páginas en ancho, en lugar de longitud? Por lo que puedo decir, tanto longtable como supertabular romperán las tablas en varias páginas, pero solo al dividir las filas y yo necesito dividirlas entre columnas. Aún mejor sería si fuera posible tener algunas columnas repetidas en cada página.Tablas muy anchas en LaTeX

+7

recomienda mover esta pregunta a http://tex.stackexchange.com/ –

+2

encontrar una solución en [tex.stackexchange.com] [1]. [1]: http://tex.stackexchange.com/questions/93808/column-wise-break-of-extra-wide-tables –

+2

voy a votar para cerrar esta cuestión como fuera de tema porque hay un sitio completo dedicado a esto: [tex.se] (demasiado viejo para migrar). – Werner

Respuesta

0

He estado tirando de mi pelo con este mismo problema de vez en cuando durante una semana. Creo que esto puede no ser del todo posible de una manera no hacky.

Una solución posible es áspero al utilizar el paquete dpfloat: http://www.ctan.org/tex-archive/help/Catalogue/entries/dpfloat.html

Desafortunadamente, estaría creando varias tablas y romper de forma manual, pero al menos el resultado final debe ser bien. Además, esto se verá mucho mejor si abandonas las reglas verticales en tus tablas de acuerdo con la guía de sabios del paquete booktabs (que tendrás que buscar en google porque aparentemente yo, como nuevo usuario, no tengo suficiente reputación para publicar un enlace). al manual de booktabs pdf).

+0

Mucho quiero que lo haga de forma automática, pero quizás tendré que resignarme a hacerlo manualmente. He pensado (como estoy planeando generar el archivo tex con Python) escribir las columnas como filas, rotar cada celda y usar longtable o supertabular, pero eso todavía parece un poco loco y frustrantemente poco elegante. – hoyland

0

estoy utilizando este código no tan agradable y configurado manualmente para dividir una tabla demasiado ancho:

\usepackage{tikz} 

\newsavebox{\boxFinal} 
\begin{lrbox}{\boxFinal} 
    \scalebox{0.6}{ 
    \begin{tabular}{...} 
... 
    \end{tabular} 
    } 
\end{lrbox} 

\begin{table}[htb] 
    \centering 
    \begin{tikzpicture} 
    \clip (0,-\dp\boxFinal) rectangle (0.5\wd\boxFinal,\ht\boxFinal); 
    \pgftext[left,base]{\usebox{\boxFinal}}; 
    \end{tikzpicture} 
    \label{table_test1}\caption{Part 1 of 2.} 
\end{table} 

\begin{table}[htb] 
    \centering 
    \begin{tikzpicture} 
    \clip (0.5\wd\boxFinal,-\dp\boxFinal) rectangle 
     (\wd\boxFinal,\ht\boxFinal); \pgftext[left,base]{\usebox{\boxFinal}}; 
    \end{tikzpicture} 
    \label{table_test2}\caption{Part 2 of 2.} 
\end{table} 

Generalmente hay una necesidad de desplazamientos divididas manualmente correctas. Puede hacer esto sumando o restando de 0.5 \ wd \ boxFinal valor.

La idea fue tomada de http://www.latex-community.org/forum/viewtopic.php?f=5&t=2867

0

Una buena solución sería hacer girar toda la mesa 90 grados en dirección contraria, teniendo así más espacio para ella.

Preámbulo \usepackage{pdflscape}

\newpage 
\thispagestyle{empty} 
\begin{landscape} 
\begin{table} 
... 
\end{table} 
\end{landscape}