Tabelle von table-Format in longtable-Format überführen

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Tabelle von table-Format in longtable-Format überführen

von shardur » Mi 23. Mai 2018, 14:13

Super, vielen Dank! Jetzt funktioniert es!

von esdd » Mi 23. Mai 2018, 14:03

Entferne das [h!] hinter der Spaltendefinition der longtable und vielleicht auch gleich noch die Leerzeilen innerhalb der Tabelle.

Damit der Abstand der Tabellenbeschriftung zur Tabelle stimmt, kannst Du \captionabove statt \caption verwenden. Wenn alle Tabellen im Dokument Überschriften haben, dann brauchst Du auch \caption lassen und statt dessen die Option captions=tableheading setzen.

von shardur » Mi 23. Mai 2018, 13:52

Danke schon einmal für die erste Hilfe! Habe das threeparttablex package jetzt genutzt und dann eben \begin{ThreePartTable} genutzt und habe nach dem label noch ein "\\" hinzugefügt. Der Fehler bleibt jedoch der gleiche wie vorher auch.

Achja und ich hatte vor das zweite Minimalbsp geschrieben, dass ich die gleichen packages wie im ersten nutze um ein wenig Platz zu sparen. Habe sie jetzt aber auch einfach hinzugefügt.

Off-Topic: Veraltete Optionen

von Gast » Mi 23. Mai 2018, 13:10

Option pointlessnumbers sollte übrigens eine Warnung erzeugen. Lies diese in der log-Datei nach und handle entsprechend.

