PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : longtable in Latex



Andreas Ratje
12-04-2010, 13:14
Moin Moin!
Versuche gerade verzweifelt eine longtable in Latex zu erstellen. Das funktioniert auch ganz gut. Aber ab einer Zeilenzahl von 21 gehen die Format-Einstellungen durcheinander. Folgend ein Minimal-Beispiel. Wäre super, wenn mir jemand helfen könnte.

\documentclass [twoside,openright,10pt,a4paper]
\usepackage[latin1]{inputenc}
\usepackage[ngerman,american]{babel}
\usepackage[square,numbers]{natbib}
\usepackage[fleqn]{amsmath}
\usepackage{tabularx}
\usepackage{longtable}

\begin{document}
\begin{longtable}{p{4cm}lr}
\setlength\LTleft{0pt}
\setlength\LTright{\fill}
&Test1&Test2\\
\endfirsthead
&Test1&Test2\\
&&\\
\endhead
&&\\
\multicolumn{3}{c}{Fortsetzung nächste Seite}
\endfoot
\endlastfood
&&\\
1&2&3\\
\end{longtable}

Freu mich über jede Hilfe.

Andreas

voss
12-04-2010, 13:20
Versuche gerade verzweifelt eine longtable in Latex zu erstellen. Das funktioniert auch ganz gut. Aber ab einer Zeilenzahl von 21 gehen die Format-Einstellungen durcheinander. Folgend ein Minimal-Beispiel. Wäre super, wenn mir jemand helfen könnte.


mach das Beispiel erstmal lauffähig und dann dann erkläre mal
die Aussage "Format-Einstellungen durcheinander". Und dein Beispiel
sollte dann dazu auch was zeigen ...

Herbert

bobmalaria
12-04-2010, 13:27
kompiliere auchmehrmals bevor du dir den output anschaust.

gruss

Andreas Ratje
12-04-2010, 13:56
Hallo,

hier mal meine gesamte Tabelle. Das Problem ist, daß ab Zeile 21 die Kopfzeile verschoben ist. Also die Zeilt, in der Substanz und Menge stehen sollen. Hoffe, die Tabelle ist so lauffähig. Weiß leider nicht, welche Angaben da sonst noch fehlen.

