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é |
Unter anderem genau dafür gibt es das Paket 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 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 beantwortet 27 Aug '14, 17:14 gast3 |
Eine weitere Möglichkeit ist die Nutzung des Paketes 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 beantwortet 12 Okt '14, 02:13 esdd |
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} beantwortet 08 Okt '14, 21:16 ctansearch |
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} beantwortet 09 Okt '14, 14:23 ctansearch |