我有一张表格,我想旋转它。该表格有 3 行 4 列,我想旋转表格内的文本。我该怎么做?
答案1
正如 Jake 所说,您可以使用包\rotatebox
中的graphicx
功能来旋转表格。这对于简单的表格来说完全没问题。但是,这会将整个表格读取为宏参数,这不允许逐字或其他特殊内容,并且效率不高。
另外,您可以使用包中的\adjustbox
宏或adjustbox
环境adjustbox
(由我编写)。两者都将内容作为真实框而不是宏参数进行处理,因此避免了上述缺点:
\documentclass{article}
\usepackage{adjustbox}
\begin{document}
\begin{adjustbox}{angle=90}
\begin{tabular}{ll}
First First & First Second\\
Second First & Second Second
\end{tabular}
\end{adjustbox}
\end{document}
或者,你可以使用最新的包realboxes
。当加载graphicx
选项时(或没有任何选项但在之后graphicx
),它提供\Rotatebox
类似的功能,\rotatebox
但也读取内容作为真实的框:
\documentclass{article}
\usepackage[graphicx]{realboxes}
\begin{document}
\Rotatebox{90}{%
\begin{tabular}{ll}
First First & First Second\\
Second First & Second Second
\end{tabular}
}%
\end{document}
答案2
sidewaystable
另一个选择是从包中使用rotating
。
\documentclass{article}
\usepackage{rotating}
\begin{document}
\begin{sidewaystable}
\centering
\caption{Your caption here}
\begin{tabular}{ll}
First First & First Second\\
Second First & Second Second
\end{tabular}
\end{sidewaystable}
\end{document}
答案3
如果您只想旋转整个表格,但保持页面上的所有其他内容不变,则可以使用包\rotatebox{<angle>}{ ... }
中的命令graphicx
:
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\rotatebox{90}{
\begin{tabular}{ll}
First First & First Second\\
Second First & Second Second
\end{tabular}
}
\end{document}
但是,如果您有一个占据整个页面的大表,您可能希望旋转页面而不是表。pdflscape
如果您使用 进行编译pdflatex
,或者lscape
使用latex
(会引入landscape
环境) ,则可以使用 包执行此操作。
\documentclass{article}
\usepackage{pdflscape}
\begin{document}
\begin{landscape}
\begin{tabular}{ll}
First First & First Second\\
Second First & Second Second
\end{tabular}
\end{landscape}
\end{document}
答案4
该ctable
软件包还提供了旋转表格的选项:sideways
。例如:
\documentclass{article}
\usepackage{ctable}
\begin{document}
\ctable[
caption={Your table caption},
label={tab:mytable},
botcap, % caption below table
sideways % This rotates the table
]
{ccc}
{
% Table footnotes here, see ctable docs
}
{
Column 1 & Column 2 & Column 3 \\
Row 2, 1 & 2, 2 & 2, 3 \\
}
\end{document}