Seite 1 von 2
Tabellüberschrift statt Tabellenunterschrift (Minibeispiel)
Verfasst: Mi 8. Mai 2013, 18:35
von V00d00
Hallo,
ich habe wieder ein kleines Problem mit den Tabellen in Latex.
Da ich grade an einer Belegarbeit arbeite und diese auch zur Bewertung bald vorlegen werde, brauche ich Tabellenüberschriften (sind in der DIN 1505 genormt).
% Erklärung der Bewertungspunkte
\begin{longtable}{ | c | c | c | c | }
\hline
\textbf{PZ} & \textbf{Beurteilung} & \textbf{WI} & \textbf{Bedeutung}\\
\hline
0 & unbefriedigend & 1 & gering \\
1 & mangelhaft & 2 & mittel \\
2 & befriedigend & 3 & groß\\
3 & gut & - & - \\
4 & sehr gut & - & - \\
\hline
\caption{Erklärung der Bewertungspunkte}
\label{tbl:Bewertungspunkte}
\end{longtable}
Nun möchte ich gerne das der CAPTION über der Tabelle linksbündig angezeigt wird. Ich hab das Caption auch über \begin{longtable} gesetzt, jedoch ohne Erfolg. Bekomme beim Kompilieren eine Fehlermeldung angezeigt.
Folgende Packages benutze ich in meinem Beleg für Tabelle:
\usepackage{longtable}
\usepackage{array}
\usepackage{ragged2e}
\usepackage{lscape}
\usepackage{tabularx}
Ich habe auch schon \captionabove probiert, der Befehl funktioniert ebenfalls nicht

Verfasst: Mi 8. Mai 2013, 20:00
von Besserwisser
\caption und \captionabove funktionieren nur in Gleitumgebungen (siehe auch die
KOMA-Script-Anleitung). Bei longtable macht man \caption einfach dort, wo man es haben will
in der longtable. Siehe dazu die Anleitung zum Paket. Alternativ könnte man natürlich auch \captionaboveof (siehe auch dazu die
KOMA-Script-Anleitung) davor verwenden, aber dann hat man keine Wiederholung auf den Folgeseiten der Tabelle. Falls die Tabelle natürlich nicht länger als eine Seite ist, dann sollte man sie besser mit tabular statt longtable setzen.
Übrigens: Vertikale Linien sind in Tabellen extrem störend. In Anlehnung an Dein Beispiel würde ich sogar sagen: Tabellen sind damit mangelhaft bis unbefriedigend.
Ansonsten gehört zu einer guten Frage immer ein
vollständiges Minimalbeispiel und im Falle von Fehlern die Fehlermeldung. Falls Dir also obiger Hinweis nicht genügt, aber wirklich auch nur dann, solltest Du das beachten. Dieser Hinweis steht übrigens auch in den
wichtigen Hinweisen und Vorabhilfen für dieses Unterforum und im
kleinen goLaTeX-Knigge. Auf beide wurde heute schon hingewiesen …

