我想更改某个特定页面的浮动设置,但不想全局更改。具体来说,我想增加\bottomfraction
页面的浮动。这可以吗?
答案1
没有预定义的机制来本地更改单个页面的浮动参数。基本上,通过执行两个命令\@floatplacement
和/或,当前的浮动参数值集会在每个页面的开头保存起来\@dblfloatplacement
。
\@floatplacement
例如的定义是
\def\@floatplacement{\global\@topnum\c@topnumber
% Textpage bit, global:
\global\@toproom \topfraction\@colht
\global\@botnum \c@bottomnumber
\global\@botroom \bottomfraction\@colht
\global\@colnum \c@totalnumber
% Floatpage bit, local:
\@fpmin \floatpagefraction\@colht}
因此,如果您在本地进行更改,\bottomfraction
并且在该更改的范围内启动了一个新页面,那么您的值将用于定义\@botroom
该页面。
当然,问题在于页面是以异步方式随机开始的,因此很难进行这种“本地”更改,使其只影响下一个分页符。您可以定义一个命令来保存旧值,然后更改它,然后再定义一个命令来恢复它,而不是使用受组限制的本地更改。从实际角度来看,这可能效果更好一些,但并不能解决分页符异步的基本问题。
然而,说了这么多,一个可能更简单、更有效的方法就是使用!
对要放置在浮动参数通常不允许的位置的单个浮动对象使用说明符 --- 这是假设您要放置某些东西,比如说在底部太大的区域,如果您想阻止放置,那么这种方法就行不通了(唯一的手动方法是移动源中的浮动对象)。另请参阅如何影响 LaTeX 中图形和表格等浮动环境的位置? 对该领域和算法进行一般性讨论。