PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zweispaltige Longtable



Gulaschkanone
08-08-2011, 17:11
Hallo,
ich habe folgendes Problem: Ich muss in den Anhang meiner Arbeit eine Messwertetabelle mit rund 500 Zeilen aber nur 5 schmalen Spalten aufnehmen. Damit der Anhang nicht so unendlich dick wird dachte ich mir, dass ich die Tabelle Deshalb doch am besten zweispaltig machen könnte, also so dass wenn die Tabelle in der linken Textspalte den unteren Rand erreicht hat in der rechten Textspalte weitergeht. Und da das Ganze auch noch über mehr als eine Seite geht brauche ich ja sicherlich die Longtableumgebung. Wenn ich nun aber die Longtable in den \multicol oder \twocolum-Befehl setzte funktioniert dies nicht.

Hier zuerst mein Beispiel für multicol:


\documentclass[11pt,a4paper]{report}
\usepackage{ longtable, multicol, tabularx }
\begin{document}
\begin{multicols}{2}
\begin{longtable}{r|r|r}
ganz & viel & Inhalt
\end{longtable}
\end{multicols}
\end{document}

Dabei kommt der Fehler: Package longtable Error: longtable not in 1-column mode.

Und nun für twocolum:


\documentclass[11pt,a4paper]{report}
\usepackage{ longtable, multicol, tabularx }
\begin{document}
\twocolumn
\begin{longtable}{r|r|r}
ganz & viel & Inhalt
\end{longtable}
\end{document}

Als Fehlermeldung wieder dasselbe: Package longtable Error: longtable not in 1-column mode.

Scheinbar kann man also eine longtable nicht zweispaltig setzten. Gibt es dafür eine andere Variante, außer eine zweispaltige Tabelle und dann darin die Messwerttabelle, wobei man dann eben das Tabellenende manuell festlegen muss?

edico
08-08-2011, 19:32
... kann man also eine longtable nicht zweispaltig setz[t]en


Richtig. Schau dir z.B. das supertabular package an.

edico

Gulaschkanone
08-08-2011, 21:54
Vielen Dank für den Hinweis auf Supertabular, jetzt funktioniert es schon mal mit der Tabelle in zwei Spalten. Allerdings habe ich noch ein Problem:

Wenn ich die zweispaltige Seite mit \twocolumn beginne funktioniert die Tabelle in zwei Spalten einwandfrei. Da ich über den zweispaltigen Teil aber noch Kapitel- und Abschnittsüberschrift machen muss, kann ich nur \begin{multicol}{2} verwenden. Wenn ich diesen Befehl verwende beginnt die Tabelle zwar in der linken Spalte unter den Kapitelüberschriften, wird dann aber nicht in der rechten Spalte fortgesetzt, sondern auf der nächsten Seite.

Gulaschkanone
09-08-2011, 21:24
Weiß keiner eine Antwort?

Hier noch das Minimalbeispiel dazu, welches ein unbefriedigendes Ergebnis bringt:


\documentclass[11pt,a4paper]{report}
\usepackage{booktabs, caption, longtable, multicol, supertabular, tabularx}
\begin{document}
\begin{appendix}
\chapter{Meßwerttabellen}
\section{Experiment 1}
Wie die Werte in Tabelle \ref{V1} zeigen...
\twocolumn
\tablecaption{Messwerte Versuch 1}
\label{V1}
\begin{supertabular}{r|r|r}
x&z&y\\
\midrule
0&0&-102,279025\\
1& 0,01745329&-110,752248\\
\end{supertabular}
\end{appendix}
\end{document}

Wenn man nun mehr Werte in die Tabelle eintragen würde, wird die Tabelle sehr schön zweispaltig angeordnet. Mich stört nun aber der Seitenumbruch, denn eigentlich soll die Tabelle unter der Abschnittsüberschrift und dem kurzen Text direkt beginnen.
Wenn ich die Tabelle nun über begin{multicols}{2} zweispaltig setzten will, beginnt sie zwar unterhalb meiner Überschriften, ist aber nicht mehr zweispaltig. Auch hierfür ein Minimalbeispiel mit einer Tabellenzeile:


\documentclass[11pt,a4paper]{report}
\usepackage{booktabs, caption, longtable, multicol, supertabular, tabularx}
\begin{document}
\begin{appendix}
\chapter{Meßwerttabellen}
\section{Experiment 1}
Wie die Werte in Tabelle \ref{V1} zeigen...
\begin{multicols}{2}
\label{V1}
\begin{supertabular}{r|r|r}
x&z&y\\
\midrule
0& 0& -102,279025 \\
\end{supertabular}
\end{multicols}
\end{appendix}
\end{document}

