通过将 \topfraction 设置为大于 1.0 的值来避免在文本末尾显示所有图形?

通过将 \topfraction 设置为大于 1.0 的值来避免在文本末尾显示所有图形?

Jakob 的 LaTeX 技巧读:

注意不要\floatpagefraction大于\topfraction,否则您可能会产生一个既不能放在文本页面顶部也不能单独放在页面上的图形。如果发生这种情况,该图形和所有后续图形将被推迟到下次\clearpage执行 a 时(通常在章节末尾或文档末尾)。如果图形太大,页面容纳不下,也会发生这种情况。

我曾经遇到过这样的问题:在某个图形之后,所有后续图形都显示在文档末尾。我的期望是通过将 \topfraction 设置为较大的值来避免这种情况。这是一个安全的设置,还是可能会破坏某些东西?(在这种情况下,我不在乎浮动是否超出页边距。)

答案1

这些提示中的说法只是部分正确,在我看来,不应该太当真。

正确的是:

  • 如果图形大于整页,则 LaTeX 会将图形的大小更改为\textheight(或者更确切地说,让算法看起来如此,实际大小不会改变)并对此发出警告。因此它将不是防止浮动元素适合浮动页面。

  • 如果floatpagefraction大于,\topfraction那么确实单身的大小介于两个值之间的浮动元素既不能放置在顶部区域,也不能放入浮动页面,除非有另一个浮动元素(或\clearpage)。因此,在浮动元素很少的文档中,这可能会造成问题。另一方面,对于许多文档场景,这样的设置可能非常明智,可以避免半空浮动页面,尤其是在典型的浮动元素大小较小的情况下。

  • 设置\topfraction为大于 1 的值(如问题标题所示)是没有意义的。事实上,将它设置为大于 甚至没有意义(1-\textpagefraction)。否则,您的设置会不一致,这可能会导致算法产生奇怪的反应。

这里的一般性意见是,没有一种设置可以在所有情况下都很好地工作。标准 LaTeX 类(文章、报告、书籍)中使用的默认设置是尝试以允许半空浮动页面为代价,合理快速地移出浮动。为了获得良好的布局,这个设置相当宽松,因此通常需要对其进行调整。在最终文档中,可能必须使用!-notation 覆盖单个浮动上的这些设置,以便浮动可以移动到某个区域,即使设置通常会阻止它。

正如 David 所说:关于算法如何工作的更详细的解释在如何影响 LaTeX 中图形和表格等浮动环境的位置?

相关内容