有条件分页

有条件分页

多年来,我断断续续地使用 LaTeX 处理过几份大型文档,这些文档的版本在很长的生命周期内都在不断变化。但每次,尽管 LaTeX 功能强大、非常出色,但每次我都会想对分页进行一些调整,而如果不使用\newpage\clearpage大锤,这些调整是不可能实现的。

我想我想要的宏是这样的

\ifnotremaining{<length>}{<cmd>}

也就是说,如果页面上剩余空间小于,则执行。例如:

\ifnotremaining{5cm}{\newpage}

请注意,<length>不需要完美——如果太大一点也没问题,或者太小一点(可能是因为“受保护”的文本变大了),那么你只需稍微增加它。FWIW,我通常对 感到满意\raggedbottom

另一种选择可能是使用\disablepagebreakand\enablepagebreak对来禁止在给定的文本范围内分页。(此功能不能被表述为环境,因为它不能总是嵌套在其他环境中。)

我是否忽略了某些可以满足这一需求的东西?

答案1

让我把评论改成答案

包裹needspace正是您想要的。

该软件包有以下介绍:

这将两个命令打包在一起,\needspace\Needspace,用于保留空间,以防止一定量的材料被分页符分割。如果空间不足,则会\newpage自动插入。

相关内容