\usepackage{longtable}
\begin{landscape}
\begin{table}[!htb]
\centering
\resizebox{\linewidth}{!}{%
\begin{longtable}{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|}
% Table here
\end{longtable}%
}%
\end{table}
\end{landscape}
我无法让表格跨越多页,同时又能使表格适合横向页面的宽度。您知道如何做到这一点吗?请告诉我。
答案1
首先,不要同时使用table
and longtable
—— 这两个环境不应该(也不应该)嵌套。另外,由于 alongtable
不是浮点数(在 LaTeX 中这个词的含义),因此没有必要提供诸如 之类的位置指令[!htb]
。
其次,要强制环境的宽度longtable
等于\textwidth
,请输入类似
\usepackage{longtable,lscape}
...
\begin{document}
...
\begin{landscape}
\setlength\LTcapwidth{\textwidth} % default: 4in (rather less than \textwidth...)
\setlength\LTleft{0pt} % default: \parindent
\setlength\LTright{0pt} % default: \fill
\begin{longtable}{@{\extracolsep{\fill}}|*{15}{c|}}
... % tabular material here
\end{longtable}
\end{landscape}
...
请注意,上面的代码还会重置\LTcapwidth
宏;由于您正在模式下工作landscape
,因此您几乎肯定会想要覆盖此宏的默认值 4 英寸。@{\extracolsep{\fill}}
顺便说一句,该指令与在环境中使用的指令完全相同tabular*
。它告诉 LaTeX 在每个列间空间中插入\fill
无限可拉伸的空白。
有关使用环境的更多信息,请参阅 longtable 用户指南;如果您使用 TeXLive 或 MikTeX,则可以通过在命令窗口中longtable
键入来调出用户指南。texdoc longtable