Sie sind hier

Tabellen hängend setzen

Hallo KOMA-Script-User,

wie kann ich Tabellen in der Table-Umgebung hängend setzen, so dass die Caption und der linke Tabellenrand bündig sind? Je nach Bedarf soll die Tabelle bis zum rechten Rand reichen, jedoch immer links bündig sein.

Vielen Dank,
Martin

Bild von Markus Kohm

Die Tabelle selbst sollte in der Voreinstellung linksbündig gesetzt werden. Damit einzeilige Tabellentitel (\caption) ebenfalls linksbündig gesetzt werden, verwendet man Option captions=nooneline. Näheres zu Option captions ist in der KOMA-Script-Anleitung, scrguide.pdf, zu erfahren. Dort sind auch weitere Einstellungen für \caption zu finden.

Tabellen und Tabellentitel linksbündig zu setzen wäre eine Lösung. Ich möchte dagegen den Titel so belassen (hängend) und die Tabelle linksbündig zum Tabellentitel setzen.

"Minimalbeispiel", das die erwünschte Ausrichtung von Tabellentitel zu Inhalt im Output zeigt:

\documentclass{scrartcl}
\begin{document}
Table 1. 
\parbox[t][10cm][l]{0.85\textwidth}{Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
 
Erste Zelle \quad Zweite Zelle \quad Dritte Zelle \quad Vierte Zelle}
\end{document}
Bild von Markus Kohm

Lies die Option, die ich Dir genannt habe, nach und probiere sie aus. Linksbündige Platzierung des Tabellentitels und hängende Formatierung desselben schließen sich nicht aus, sondern ergänzen sich ggf.

Ich gehe mal davon aus, dass Dein Code keine Tabelle zeigt, wie Du sie wirklich setzt, sondern Du schon table und \caption (oder ohne table \captionof) verwendest.

Der Fokus ist auf der Tabelle. Diese soll "hängend" gesetzt werden. Alle im scrguide beschriebenen Optionen beziehen sich auf den Tabellentitel. Um das gewünschte Verhalten zu emulieren habe ich das oben genannte "Minimalbeispiel" erstellt.

NOTE: Die "Tabelle" befindet sich in meinem "Minimalbeispiel" in der parbox, wird also mit eingerückt. Die Tabelle soll nicht linksbündig, sondern mit dem Titel links bündig sein. Und zwar in beiden Fällen:

  • sowohl bei einzeiligen Tabellentiteln, die per default zentriert werden,
  • als auch bei mehrzeiligen Tabellentiteln, die per default hängend gesetzt werden.
Bild von Markus Kohm

Das geht wird aufwändig. Schon bei den mehrzeiligen Tabellentiteln hat man nach dem Tabellentitel keine Information darüber mehr, wo der Titel beginnt bzw. wie breit der Label-Teil war. Man müsste das also nachträglich wieder zusammenfummeln:

\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\newlength{\ausmessen}
\begin{document}
\begin{table}
\captionabove{\blindtext}
\settowidth{\ausmessen}{\normalfont\usekomafont{caption}{\strut{%
      \usekomafont{captionlabel}{\tableformat\captionformat}}}}
\hspace*{\ausmessen}\begin{tabular}{@{}llll@{}}
Das & ist & eine & Tabelle \\
\end{tabular}
\end{table}
\end{document}

Wobei hier Dinge wie die Möglichkeit, Ränder für den Titel vorzugeben, noch gar nicht berücksichtigt sind.

Für den Fall einer einzeiligen, zentrierten Überschrift wird es noch komplizierter, da man hier auch noch die Breite der Überschrift selbst kennen muss, um die entsprechende Einrückung zu erreichen. Ich würde bei einer derartigen Formatierung aber ohnehin dringend davon abraten, einzeilige Überschriften zu zentrieren. Wenn die Überschriften schmaler als die Tabellen sind, kommt man dabei rasch in Teufels Küche. Außerdem wirkt es nicht gut, wenn weniger die Breite der Tabelle als vielmehr die Formatierung der Überschrift die Position der Tabelle bestimmt.

Abweichend von obiger Lösung, würde ich sogar noch eine andere vorschlagen:

\documentclass[captions=nooneline]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\setkomafont{captionlabel}{\bfseries}
\newlength{\captionlabelwidth}
\settowidth{\captionlabelwidth}{6em}
\renewcommand*{\tableformat}{%
  \makebox[\captionlabelwidth][l]{%
    \tablename~\thetable\autodot\captionformat}\let\captionformat\empty
}
\begin{document}
\begin{table}
\captionabove{\blindtext}
\hspace*{\captionlabelwidth}\begin{tabular}{@{}llll@{}}
Das & ist & eine & Tabelle \\
\end{tabular}
\end{table}
\end{document}

Der Unterschied liegt darin, dass die Einrückung von links immer gleich ist. Dafür gibt es nur einen beschränkten Platz für die Tabellennummern. Wenn der Platz nicht genügt, muss man \captionlabelwidth entsprechend größer wählen.

Comments for "Tabellen hängend setzen" abonnieren