多年来,我断断续续地使用 LaTeX 处理过几份大型文档,这些文档的版本在很长的生命周期内都在不断变化。但每次,尽管 LaTeX 功能强大、非常出色,但每次我都会想对分页进行一些调整,而如果不使用\newpage
或\clearpage
大锤,这些调整是不可能实现的。
我想我想要的宏是这样的
\ifnotremaining{<length>}{<cmd>}
也就是说,如果页面上剩余空间小于,则执行。例如:
\ifnotremaining{5cm}{\newpage}
请注意,<length>
不需要完美——如果太大一点也没问题,或者太小一点(可能是因为“受保护”的文本变大了),那么你只需稍微增加它。FWIW,我通常对 感到满意\raggedbottom
。
另一种选择可能是使用\disablepagebreak
and\enablepagebreak
对来禁止在给定的文本范围内分页。(此功能不能被表述为环境,因为它不能总是嵌套在其他环境中。)
我是否忽略了某些可以满足这一需求的东西?
答案1
让我把评论改成答案
包裹needspace
正是您想要的。
该软件包有以下介绍:
这将两个命令打包在一起,
\needspace
和\Needspace
,用于保留空间,以防止一定量的材料被分页符分割。如果空间不足,则会\newpage
自动插入。