PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ltxtable und landscape



Chrihsssih
29-03-2007, 14:54
Hallo!

Ich bin gerade am Verzweifeln, bei dem Versuch eine Tabelle zu erstellen. Die Tabelle enthält eine relativ lange Zeitreihe, die nicht auf eine Seite im Querformat passt. Also müsste ich longtable benutzen. Das Problem ist aber, dass LaTeX die Tabelle nicht umbricht, sondern einfach bis zum Seitenrand schreibt. Was kann man da machen?

Minimalbeispiel:
\documentclass{scrbook}

\usepackage{float}
\restylefloat{table}
\usepackage{booktabs}
\usepackage{longtable}


\begin{document}
\begin{landscape}
\begin{small}
\begin{table}
\begin{longtable}{m{3cm}rrrrrrrrrrrrrrrrr}
\toprule
{\bf } & {\bf 1972} & {\bf 1973} & {\bf 1974} & {\bf 1975} & {\bf 1976} & {\bf 1977} & {\bf 1978} & {\bf 1979} & {\bf 1980} & {\bf 1981} & {\bf 1982} & {\bf 1983} & {\bf 1984} & {\bf 1985} & {\bf 1986} & {\bf 1987} & {\bf 1988} \\
\midrule
\addlinespace[7pt]
Zeile 1 & 2 & 3 & 7 & 7 & 1 & 0 & 4 & 0 & 0 & 0 & 0 & 1 & 3 & 2 & 1 & 1 & 4 \\
\addlinespace[7pt]
Zeile 2 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 &0 & 2 & 0 & 0 & 1 \\
\addlinespace[7pt]
Zeile 3 & 0 &0 & 1 &0 & 2 & 1 & 1 & 0 & 0 & 0 & 1 & 0 & 8 & 1 & 3 & 4 & 1 \\
\addlinespace[7pt]
Zeile 4 & 0 &1 & 4 & 2 & 0 & 1 & 3 & 1 & 0 & 1 & 1 & 3 & 13 & 3 & 0 & 8 & 4 \\
\addlinespace[7pt]
Zeile 5 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 2 & 1 & 2 \\
\addlinespace[7pt]
Zeile 6 & 0 & 0 & 2 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\
\addlinespace[7pt]
Zeile 7& 0 & 0 & 1 & 0 & 0 & 1 & 0 & 3 & 0 & 1 & 0 & 1 & 2 & 0 & 0 & 2 & 0 \\
\addlinespace[7pt]
Zeile 8 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 0 & 0 & 1 & 0 & 1 & 2 \\
\addlinespace[7pt]
Zeile 9 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
\addlinespace[7pt]
\midrule
\addlinespace[7pt]
Gesamtzahl der Artikel & 2 & 6 & 13 & 8 & 4 & 3 & 5 & 4 & 0 & 6 & 3 & 5 & 23 & 10 & 8 & 15 & 13 \\
\addlinespace[7pt]
\bottomrule
\end{longtable}
\caption{Tabelle}
\label{Tabelle}
\end{table}
\end{small}
\end{landscape}
\end{document}

Ich habe auch schon versucht, das ltxtable-Paket zu verwenden. Dazu habe ich den Teil ab \begin{longtable} bis \end{longtable} in ein eigenes Dokument gepackt und dieses mit \LTXtable{\textheight}{Tab.tex} eingebunden, was allerdings zu unzähligen Fehlermeldungen geführt hat.

Hat jemand Hilfe? Ich bin am Verzweifeln!

Chrissi

sommerfee
29-03-2007, 15:08
Hallo Chrissi,


Also müsste ich longtable benutzen. Das Problem ist aber, dass LaTeX die Tabelle nicht umbricht, sondern einfach bis zum Seitenrand schreibt.

Die longtable kann in deinem Fall nicht korrekt umbrechen, weil du sie in eine table-Umgebung gezwängt hast, welche nicht über eine Seite hinausgehen kann. Laß einfach die table-Umgebung weg (und packe \caption und \label in die longtable), dann sollte es klappen.

Noch eine zusätzlicher Hinweis dazu:



\usepackage{float}
\restylefloat{table}

Wenn du dies tust, um den [H]-Parameter bei "table" verwenden zu können, laß bitte das \restylefloat{table} weg. Leider steht in einigen Dokumentationen fälschlicherweise drin, daß dies dafür vonnöten ist, tatsächlich macht es aber nur ggf. Ärger, insbesondere in Verbindung mit anderen Paketen.

Liebe Grüße,
Axel

Chrihsssih
29-03-2007, 15:13
Hallo!

Vielen Dank für die schnelle Antwort. Wenn ich die table-Umgebung weglasse und caption und label in die longtable-Umgebung setze, ändert sich leider auch nichts. Ich befürchte, ich habe irgendetwas am Gebrauch des longtable-Pakets total missverstanden...

edit: Und gleich noch eine Frage hinterher: Falls es denn dann irgendwann mal funktionieren sollte, wie kriege ich es dann hin, dass meine erste Spalte auf der zweiten Seite wiederholt wird? In der longtable-Doku finde ich nur Befehle für wiederholte Zeilen.

Chrissi

sommerfee
29-03-2007, 15:24
Ich befürchte, ich habe irgendetwas am Gebrauch des longtable-Pakets total missverstanden...

Ich habe mir gerade deinen Originalbeitrag nochmal durchgelesen und du scheinst recht zu haben. longtable kann lediglich einen Seitenumbruch zwischen den Zeilen, keinen Umbruch zwischen den Spalten.

Liebe Grüße,
Axel

Chrihsssih
29-03-2007, 15:30
Das ist natürlich eine Erklärung... Gibt es ein Paket, dass einen Umbruch zwischen den Spalten machen kann?

voss
29-03-2007, 15:35
Das ist natürlich eine Erklärung... Gibt es ein Paket, dass einen Umbruch zwischen den Spalten machen kann?

nein, das geht nur mit Mauscheln, indem man sich eine Zeile ausguct und die
zum Blucksatz zwingt und danach einen Tabellen-Zeilenumbruch macht.

Herbert

Chrihsssih
29-03-2007, 16:20
Das ist ja mal richtig bescheuert!!!

Ich hab´s jetzt gemacht und es funktioniert auch, aber nervig ist es trotzdem. Ich versteh das nicht so ganz, ich bin bestimmt nicht der einzige, der so etwas braucht...

voss
29-03-2007, 17:02
Das ist ja mal richtig bescheuert!!!

Ich hab´s jetzt gemacht und es funktioniert auch, aber nervig ist es trotzdem. Ich versteh das nicht so ganz, ich bin bestimmt nicht der einzige, der so etwas braucht...

und jetzt suchst du einen Idioten, der seine Zeit für dich opfert???

Herbert

Chrihsssih
29-03-2007, 17:42
Ich suche gar keinen Idioten, ich bin einfach nur verwundert, dass es dafür noch kein Paket gibt, da ja normalerweise für so ziemlich jedes, wenn auch noch so ungewöhnliche Problem ein Paket existiert. Ich bin leider in LaTeX selbst nicht so bewandert, dass ich ein solches Paket schreiben könnte, aber falls ich jemals ein solch professioneller TeXer werde, wird das das erste Paket sein, das ich schreibe!

MasterOfPuppets
29-03-2007, 21:42
und jetzt suchst du einen Idioten, der seine Zeit für dich opfert???

Wenn es einer schriebe, wäre es eher ein Paket für alle Nutzer.

Wenn man sich die Ergebnisse erbastelt, dann ist das doppelt so schön! :)