Ich hoffe nun kann mir jemand helfen.

ctansearch
09-08-2011, 22:55
Ich glaube nicht, daß das geht. Habe viel ausprobiert.
Entweder nimmst Du die vorige Lössung und setzt Appendix, Chapter und Section in das \twocolumn, machst also einen zweispaltigen Appendix nur für diese Tabelle,
oder Du füllst den leeren Raum mit ein paar wichtigen Erläuterungen. Beispielsweise eine Legende zur Tabelle oder ähnliches.

Im Zweifel würde ich einer gutgesetzten Tabelle den Vorrang geben vor dem Anschluss an die Überschriften.

cookie170
10-08-2011, 14:41
Eine zweispaltige Tabelle mit supertabular und multicol geht wohl wirklich nicht, siehe beispielsweise auch hier:

http://tex.stackexchange.com/questions/23488/making-a-long-table-continue-over-two-columns

Man könnte jetzt natürlich anfangen zu basteln. Wenn beispielsweise die ersten zehn Zeilen deiner Tabelle leer sind, könnte man die Abschnittsüberschrift in die Tabelle hinein schreiben und für die notwendige Verlängerung ins Inhaltsverzeichnis manuell Sorge tragen.oder man versucht, Überschriften und Text in links-rechts-Boxen zu verpacken. Überhaupt: man könnte einmal mit verschiedenen Arten von Absatzboxen experimentieren.

Aber in meinen Augen lohnt diese Mühe nicht. Da bastelt man stundenlang, nur um eine dreiviertel Seite Platz zu sparen. Weshalb soll es nicht völlig legitim sein, eine ganz normale Überschrift zu schreiben, danach den Text und an dessen Schluss der Hinweis dass die Tabelle mit soundsoviel 100 Messwerten auf Seiten XX bis YY abgedruckt ist.

Gruß,
Alexander

rais
10-08-2011, 16:27
Afair versteht \twocolumn einen optionalen Parameter, der -- so verwendet -- noch im einspaltigen Modus ausgegeben wird.
Auf diesem Teil kann ich das nicht testen...

MfG

Gulaschkanone
10-08-2011, 16:55
ok, ich glaube ich mache es jetzt mit \begin{multicolumn}{2} auf ner neuen Seite und mach auf die Seite mit der Überschrift ein paar Fotos/Skizzen von dem Versuch.

Trotzdem Danke für eure Mühen.

u_fischer
11-08-2011, 12:52
Der Hinweis auf das optionale Argument ist schon ein Versuch wert. Allerdings nicht mit report, das aus Gründen, den ich jetzt nicht nachgehen will, ein Floats lost-Fehler erzeugt:


\documentclass[11pt,a4paper]{scrreprt}
\usepackage{booktabs, caption, longtable, multicol, supertabular, tabularx}
\begin{document}
\chapter{Blub}
\appendix
\twocolumn[\chapter{Meßwerttabellen}
\section{Experiment 1}]
Wie die Werte in Tabelle \ref{V1} zeigen...

\tablecaption{Messwerte Versuch 1}
\label{V1}
\begin{supertabular}{r|r|r}
x&z&y\\
\midrule
0&0&-102,279025\\
1& 0,01745329&-110,752248\\
\end{supertabular}
\end{document}

cookie170
11-08-2011, 14:58
ziemlich genial. Wir können also die gestellte Frage dank Deines Beispiels beantworten, wie folgt:


\documentclass[11pt,a4paper]{scrreprt}
\usepackage{booktabs, caption, longtable, multicol, supertabular, tabularx}
\begin{document}
\chapter{Blub}
\appendix
\twocolumn[\chapter{Meßwerttabellen}
\section{Experiment 1}\par Wie die Werte in Tabelle \ref{V1} zeigen,
irrt der Mensch, solange er strebt. Die Gewissheiten und neuen
wissenschaftlichen Erkenntnisse von heute sind die Irrtümer von morgen.]


\tablecaption{Messwerte Versuch 1}
\label{V1}
\begin{supertabular}{r|r|r}
x&z&y\\
\midrule
0&0&-102,279025\\
1& 0,01745329&-110,752248\\
\end{supertabular}
\end{document}

So geht's. Ich kriege auch unter einem aktuellen texlive 2011 keine Fehlermeldung. Wie gut, dass sich Rainer an das optionale Argument von \twocolumn erinnert hat.

Gruß,

Alexander

Gulaschkanone
11-08-2011, 20:30
ich konnte es zwar jetzt auf die schnelle noch nicht testen ob es funktioniert, bedanke mich aber herzlich bei allen, die mitgeholfen haben das scheinbar unmögliche doch zu schaffen...