本地更改浮动参数

本地更改浮动参数

我想更改某个特定页面的浮动设置,但不想全局更改。具体来说,我想增加\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 中图形和表格等浮动环境的位置? 对该领域和算法进行一般性讨论。

相关内容