我在报告中使用 longtable,因为我有许多长度超过一页的表格。为了保持一致,我对所有表格都使用 longtable。很多时候,由于页面设置,一张小表格会被分成两张,跨页面。有没有办法指定 longtable,不让这张表格跨页面拆分?我知道这在某种程度上违背了 longtable 的目的,但我正在寻找解决方法。
答案1
如果您longtable
使用全部表格,那么您的缺点是表格不能浮动。如果一个短表格跨页显示,这也意味着表格不适合放在起始页上。将其移动到下一页会在表格之前的页面上留下或多或少较大的空白。您可以使用包来规避这个问题afterpage
。在序言中添加:
\usepackage{longtable}
\usepackage{afterpage}
然后使用 将表格放在下一页\afterpage
,但以下文本仍然填充当前页面:
\afterpage{%
\begin{longtable}{...}
...
\end{longtable}
}
答案2
不清楚为什么要这样做,因为 longtable 没有任何特定的格式,它从底层tabular
实现中派生出所有表格格式。但是,如果您将 a 放入longtable
a 中,minipage
它不会中断。由于输出例程没有被调用,您当然不能使用 head 和 foot 代码,但这会生成一个非常长的表格,并且不会在页面上中断:
Overfull \vbox (441.0pt too high) has occurred while \output is active [2]
tabular
这与您此时从 long 获得的行为相同。
\documentclass{article}
\usepackage{longtable}
\begin{document}
text.. text.. text.. text.. text.. text.. text.. text.. text.. text..
text.. text.. text.. text.. text.. text.. text.. text.. text.. text..
text.. text.. text.. text.. text.. text.. text.. text.. text.. text..
text.. text.. text.. text.. text.. text.. text.. text.. text.. text..
text.. text.. text.. text.. text.. text.. text.. text.. text.. text..
text.. text.. text.. text.. text.. text.. text.. text.. text.. text..
text.. text.. text.. text.. text.. text.. text.. text.. text.. text..
\noindent\begin{minipage}{\textwidth}
\begin{longtable}{ccc}
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
I'm a non & breaking& longtable\\I'm a non & breaking& longtable\\
\end{longtable}
\end{minipage}
\end{document}