\documentclass[ twoside,openright,titlepage,fleqn,pointlessnumbers ,headinclude,%1headlines,%
10pt,a4paper,BCOR5mm,footinclude,cleardoubleempty, abstractoff % <--- obsolete, remove (todo)
]{scrreprt}
\usepackage[latin1]{inputenc}
\usepackage[ngerman,american]{babel}
\usepackage[square,numbers]{natbib}
\usepackage[fleqn]{amsmath} % math environments and more by the AMS
\usepackage{tabularx}
\usepackage{longtable}
\usepackage[section]{placeins}
\begin{document}
\begin{longtable}{p{4cm}lr}
\setlength\LTleft{0pt}
\setlength\LTright{\fill}
&Substanz&Menge\\
\endfirsthead
&Substanz&Menge\\
&&\\
\endhead
&&\\
\multicolumn{3}{c}{Fortsetzung nächste Seite}
\endfoot
\endlastfoot
&&\\
&Kalilauge [5\,M]&bis pH\,7,6\\ \kill
{\underline{AV-Puffer}}&HEPES-KOH [1\,M, pH\,7,6]&1,0\,mL\\
&MgCl$_2$ [1\,M]&0,3\,mL\\
&NH$_4$Cl$_2$ [2\,M]&15,825\,mL\\
&$\beta$-Mercaptoethanol [14,3\,M]&18,5$\mu$L\\
&RNasefreies Wasser&zu 50,0\,mL\\
&&\\
{\underline{Lysis-Puffer}}&Tris [1\,M, pH\,8,2]&1,0\,mL\\
&KCl [2\,M]&2,5\,mL\\
&MgCl$_2$ [1\,M]&0,3\,mL\\
&Sucrose&8,0\,g\\
&RNasefreies Wasser&zu 50,0\,mL\\
&&\\
{\underline{Lysozym-Stammlösung}}&Lysozym&50,0\,mg\\
&Tris [10\,mM, pH\,8,0]&1,0\,mL\\
&&\\
{\underline{10\%ige Sucrose}}&10xTico&5,0\,mL\\
&Sucrose&5,0\,g\\
&$\beta$-Mercaptoethanol [14,3\,M]&13,95\,$\mu$L\\
&RNasefreies Wasser&zu 50,0\,mL\\
%ab der nächsten Zeile wird die Tabelllenüberschrift verschoben
&&\\
{\underline{30\%ige Sucrose}}&10xTico&0,5\,mL\\
&Sucrose&15,0\,g\\
&$\beta$-Mercaptoethanol [14,3\,M]&13,95\,$\mu$L\\
&RNasefreies Wasser&zu 50,0\,mL\\
&&\\
&&\\
{\underline{20\%iger Sucrose-Puffer}}&HEPES-KOH [1\,M, pH\,7,6]&1,0\,mL\\
&MgCL$_2$ [1\,M]&300,0\,$\mu$L\\
&NH$_4$Cl [2\,M]&12,5\,mL\\
&Sucrose&10,0\,g\\
&$\beta$-Mercaptoethanol [14,3\,M]&18,5\,$\mu$L\\
&RNasefreies Wasser&zu 50,0\,mL\\
&&\\
{\underline{10xTico}}&HEPES-KOH [1\,M, pH\,7,6]&10,0\,mL\\
&Mg(OAc)$_2$ [1\,M]&3,0\,mL\\
&NH$_4$Cl [2\,M]&7,5\,mL\\
&RNasefreies Wasser&zu 50,0\,mL\\
&&\\
{\underline{1xTico}}&10xTico&5,0\,mL\\
&$\beta$-Mercaptoethanol [14,3\,M]&13,95\,$\mu$L\\
&RNasefreies Wasser&zu 50,0\,mL\\
&&\\
{\underline{Tris [10\,mM, pH\,8,0]}}&Tris [1\,M, pH\,8,0, (Ambion)]&100,0\,$\mu$L\\
&RNasefreies Wasser&zu 10,0\,mL\\
\end{longtable}
\end{document}

Mehrmals kompilieren hat leider auch nichts gebracht.

Curryhunter
12-04-2010, 14:16
Hallo,
also bei mir läuft Dein Code problemlos durch (habe allerdings natbib auskommentiert) und zeigt auch keine Verschiebung irgendwelcher Zeilen.
Zeile 21 ist ja auch mitten in der Tabelle, wie soll dort was verschoben sein?!
Kannst ja mal nen Screenshot von Dir hochladen, vielleicht wird dann klar was Du meinst.

Grüße
Stefan

P.S.: Nutze bitte die Code-Umgebung im Forum, macht es leichter!

Andreas Ratje
12-04-2010, 14:30
Habe mal zwei Screenshots angehängt. Die Qualität ist wahrscheinlich bescheiden, aber ich denke, die verschobenen Zeilen sind zu erkennen.

Andreas

Andreas Ratje
12-04-2010, 14:30
Noch eine Frage. Was ist eine Code-Umgebung? Bin Neuling in Latex!

voss
12-04-2010, 14:40
Habe mal zwei Screenshots angehängt. Die Qualität ist wahrscheinlich bescheiden, aber ich denke, die verschobenen Zeilen sind zu erkennen.


longtable braucht _mindestens_ zwei LaTeX-Durchläufe, bevor es
eine Tabelle korrekt setzen kann.

Herbert

Andreas Ratje
12-04-2010, 14:57
Habe es jetzt mit mehreren Latex-Läufen probiert. Bringt leider nichts.

