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, 16:42

Andr%C3%A9's gravatar image

André
986262836
Akzeptiert-Rate: 33%


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, 17:14

gast3's gravatar image

gast3
(ausgesetzt)
Akzeptiert-Rate: 53%

bearbeitet 12 Okt '14, 11: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 12 Okt '14, 02:13

esdd's gravatar image

esdd
17.8k284257
Akzeptiert-Rate: 62%

bearbeitet 12 Okt '14, 02:14

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

(12 Okt '14, 11:48) gast3

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, 21:16

ctansearch's gravatar image

ctansearch
(ausgesetzt)
Akzeptiert-Rate: 18%

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, 14:23

ctansearch's gravatar image

ctansearch
(ausgesetzt)
Akzeptiert-Rate: 18%

bearbeitet 09 Okt '14, 14:25

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×256
×50
×46
×9

gestellte Frage: 27 Aug '14, 16:42

Frage wurde gesehen: 18,879 Mal

zuletzt geändert: 12 Okt '14, 11:49