2
1

Wenn ich eine schmale Tabelle (oder Abbildung) habe, dann ragt die Beschriftung (so sie denn breiter als die Tabelle ist) über die Tabelle hinaus. Ist die Tabelle mittig zentriert, dann ragt die Beschriftung links und rechts hinaus.

Gibt es Lösungen hierfür, wie sich die Beschriftung auf Tabellenbreite begrenzen lässt? (Bei sehr schmalen Tabellen und sehr langen Beschriftungen macht das sicher kein Sinn und dafür ist meine Frage auch nicht gedacht. Insofern wäre eine Debatte über den Sinn und das Aussehen einer solchen Darstellung nicht erforderlich.)

Open in writeLaTeX
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\begin{document}

\begin{table}[htb]
\centering
\caption{Die Beschriftung dieser Tabelle ist sehr lang! Sie ist so lang, dass sie breiter als die Tabelle selbst ist.}
\begin{tabular}{lll}\hline
ABC & XYZ & Foo \\
XYZ & ABC & Foo \\ \hline
\end{tabular}
\end{table}

\end{document}

gefragt 27 Aug '14, 10:42

Andr%C3%A9's gravatar image

André
93151833
Akzeptiert: 77%


Unter anderem genau dafür gibt es das Paket threeparttable:

Open in writeLaTeX
\documentclass[captions=tableabove]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{threeparttable}
\begin{document}

\begin{table}[htb]
\begin{threeparttable}
\caption{Die Beschriftung dieser Tabelle ist sehr lang! Sie ist so lang, dass sie breiter als die Tabelle selbst ist.}
\begin{tabular}{lll}\hline
ABC & XYZ & Foo \\
XYZ & ABC & Foo \\ \hline
\end{tabular}
\end{threeparttable}
\end{table}

\end{document}

Für Abbildungen bietet das Paket ebenfalls eine Umgebung. Siehe dazu die Anleitung zum Paket.

Wenn man mit Tabellenüberschriften arbeitet, sollte man diese übrigens mit Hilfe von caption=tableabove (siehe oben) oder \captionabove statt \caption auch entsprechend formatieren.

Im Beispiel ist es übrigens nicht vorteilhaft, dass die Tabellenüberschrift mit hängendem Einzug gesetzt wird. Auch das kann man bei der KOMA-Script-Klasse scrartcl (mit \setcapindent) ändern. Ebenso könnte man bei KOMA-Script im Beispiel captionbeside statt threeparttable verwenden und den Tabellentitel neben die Tabelle statt über sie setzen. Siehe zu all dem die KOMA-Script-Anleitung oder das KOMA-Script-Buch.

Permanenter link

beantwortet 27 Aug '14, 11:14

Ijon%20Tichy's gravatar image

Ijon Tichy
4.4k618

bearbeitet 12 Okt '14, 05:49

Eine weitere Möglichkeit ist die Nutzung des Paketes ctable

Open in writeLaTeX
\documentclass[captions=tableheading]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage{ragged2e}
\addtokomafont{caption}{\RaggedRight}
\usepackage{ctable}

\begin{document}
{%
  \setcapindent{0pt}%
  \ctable[
      caption={Die Beschriftung dieser Tabelle ist sehr lang!
        Sie ist so lang, dass sie breiter als die Tabelle selbst ist.},
      pos=htb
    ]{lll}{}{%
      \hline
      ABC & XYZ & Foo \\
      XYZ & ABC & Foo \\ \hline
    }
}

\end{document}

Mit der Option figure für den Befehl \ctable lässt sich dieser auch für Abbildungen nutzen. Weitere Optionen gibt es u.a. für die Positionierung der Beschriftung unterhalb oder neben der Tabelle/Abbildung.

Permanenter link

beantwortet 11 Okt '14, 20:13

esdd's gravatar image

esdd
14.2k53251

bearbeitet 11 Okt '14, 20:14

Und nebenbei hat @esdd auch gleich noch verraten, wie man den hängenden Einzug der Beschriftung bei KOMA-Script abschaltet …

(12 Okt '14, 05:48) Ijon Tichy

Hiermit kannst Du die lange Überschrift von der Caption trennen und ohne ein weiteres Paket in die Tabelle einfügen und von Hand anpassen.

Open in writeLaTeX
    \documentclass{scrartcl}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage[ngerman]{babel}
    \begin{document}
    \begin{table}[htb]
    \centering
    \caption{}
    \begin{tabular}{lll}
    \multicolumn{3}{p{3cm}}{Die Beschriftung dieser Tabelle ist sehr %HIER
    lang! Sie ist so lang, dass sie breiter als die Tabelle selbst ist.}\\
    \hline
    ABC & XYZ & Foo \\
    XYZ & ABC & Foo \\ \hline
    \end{tabular}
    \end{table} 
    \end{document}
Permanenter link

beantwortet 08 Okt '14, 15:16

ctansearch's gravatar image

ctansearch
(inaktiv)

Hier eine kleine Spielerei, wie man Beschriftungen an einer Tabelle auch gestalten kann.

Open in writeLaTeX
    \documentclass{article}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage[ngerman]{babel}
\usepackage{longtable,graphicx}
    \begin{document}
TextText TextText TextText TextText TextText TextText TextText TextText
TextText TextText TextText TextText TextText TextText 
\centering
\begin{longtable}{p{3cm}}\caption{Das ist die ganze Tabelle}\\
\begin{picture}(0,0)
\put(140,-10){\rotatebox{40}{\vtop{\hsize=4cm\textsl{Das ist die viel zu lange Tabellenüberschrift, die
      in einer Box untergebracht wird, so daß man sie beliebig platzieren
      kann. Sie kann so lang sein wie die Tabelle, oder auch länger, man muß
      sie dann entsprechend einrichten.}}}}
\put(-100,-20){\rotatebox{0}{\vtop{\hsize=2cm\textsl{\small Das ist die viel zu
        lange Tabellenüberschrift, die in einer Box untergebracht wird.}}}}
\end{picture}
\begin{tabular}{lll}
   \hline
    ABC & XYZ & Foo \\
    XYZ & ABC & Foo \\ 
 XYZ & ABC & Foo \\ 
 XYZ & ABC & Foo \\ 
 XYZ & ABC & Foo \\ \hline
    \end{tabular}\\
\filbreak
 \end{longtable}
Text TextText TextText TextText TextText TextText TextText TextText TextText TextText TextText TextText TextText TextText TextText TextText TextText TextText TextText TextText TextText TextText TextText TextText TextText TextText 
\listoftables
    \end{document}
Permanenter link

beantwortet 09 Okt '14, 08:23

ctansearch's gravatar image

ctansearch
(inaktiv)

bearbeitet 09 Okt '14, 08:25

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×185
×44
×32
×8

Frage gestellt: 27 Aug '14, 10:42

Frage wurde angeschaut: 4,118 Mal

Zuletzt aktualisiert: 12 Okt '14, 05:49