u_fischer
12-04-2010, 15:07
Deinen Screenshots nach sieht es so aus, als hättest du einfach den Spaltentrenner & vergessen. Außerdem zeigen deine Screenshots Zwischenüberschriften, die in deinem Beispielcode nicht zu sehen sind. Daher habe ich starke Zweifel, dass dein Beispielcode ein wirkliches Beispiel ist. Hast du genau den Code, den du hier kopiert hast, wirklich ausprobiert?

Schweinebacke
12-04-2010, 15:15
Bei mir gibt es keine Verschiebung, sondern sieht bereits mir Deinem Beispiel einwandfrei aus. Allerdings würde ich die beiden Längen nicht im Tabellenkopf setzen, sondern ggf. gleich die longtable-Option l verwenden, also die Tabelle so beginnen:
\begin{longtable}[l]{p{4cm}lr}
&Substanz&Menge\\
\endfirsthead
&Substanz&Menge\\
&&\\
\endhead
Das optionale Argument von longtable ist in der Anleitung zu longtable zu dokumentiert.

Schweinebacke
12-04-2010, 15:22
Noch eine Frage. Was ist eine Code-Umgebung? Bin Neuling in Latex!
Das hat nichts mit LaTeX-Sondern mit dem Forum zu tun. Näheres zum Code-Tag findest Du hier: http://www.mrunix.de/forums/misc.php?do=bbcode#code

Andreas Ratje
12-04-2010, 15:39
Hallo Ulrike,
ich habe exakt meine Tabelle als Beispiel und aus dem Master-Dokument die zu ladenden Pakete einfach über die Tabelle kopiert. Wahrscheinlich steckt der Fehler im kleinsten Detail. Kann mir eigentlich nicht denken, daß ich einen Spaltentrenner & vergessen habe, da QuickBuild sonst gar nicht durchläuft. Ich such mal weiter!

u_fischer
12-04-2010, 15:48
ich habe exakt meine Tabelle als Beispiel und aus dem Master-Dokument die zu ladenden Pakete einfach über die Tabelle kopiert.

Ich habe dich nicht gefragt, ob du die Tabelle kopiert hast, sondern ob du
den Code, den du hier gepostet hast, tatsächlich getestet hast. Glaubst du nur, dass er den Fehler zeigt, oder weißt du es?

Wenn er tatsächlich den Fehler zeigt: hänge die entstandene zweiseitige pdf-Datei und die dazugehörige log-Datei an.

Andreas Ratje
12-04-2010, 16:17
Ich habe jetzt mal meine Tabellen in ein neues Dokument kopiert und durchlaufen lassen. Die Tabellen sind jetzt so, wie ich sie haben wollte, mit nur einer kleinen Ausnahme. Ich habe mehrere longtable Umgebungen hintereinander, die unterschiedliche Spaltenbreiten haben. Das stört mich schon ein wenig. In der tabularx Umgebung, kann ich die Spaltenbreite festlegen. Kann ich das in der longtable Umgebung auch? Und kann es sein, daß mein ursprüngliches Problem (Spaltenversatz innerhalb einer Tabelle) vom Masterskript herrührt? Ich verwende die classicthesis Vorlage. Ist da vielleicht ein Fehler drin? Oder ist es besser, gar nicht eine solche Vorlage einzusetzen? Gibt es vielleicht bessere?

Legion
12-04-2010, 16:18
So ... auch bei mir keine Fehler, alles tutti ;) Aber vielleicht ein paar kleine Anmerkungen:

1.) Da du die Tabelle ja nicht als solche kenntlich machst (Beschriftung + Nummerierung) würde ich "Fortsetzung nächste Seite" streichen, weil es ja logisch ist, dass es auf der nächsten Seite weitergeht.

2.) Kann ich dir
\usepackage[normalem]{ulem} empfehlen. Momentan ist der Abstand deiner Unterstreichungen nicht gleichmäßig (AV-Puffer vs. Lysis-Puffer). Ersetzte nach dem Einbinden \underline durch \uline.

Andreas Ratje
13-04-2010, 12:10
Hi Legion!
Vielen Dank für den Tip mit \uline. Sieht wirklich viel besser aus. Dankeschön!