next up previous contents index
Next: 17.3 限制浮动 Up: 17. 定制浮动位置 Previous: 17.1 浮动图形放置的计数器


17.2 图形环境中的各种比例参数

表 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 $\leq$ \topfraction - 0.05 后面的 0.05 这一项是因为文本页和浮动页有不同的竖直间距 17.1。同样地,如果使用了 [bp] 或 [hbp] 图形,  \floatpagefraction 和 \bottomfraction 要满足: \floatpagefraction $\leq$ \bottomfraction - 0.05 注意缺省值并不满足上面的不等式,在处理 [bp] 或 [hbp]  图形时可能会有问题。


Wang Lei
2000-04-15