PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Variable Spaltenbreite in Longtable



eifeltroll
17-06-2012, 16:42
Hallo zusammen,

ich habe eine Tabelle mit insg. 19 Spalten, von denen 18 aufgrund von Inhalt und Ausrichtung sehr schmal sein werden. Nur die erste Spalte ist deutlich breiter und soll variabel in der Breite sein, so dass die Tabelle insgesamt die Breite \textwidth bekommt. Gleichzeitig soll der Text in Spalte 1 ggf. umgebrochen und linksbündig ausgerichtet werden. Das ganze wäre recht einfach zu lösen (tabularx \textwidth Xcc...), wenn die Tabelle nicht über mindestens zwei Seiten gehen würde. Zur Verdeutlichung habe ich mal ein MB erstellt, in dem beide Varianten vorkommen.

\documentclass[11pt]{article}
\usepackage[a4paper,top=3.2cm,bottom=3cm,left=4cm,right=1.5cm]{geometry}
\usepackage[T1]{fontenc}
\usepackage{setspace} \onehalfspacing
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{longtable}
\usepackage{tabularx}
\usepackage{booktabs}

\begin{document}

\begin{longtable}{l|cccccccccccccccccc}
Spalte 1&&&&&&&&&&&&&&&&\\
\hline
Eine sehr sehr sehr sehr lange Variable&&&&&&&&&&&&&1&&&1\\
\hline
Eine lange Variable&&&1&&&&1&&&&&&&&&\\
\hline
\textbf{SUMME}&25&25&19&22&25.5&12&&&&&&&13&1&4&5\\
\caption{Mit Longtable}
\end{longtable}

\begin{table}
\begin{tabularx}{\textwidth}{X|cccccccccccccccccc}
Spalte 1&&&&&&&&&&&&&&&&\\
\hline
Eine sehr sehr sehr sehr lange Variable&&&&&&&&&&&&&1&&&1\\
\hline
Eine lange Variable&&&1&&&&1&&&&&&&&&\\
\hline
\textbf{SUMME}&25&25&19&22&25.5&12&&&&&&&13&1&4&5\\
\end{tabularx}
\caption{Mit Tabularx}
\end{table}

\end{document}

Ich hätte also gerne das Verhalten der Tabularx Tabelle bei meiner Longtable.

Wenn ich dann noch einen Tipp bekomme, wie ich bei sich evtl. ergebenden 2-zeiligen Einträgen eine vertikale Zentrierung erreiche (z.B. die zwei "einsen" rechst oben runterrücke), dann wäre ich überglücklich. :)
Vielen Dank.
Gruß
Eifeltroll

bobmalaria
18-06-2012, 10:10
hi,

das tabu paket kann mit seiner longtabu umgebung tabularx und longtable kombinieren.

schaue dir die doku an

texdoc tabu

in der konsole

gruss

Festus
18-06-2012, 11:53
Oder du benutzt ltxtable, das longtable und tabularx kombiniert.

eifeltroll
24-06-2012, 12:24
Hallo zusammen,
danke für die Tipps. Habe mir die Doku mal angeschaut, bisher aber noch keine Gelegenheit gehabt es anzuwenden (hört sich aber perfekt an). Sollte noch eine Frage hochkommen, dann melde ich mich nochmal. :-)
Gruß

ctansearch
24-06-2012, 13:15
Vorschlag



\documentclass[a4paper,10pt]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{array,longtable}
\newlength\colwidth
\newcounter{spalten}
\begin{document}
Text
\setcounter{spalten}{18}
\colwidth=0.01\textwidth
\begin{longtable}{p{\thespalten\colwidth}
|p{\colwidth}p{\colwidth}p{\colwidth}p{\colwidth}p {\colwidth}p{\colwidth}p{\colwidth}p{\colwidth}p{\ colwidth}p{\colwidth}p{\colwidth}p{\colwidth}p{\co lwidth}p{\colwidth}p{\colwidth}p{\colwidth}p{\colw idth}}
\centering 1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18 \endhead
\hline \hline \\

Eine sehr sehr sehr sehr lange Variable
&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18\\
\hline \\
Eine lange Variable&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18\\
\hline \\
\textbf{SUMME}&4&6&8&10&12&14&16&18&20&22&24&26&28&30&32&34&36\\
\\ \caption{Mit Longtable} \\
\end{longtable}

Text
\end{document}

eifeltroll
24-09-2012, 17:19
Nachdem einige Zeit vergangen ist und ich das Thema ans Ende meiner Arbeit verbannt hatte, hier noch eine kurze Rückmeldung. Mit ein paar kleinen Änderungen in Bezug auf den Stil ist es wonach ich gesucht habe. Danke & Gruß Eifeltroll