横向强制提前分页

横向强制提前分页

经过一番努力,我终于制作出了一个横版表格,该表格横跨三页。我使用了tabularxlandscape包。现在我的问题是,这个东西不会像平常一样浮动,而是会将文本打断,导致过早分页。我尝试使用sidewaystable和,hvfloat但无法使其工作(它们与不兼容吗tabularx?任何帮助表示感谢。

答案1

如果我正确理解了问题的描述,你(i)有一些形式的材料

% lots of material
\begin{landscape}
\begin{longtable}{...}
% content of longtable
\end{longtable}
\end{landscape}
% lots more material

(二)不希望 (pdf)LaTeX 创建分页符立即地遇到该\begin{landscape}指令时。相反,您希望 LaTeX 推迟切换到横向模式,直到当前页面通过排版一些“更多材料”组填满。

如果这个解释是正确的,您可能需要查看指令\afterpage。您需要做的就是加载afterpage包(在序言中)并将整个landscape组(在本例中包含一个longtable环境)装入\afterpage{...}指令中。正如指令的名称所暗示的那样,LaTeX 会将其参数中材料的排版推迟到当前页面通过其他方式结束(最有可能是因为正在排版一些其他材料,导致在某个时候出现自然分页符)。

请注意很重要记得使用右花括号}来标记构成指令参数的材料的结尾\afterpage。(如果您忘记了},LaTeX 将继续运行,直到遇到\end{document}并发出其神秘的错误消息之一。)在最近发布的相关问题的回答中,David Carlisle 建议执行以下操作来简化确保不要忘记右花括号的过程:将整个横向长表材料放在单独的文件中,例如landlong.tex,然后发出指令

\afterpage{\input landlong} 

在主文件中。这样一来,几乎肯定不会忘记那个讨厌的右花括号,对吧?

相关内容