Verfasst: Do 23. Mai 2013, 19:14
von V00d00
\documentclass[
fleqn,
11pt, % Schriftgröße
DIV10,
numbers=noenddot, %Kapitelüberschrift ohne nachfolgenden Punkt
ngerman, % für Umlaute, Silbentrennung etc.
a4paper, % Papierformat
oneside, % einseitiges Dokument
titlepage, % es wird eine Titelseite verwendet
parskip=half, % Abstand zwischen Absätzen (halbe Zeile)
headings=normal, % Größe der Überschriften verkleinern
listof=totoc, % Verzeichnisse im Inhaltsverzeichnis aufführen
bibliography=totoc, % Literaturverzeichnis im Inhaltsverzeichnis aufführen
index=totoc, % Index im Inhaltsverzeichnis aufführen
captions=tableheading, % Beschriftung von Tabellen unterhalb ausgeben
draft % Status des Dokuments (final/draft)
]{scrreprt}
\input{Meta}
\input{Packages}
\input{Seitenstil}
\include{Befehle}
\begin{document}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
\pagenumbering{Roman}
\clearpage
\pagenumbering{arabic}
\chapter{Einleitung}
Ich möchte gerne, dass die Tabelle eine TabellenÜBERSCHRIFT bekommt.
\begin{longtable}{ | c | c | c | c | }
\hline
\textbf{PZ} & \textbf{Beurteilung} & \textbf{WI} & \textbf{Bedeutung}\\
\hline
0 & unbefriedigend & 1 & gering \\
1 & mangelhaft & 2 & mittel \\
2 & befriedigend & 3 & groß\\
3 & gut & - & - \\
4 & sehr gut & - & - \\
\hline
\caption{Erklärung der Bewertungspunkte}
\label{tbl:Bewertungspunkte}
\end{longtable}
\end{document}
Hier das derzeitige Ergebnis
Wenn ich den Caption Befehl nach oben IN meiner Tabelle verschiebe bekomme ich folgende Fehlermeldung
(/usr/local/texlive/2012/texmf-dist/tex/latex/lm/t1lmss.fd)
! Misplaced \noalign.
\hline ->\noalign
{\ifnum 0=`}\fi \penalty \@M \futurelet \@let@token \LT@@h...
l.35 \hline
?
Den Befehl captions=tableheading habe ich ebenfalls schon auskommentiert der bringt leider nix irgendwie.
Verfasst: Do 23. Mai 2013, 19:36
von Johannes_B
Bei longtable macht man \caption einfach dort, wo man es haben will in der longtable. Siehe dazu die Anleitung zum Paket.
\documentclass{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{longtable}
\usepackage{booktabs}
\begin{document}
\chapter{Einleitung}
Ich möchte gerne, dass die Tabelle eine TabellenÜBERSCHRIFT bekommt.
\begin{longtable}{cccc}
\caption{Erklärung der Bewertungspunkte \label{tbl:Bewertungspunkte}}\\
\toprule
\textbf{PZ} & \textbf{Beurteilung} & \textbf{WI} & \textbf{Bedeutung}\\
\midrule
0 & unbefriedigend & 1 & gering \\
1 & mangelhaft & 2 & mittel \\
2 & befriedigend & 3 & groß\\
3 & gut & - & - \\
4 & sehr gut & - & - \\
\bottomrule
\end{longtable}
\end{document}
Und alles nur durch Lesen der Paketdoku ...
So schwer isses doch nicht. <- Bitte nicht falsch verstehen.
EDIT: Mal so zur Info, niemand kennt alle Befehle auswendig, is ja unmöglich. Ich hab zum Beispiel noch nie wirklich mit longtables zu tun gehabt, also hab ich die Doku aufgemacht.
texdoc kennst du ja nun schon.
Die meisten Paketdokus sind recht gut geschrieben, und im Regelfall findet man die Lösung recht schnell.
Verfasst: Do 23. Mai 2013, 20:11
von V00d00
Das Packet \usepackage{booktabs} hat mein Problem gelöst.
Konnte dann die captions in der Tabelle unter das \begin{longtable}{ccc} verschieben.
DANKE!
Verfasst: Do 23. Mai 2013, 20:12
von Besserwisser
BTW: captions=tableheading bringt bei normalen Tabellen, also innerhalb von table-Umgebungen sehr wohl etwas. Allerdings zaubert die Option nicht etwa die \caption-Anweisung an eine andere Stelle, sondern verändert die Formatierung. Und genau das steht auch ausdrücklich in der der
KOMA-Script-Anleitung:
KOMA-Script-Anleitung hat geschrieben:Es sei an dieser Stelle darauf hingewiesen, dass die beiden Werte [Anm: captions=tableheading und caption=tablesignature] lediglich die Formatierung ändern. Der Ort, an dem die Über- oder Unterschrift gesetzt wird, hängt bei den Gleitumgebungen von KOMA-Script allein vom Ort ab, an dem die Anweisung \caption verwendet wird.
Knapp darüber steht übrigens auch noch ein unscheinbarer aber wichtiger Hinweis:
KOMA-Script-Anleitung hat geschrieben:Es sei an dieser Stelle darauf hingewiesen, dass mehrseitige Tabellen nicht als Gleitumgebungen gesetzt werden können. Für den automatischen Seitenumbruch von Tabellen werden außerdem Zusatzpakete wie longtable (siehe [Car04]) oder tabu (siehe [Che11]) benötigt.
Fazit:
Lesen bildet!
BTW: Wenn Deine Tabelle so klein ist, wie im Beispiel, solltest Du sie nicht mit longtable, sondern besser als tabular setzen. Idealer Weise packst Du dann die tabular auch noch in eine table-Umgebung. Alles weitere dazu ist einer guten LaTeX-Einführung und
zusätzlich in der bereits oben verlinkten KOMA-Script-Anleitung zu entnehmen. Siehe auch
Wichtige Netzdokumente im Wiki.
PS: Ja, mir ist bekannt, dass man Hervorhebungen besser weniger aufdringlich kursiv machen sollte. Aber manchmal …
Verfasst: Do 23. Mai 2013, 20:15
von Besserwisser
booktabs hat mit der Frage, ob \caption eine Tabellenunter- oder -überschrift wird, rein gar nichts zu tun! Das Paket stellt lediglich Linien und Abstände für Tabellen bereit. Siehe auch hierzu wieder die Anleitung – dieses Mal die Anleitung zum Paket booktabs. Wie Du die bekommst? Musst Du nicht raten, solltest Du inzwischen
wissen!
Verfasst: Do 23. Mai 2013, 20:17
von Johannes_B
V00d00 hat geschrieben:Das Packet \usepackage{booktabs} hat mein Problem gelöst.
Booktabs macht nur die Linien, an booktabs lag es also nicht.
Hör auch auf Besserwisser, das lohnt sich.
Verfasst: Do 23. Mai 2013, 20:21
von V00d00
Ich habe das \usepackage{booktabs} mal auskommentiert und ihr habt recht die Tabellenüberschriften gehen trotzdem.
Es könnte evtl. daran liegen das die \\ gefehlt haben als ich die caption und label nach oben verschoben habe, weil als die beiden unten standen benötigte ich die \\ nicht.
\caption{Erklärung der Bewertungspunkte
\label{tbl:Bewertungspunkte}} \\
Verfasst: Do 23. Mai 2013, 20:29
von Johannes_B
Die \\ schließen eine Tabellenzeile ab, die letzte müsstest du eigentlich nicht abschließen, TeX merkt, dass die Tabelle endet, damit muss ja auch die Zeile enden.
Trotzdem solltest du auch die letzte Zeile einer Tabelle immer mit \\ abschließen, ist einfach eine Sache der Kontinuität.