如何使横向多页表适合文本宽度

如何使横向多页表适合文本宽度
\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

首先,不要同时使用tableand 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

相关内容