Option DIV=last unmittelbar nach \documentclass per \KOMAoptions zu setzen, schadet zwar nicht, nützt in der Regel aber auch nichts. Option BCOR=1cm könnte man auch gleich bei \documentclass mit angeben. Sinnvoller wäre übrigens ein \recalctypearea (oder das Verschieben von \KOMAoptions{DIV=last,BCOR=1cm}) irgendwo zwischen \usepackage{mathptmx} und \begin{document}. Näheres dazu ist der KOMA-Script-nleitung oder dem [url=htp://ww.dante.de/index/Literatur/KOMA-Script.html]KOMA-Script-Buch[/url] zu entnehmen.

von Gast » Mi 23. Mai 2018, 13:05

threeparttable ist nicht für die Verwendung mit longtable vorgesehen. Es gibt aber threeparttablex. Siehe dessen Anleitung. Außerdem ist bei longtable zu beachten, dass die Tabellenzeile mit der \caption-Anweisung ebenfalls mit \\ oder \tabularnewline zu beenden ist. Siehe dazu die Erklärung zu \caption in der Anleitung und das Beispiel in Abschnitt 8 der Anleitung. Leerzeilen=Absätze in Tabellencode sollte man übrigens eher meiden. LaTeX ist da zwar meist tolerant, es kann aber je nach verwendeten Paketen auch schief gehen. Dasselbe gilt übrigens für in abgesetzten Formeln.

Da Dein zweites Beispiel leider kein Minimalbeispiel, sondern nur ein Codeschnipsel ist, kann ich mehr dazu nicht sagen.tex

Tabelle von table-Format in longtable-Format überführen

von shardur » Mi 23. Mai 2018, 12:21

Hallo zusammen,

Ich habe folgendes Problem:
Eine Tabelle muss bei mir über mehrere Seiten gehen - ich hatte bisher alle meine Tabellen mit dem table-Format erstellt, jetzt aber gelesen, dass man das longtable-format nehmen soll um Tabellen über mehrere Seiten zu erstellen. Ich bin gerade am Verzweifeln meine Tabelle in das longtable-Format zu überführen - ich erhalte andauernd Fehler, die mir aber nicht wirklich weiterhelfen.

Hier meine ursprüngliche Tabelle als Minimalbsp (Natürlich ist in der Originaltabelle mehr Inhalt)
\documentclass[a4paper,12pt,oneside,pointlessnumbers,headsepline,
chapteratlists=0pt,listof=flat,captions=figureheading]{scrbook}
\KOMAoptions{DIV=last,BCOR=1cm}

\pagestyle{headings}
\usepackage[english]{babel}
\usepackage{mathptmx}
\usepackage[scaled]{helvet}
\usepackage{courier}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

% Tables
\usepackage{longtable}        
\usepackage{multirow}        
\usepackage{booktabs}
\usepackage{threeparttable}
% Align table
\usepackage{siunitx}
\sisetup{table-text-alignment = center,table-align-exponent = false}

\begin{document}

\setlength{\tabcolsep}{3mm}
\begin{table}[h!]
\centering
  \caption{Irgendein Titel}
\begin{threeparttable}
\begin{tabular}{c l c c c S[table-format = -1.4] S[table-format = -1.4]}
\toprule

\multicolumn{1}{c}{\text{Text}} & \multicolumn{1}{c}{\text{Text}} & \multicolumn{1}{c}{\text{Text1}} & \multicolumn{1}{c}{\text{Text2}} & \multicolumn{1}{c}{\text{Text3}} & \multicolumn{1}{c}{\text{Text}} & \multicolumn{1}{c}{\text{Text}}  \\  \midrule
 1 & \text{Text} & 1234 & 4567 & 8910 & 0,4785 & -0,1236 \\
   & \text{Text} & 01/45 & 02/45 & 03/45 &  &  \\
  \midrule
\multicolumn{4}{l}{\textbf{Text}} & & -0.247& -0.587\\
\multicolumn{4}{l}{\textbf{Text}} & & 0.123& 0.345
  \end{tabular}
  \begin{tablenotes}
  \item Irgendein Text
  \end{tablenotes}
  \end{threeparttable}
  \label{Table:bla}
\end{table}

\end{document}
Ich habe versucht die Tabelle wie folgt umzuschreiben (mit den gleichen packages)
\documentclass[a4paper,12pt,oneside,pointlessnumbers,headsepline,
chapteratlists=0pt,listof=flat,captions=figureheading]{scrbook}
\KOMAoptions{DIV=last,BCOR=1cm}

\pagestyle{headings}
\usepackage[english]{babel}
\usepackage{mathptmx}
\usepackage[scaled]{helvet}
\usepackage{courier}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

% Tables
\usepackage{longtable}        
\usepackage{multirow}        
\usepackage{booktabs}
\usepackage{threeparttable}
% Align table
\usepackage{siunitx}
\sisetup{table-text-alignment = center,table-align-exponent = false}

\begin{document}

\setlength{\tabcolsep}{3mm}
\begin{threeparttable}
\begin{tablenotes}
\item Irgendeine Text
\end{tablenotes}
\begin{longtable}{c l c c c S[table-format = -1.4] S[table-format = -1.4]}[h!]

\caption{Irgendein Titel}
\label{Table:bla}

\hline
\multicolumn{1}{c}{\text{Text}} & \multicolumn{1}{c}{\text{Text}} & \multicolumn{1}{c}{\text{Text1}} & \multicolumn{1}{c}{\text{Text2}} & \multicolumn{1}{c}{\text{Text3}} & \multicolumn{1}{c}{\text{Text}} & \multicolumn{1}{c}{\text{Text}}  \\ 

\hline
\endfirsthead % Die Ueberschrift soll nur auf der ersten Seite angezeigt werden
\multicolumn{4}{c}%
{\tablename\ \thetable\ -- \textit{Continued from previous page}} \\
\hline
\hline
\endhead
\hline \multicolumn{4}{r}{\textit{Continued on next page}} \\
\endfoot
\hline
\endlastfoot
 1 & \text{Text} & 1234 & 4567 & 8910 & 0,4785 & -0,1236 \\
   & \text{Text} & 01/45 & 02/45 & 03/45 &  &  \\ 
\midrule
\multicolumn{4}{l}{\textbf{Text}} & & -0.247& -0.587\\
\multicolumn{4}{l}{\textbf{Text}} & & 0.123& 0.345

\end{longtable}
\end{threeparttable}

\end{document}
Mir wird dann ein Fehler ("! Misplaced \noalign.") bei der caption angezeigt - aber an sich sollte die caption ja so passen. Wenn ich die caption auskommentiere, dann wandert der Fehler zur nächsten comand-Zeile.

Ich hoffe, ich habe das Ganze nicht zu unübersichtlich gestaltet. Vielen Dank aber schon einmal für die Hilfe!

Nach oben