Hallo allerseits,
Ich habe das Problem, dass bestimmte Tabellen, wie die, die ich hier zitieren werde, über die Textbreite hinausgehen, obwohl ich die Optionen \textwidth mit tabulary verwende.
Die Tabelle hat den folgenden Code:
\usepackage{tabulary}
\usepackage{tabularx}
\begin{table}[htbp]
\centering
\caption{Categorization of cantons}
\scriptsize
\begin{tabulary}{\textwidth}{|L|L|L|L|L|}
\hline
\multicolumn{1}{|c|}{\textbf{Central Switzerland (C)}} & \multicolumn{1}{c|}{\textbf{High Alps (HA)}} & \multicolumn{1}{c|}{\textbf{Northeast Switzerland (NE)}} & \multicolumn{1}{c|}{\textbf{Northwest Switzerland (NW)}} & \multicolumn{1}{c|}{\textbf{West Switzerland (W)}} \bigstrut\\
\hline
Lucerne (LU) & Grisons (GR) & Glarus (GL) & Zurich (ZH) & Fribourg (FR) \bigstrut[t]\\
Central Switzerland (C) & Tessin (TI) & Schaffhausen (SH) & Solothurn (SO) & Vaud (VD) \\
& Valais (VS) & Appenzell (AP) & Basel-Stadt (BS) & Neuchâtel (NE) \\
& & St. Gallen (SG) & Basel-Land (BL) & Geneva (GE) \\
& & Thurgau (TG) & Aargau (AG) & \bigstrut[b]\\
\hline
\end{tabulary}%
\vspace{5pt}
\captionsetup{font={scriptsize}}
\caption*{Source: Eidgenössischer Turnverein (1869), p. 67-69, own illustration}
\label{tab:addlabel}%
\end{table}%
Hier ist ein Bild der Tabelle:
Wie kann ich die Breite der Tabelle automatisch an die Textbreite anpassen? Mir macht es nichts aus, wenn die erste Zeile (also Zentralschweiz, Hochalpen usw.) auf zwei Zeilen gequetscht werden müsste, solange die Tabelle dadurch in die Textbreite passt. Gibt es einen Befehl, der das schafft und den ich problemlos für zukünftige Tabellen verwenden kann?
Vielen Dank für deine Hilfe!
Antwort1
L
Bitte posten Sie immer vollständige Dokumente, die alle verwendeten Pakete zeigen. Ihr Code enthielt mehrere Befehle, die von den Paketen nicht definiert wurden, also habe ich sie hier gelöscht. Das Hauptproblem war, dass Sie den Spezifizierer überschrieben haben, c
der keinen Zeilenumbruch zulässt, sodass alle Einträge zu breit waren.
\documentclass[a4paper]{article}
\usepackage{tabulary}
\begin{document}
\begin{table}[htbp]
\centering
\caption{Categorization of cantons}
\scriptsize
\begin{tabulary}{\textwidth}{|L|L|L|L|L|}
\hline
\centering\textbf{Central Switzerland (C)} &
\centering\textbf{High Alps (HA)} &
\centering\textbf{Northeast Switzerland (NE)} &
\centering\textbf{Northwest Switzerland (NW)} &
\centering\textbf{West Switzerland (W)}\tabularnewline
\hline
Lucerne (LU) & Grisons (GR) & Glarus (GL) & Zurich (ZH) & Fribourg (FR) \\
Central Switzerland (C) & Tessin (TI) & Schaffhausen (SH) & Solothurn (SO) & Vaud (VD) \\
& Valais (VS) & Appenzell (AP) & Basel-Stadt (BS) & Neuchâtel (NE) \\
& & St. Gallen (SG) & Basel-Land (BL) & Geneva (GE) \\
& & Thurgau (TG) & Aargau (AG) & \\
\hline
\end{tabulary}%
\vspace{5pt}
% \captionsetup{font={scriptsize}}
\caption{Source: Eidgenössischer Turnverein (1869), p. 67-69, own illustration}
\label{tab:addlabel}%
\end{table}%
\end{document}
Antwort2
Wenn Sie alle Spalten gleich breit haben und die maximale Breite Ihres Textes nutzen möchten, gehen Sie folgendermaßen vor tabularx
:
% arara: pdflatex
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[english]{babel}
\usepackage{caption}
\usepackage{booktabs, tabularx, threeparttable}
\usepackage{ragged2e, array}
\newcolumntype{Z}{>{\raggedright\arraybackslash}X}
\usepackage{microtype}
\begin{document}
\begin{table}[htbp]
\centering
\begin{threeparttable}
\caption{Categorization of cantons}
\begin{tabularx}{\textwidth}{*{5}{Z}}
\toprule
\textbf{Central Switzerland~(C)} &\textbf{High Alps~(HA)} & \textbf{Northeast Switzerland~(NE)} & \textbf{Northwest Switzerland~(NW)} & \textbf{West Switzerland~(W)} \\
\midrule
Lucerne~(LU) & Grisons~(GR) & Glarus~(GL) & Zurich~(ZH) & Fribourg~(FR) \\
Central Switzerland~(C) & Tessin~(TI) & Schaff\-hau\-sen~(SH) & So\-lo\-thurn~(SO) & Vaud~(VD) \\
& Valais (VS) & Appen\-zell~(AP) & Basel-Stadt (BS) & Neu\-châ\-tel~(NE) \\
& & St.~Gal\-len~(SG) & Basel-Land (BL) & Geneva~(GE) \\
& & Thurgau~(TG) & Aargau~(AG) & \\
\bottomrule
\end{tabularx}
\begin{tablenotes}
\item Source: Eidgenössischer Turnverein (1869), p.~67-69, own illustration
\end{tablenotes}
\end{threeparttable}
\label{tab:addlabel}%
\end{table}%
\end{document}