我用来\rotatebox
创建带有垂直标题的表格,如下所示:
\documentclass{article}
\usepackage{rotating}
\begin{document}
\begin{table}
\begin{tabular}{|l|l|l|}
\hline
\rotatebox{90}{Header 1} &
\rotatebox{90}{Header 2} &
\rotatebox{90}{Header 3}\\
\hline
Content & Content & Content\\
\hline
\end{tabular}
\end{table}
\end{document}
现在,我的标题太长了(而且无法以有意义的方式缩写)。我想将标题分成两行。但是,我似乎无法让其与\linebreak
或配合使用\\
,因此显然需要一些技巧。
帮助?
答案1
如何将“有问题的”标题放入\parbox
并在必要时手动添加\\
(在框内工作)?
\documentclass{article}
\usepackage{rotating}
\begin{document}
\begin{table}
\begin{tabular}{|l|l|l|}
\hline
\rotatebox{90}{Header 1} &
\rotatebox{90}{Header 2} &
\rotatebox{90}{\parbox{4cm}{An awkwardly long \\header that cannot be \\abbreviated in a \\meaningful way}}\\
\hline
Content & Content & Content\\
\hline
\end{tabular}
\end{table}
\end{document}
答案2
您可以将长标题包装在\parbox
:
\documentclass{article}
\usepackage{rotating}
\begin{document}
\begin{table}
\begin{tabular}{|l|l|l|}
\hline
\rotatebox{90}{Header 1} &
\rotatebox{90}{Header 2} &
\rotatebox{90}{\parbox{1.5cm}{Long Header Over Several Lines}}\\
\hline
Content & Content & Content\\
\hline
\end{tabular}
\end{table}
\end{document}
答案3
您可以\adjustbox{minipage=<width>,rotate=<angle>}{some text\\with line break}
使用adjustbox
包用于创建具有给定宽度的旋转框,可以进行手动和自动换行。
答案4
如果您使用tabularx
而不是tabular
并且您的列类型是,X
那么上述解决方案可能无法按预期工作(请参阅他的问题:tabularx 中的旋转和换行问题)。
解决方案是使用\raggedright
:
\begin{table}
\begin{tabularx}{\textwidth}{|X|X|X|X|X|X|}
\multicolumn{1}{l|}{%
\rotatebox{90}{\parbox{2cm}{\raggedright Some Longer Text}}} &
\end{tabularx}
\end{table}