表 17.2 中给出的命令用来控制一页中有多大比例的
区域可用来放置浮动对象(这里的比例是指浮动对象的高度除以正文高度 \textheight)。前面三个命令只作用于文本页,而最后一个命令只
作用于浮动页。在浮动位置选项前加上 ! 会让 LATEX 忽略
前面三个命令,而 \floatpagefraction 总是起作用的。这些命令的值
可以用 \renewcommand 来修改。例如:
\renewcommand{\textfraction}{0.3}
限定浮动对象不得占用文本页的 70% 以上。
表17.2:
Figure Placement Fractions
| \textfraction |
页面中必须用来排放文本的最小比例。缺省值为 0.2, 即一页中浮动对象所占的比例不得超过 80%。
|
| \topfraction |
页面顶部可以用来放置浮动对象的高度与整个页面高度的最 大比例。缺省值为 0.7,即放置在页顶部的浮动对象所占
的高度不得超过整个页面高度 70%。同样地,如果多个 使用了选项 t 的浮动对象的高度和超过了
整个页面高度的 60%,即使它们的数目没有超过 topnumber 的值,仍将一个也不会被放置
在页面顶部。 |
| \bottomfraction |
页面底部可以用来放置浮动对象的高度与整个页面高度的最 大比例。缺省值为 0.3,这使得如果浮动对象的高度
不超过整个页面高度的 40%,可以允许放置在页面底部。 |
| \floatpagefraction |
浮动页中必须由浮动对象占用的最小比例。因此 在一浮动页中空白所占的比例不会超过 1 - \floatpagefraction。缺省值为 0.5。 |
|
这些比例的缺省值既 可以防止浮动对象占据过多的文本页面,也可以防止 在一有很大的空白的浮动页上放置很小的图形。虽然这些缺省值让 LATEX
工作地很好,但有时显得稍稍严了些,结果导致有些图形被浮动到距标明 它们的命令很远的地方。这种情况下,可以将这些比例的值放宽松些, 例如:
\renewcommand{\textfraction}{0.15}
\renewcommand{\topfraction}{0.85}
\renewcommand{\bottomfraction}{0.65}
\renewcommand{\floatpagefraction}{0.60}
在修改这些比例值的时候必须要小心,不适当的比例值会导致低劣的 排版结果等问题。要避免出现这类问题,应该遵守以下的规则:
- \textfraction
-
不要让 \textfraction 的值小于 0.15,因为这会导致
令人难以阅读的文本页。如果一幅图的高度超过了 \textwidth
的 85%,那么将它单独放置到一浮动页上的效果肯定比勉强 将它放置到一文本页,而且下方还有一两行文本的效果好得多。 永远不要将 \textfraction 的值设为零。这样作会让 LATEX
感到迷惑并导致低劣的排版结果。
- \topfraction
-
永远不要使 \topfraction 的值小于 1
- \textfraction。 否则会使 LATEX 的浮动定位算法发生冲突。
- \bottomfraction
-
好的排版风格不提倡在页面的底部放置太多的图形,故 \bottomfraction
的值一般要比 \topfraction 的值小。永远不要使 \bottomfraction
的值为零。这样作会让 LATEX 的浮动定位算法发生冲突。
- \floatpagefraction
-
如果 \floatpagefraction 的值很小,那么每一浮动页上就会只
放置一个浮动对象。当放置的浮动对象很小的时候,会使浮动页上出现 很大面积的空白。 如果 \floatpagefraction 的值大于 \topfraction 的值,
使用了 [tp] 选项的图形就有可能变成 ``刺''。比如一 [tp] 图形的高要大于 \topfraction 的值,却比
\floatpagefraction 的值小,那么由于它既无法放置在文本页
上,也无法放置在浮动页上,所以就成为一根 ``刺''。为避免出现 这样的图形, \topfraction 和 \floatpagefraction 必须
满足以下的不等式: \floatpagefraction \topfraction - 0.05 后面的 0.05 这一项是因为文本页和浮动页有不同的竖直间距
17.1。同样地,如果使用了 [bp] 或 [hbp] 图形,
\floatpagefraction 和 \bottomfraction 要满足:
\floatpagefraction \bottomfraction - 0.05 注意缺省值并不满足上面的不等式,在处理 [bp] 或 [hbp]
图形时可能会有问题。
|