Ich habe die folgende Tabelle unten und möchte den Text in jeder Spalte umbrechen, damit die Tabelle die Seitenbreite nicht überschreitet. Ich habe mehrere Lösungen ausprobiert, aber sie scheinen die Tabelle zu verkleinern.
Können Sie mir bitte einen Rat geben? Ich habe meinen Code und einen Screenshot beigefügt, wie die Ausgabe derzeit aussieht.
Danke!
\documentclass[a4paper,11pt]{article}
\usepackage{tabulary}
\usepackage{adjustbox}
\usepackage{booktabs}
\usepackage{pdflscape,afterpage,booktabs,caption}
\begin{document}
\begin{landscape}% Landscape page
\begin{table}[ht]
\caption{Table test - contents of table exceeds page width}
\setlength\tabcolsep{3pt}
\centering
\small
% your table
\hspace*{-18mm}%
\begin{tabular}{cccc}
\hline\hline
Column 1&Column 2&Column 3\\ [0.5ex]
\hline
Item 1&item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1&item 1, item 1, item 1, item 1, item 1,item 1 ,item 1 ,item 1 ,item 1 ,item 1 ,item 1&item 1, item 1, item 1, item 1\\
Item 1&item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1&item 1, item 1, item 1, item 1, item 1,item 1 ,item 1 ,item 1 ,item 1 ,item 1 ,item 1&item 1, item 1, item 1, item 1\\
Item 1&item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1&item 1, item 1, item 1, item 1, item 1,item 1 ,item 1 ,item 1 ,item 1 ,item 1 ,item 1&item 1, item 1, item 1, item 1\\
Item 1&item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1&item 1, item 1, item 1, item 1, item 1,item 1 ,item 1 ,item 1 ,item 1 ,item 1 ,item 1&item 1, item 1, item 1, item 1\\
\hline
\end{tabular}%
\hspace*{-12mm}%
\label{table:comparison of techniques}
\end{table}
\end{landscape}
\end{document}
Antwort1
Sie könnten den p{}
Spaltenspezifizierer verwenden, mit dem Sie die Breite der Spalte explizit festlegen können. Und da Sie das booktabs
Paket bereits laden (sogar zweimal!), sollten Sie es eigentlich verwenden:
\documentclass[a4paper,11pt]{article}
\usepackage{tabulary}
\usepackage{adjustbox}
\usepackage{booktabs}
\usepackage{pdflscape,afterpage,caption}
\begin{document}
\begin{landscape}% Landscape page
\begin{table}[ht]
\caption{Table test -- contents of table exceeds page width}
\setlength\tabcolsep{3pt}
\centering
\small
% your table
\hspace*{-18mm}%
\begin{tabular}{ l p{60mm} p{60mm} p{60mm} }
\toprule
Column 1&Column 2&Column 3&Column 4\\ [0.5ex]
\midrule
Item 1&item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1&item 1, item 1, item 1, item 1, item 1,item 1 ,item 1 ,item 1 ,item 1 ,item 1 ,item 1&item 1, item 1, item 1, item 1\\
Item 1&item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1&item 1, item 1, item 1, item 1, item 1,item 1 ,item 1 ,item 1 ,item 1 ,item 1 ,item 1&item 1, item 1, item 1, item 1\\
Item 1&item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1&item 1, item 1, item 1, item 1, item 1,item 1 ,item 1 ,item 1 ,item 1 ,item 1 ,item 1&item 1, item 1, item 1, item 1\\
Item 1&item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1&item 1, item 1, item 1, item 1, item 1,item 1 ,item 1 ,item 1 ,item 1 ,item 1 ,item 1&item 1, item 1, item 1, item 1\\
\bottomrule
\end{tabular}%
\hspace*{-12mm}%
\label{table:comparison of techniques}
\end{table}
\end{landscape}
\end{document}
Antwort2
Einige Verbesserungen, durch tabularx
die die Tabelle genau die Textbreite einer Querformatseite hat und der Abstand zwischen den Zeilen etwas größer ist:
\documentclass[a4paper,11pt]{article}
\usepackage{tabularx}
\usepackage{booktabs,caption, makecell}
\usepackage{pdflscape,afterpage}
\renewcommand{\theadfont}{\normalsize\bfseries}
\begin{document}
\begin{landscape}% Landscape page
\begin{table}[ht]
\caption{Table test - contents of table exceeds page width}
\centering
\small
\begin{tabularx}{\linewidth}{@{}l*{3}{>{\arraybackslash}X}}
\toprule\midrule[0.5pt]
& \thead{Column 1} & \thead{Column 2} & \thead{Column 3} \\
\midrule
Item 1 & item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1 & item 1, item 1, item 1, item 1, item 1,item 1, item 1, item 1, item 1, item 1, item 1 & item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1 \\
\addlinespace
Item 1 & item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1 & item 1, item 1, item 1, item 1, item 1,item 1, item 1, item 1, item 1, item 1, item 1 & item 1, item 1, item 1, item 1 \\
\addlinespace
Item 1 & item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1 & item 1, item 1, item 1, item 1, item 1,item 1, item 1, item 1, item 1, item 1, item 1 & item 1, item 1, item 1, item 1 \\
\addlinespace
Item 1 & item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1 & item 1, item 1, item 1, item 1, item 1,item 1, item 1, item 1, item 1, item 1, item 1 & item 1, item 1, item 1, item 1 \\
\bottomrule
\end{tabularx}%
\hspace*{-12mm}%
\label{table:comparison of techniques}
\end{table}
\end{landscape}
\end{document}
Antwort3
Da Sie bereits laden, tabulary
möchten Sie möglicherweise die flexible Spaltenbreite nutzen, um eine Tabelle zu erstellen, die die gesamte Textblockhöhe nutzt:
\documentclass[a4paper,11pt]{article}
\usepackage{tabulary}
\usepackage{adjustbox}
\usepackage{booktabs}
\usepackage{pdflscape,afterpage,caption}
\begin{document}
\begin{landscape}% Landscape page
\begin{table}[ht]
\caption{Table test - contents of table exceeds page width}
\setlength\tabcolsep{3pt}
\centering
\small
% your table
\hspace*{-18mm}%
\begin{tabulary}{\linewidth}{cCCC}
\toprule
Column 1&Column 2&Column 3\\ [0.5ex]
\midrule
Item 1&item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1&item 1, item 1, item 1, item 1, item 1,item 1 ,item 1 ,item 1 ,item 1 ,item 1 ,item 1&item 1, item 1, item 1, item 1\\
Item 1&item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1&item 1, item 1, item 1, item 1, item 1,item 1 ,item 1 ,item 1 ,item 1 ,item 1 ,item 1&item 1, item 1, item 1, item 1\\
Item 1&item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1&item 1, item 1, item 1, item 1, item 1,item 1 ,item 1 ,item 1 ,item 1 ,item 1 ,item 1&item 1, item 1, item 1, item 1\\
Item 1&item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1, item 1&item 1, item 1, item 1, item 1, item 1,item 1 ,item 1 ,item 1 ,item 1 ,item 1 ,item 1&item 1, item 1, item 1, item 1\\
\bottomrule
\end{tabulary}%
\hspace*{-12mm}%
\label{table:comparison of techniques}
\end{table}
\end{landscape}
\end{document}