漂浮物实际着陆的地方

htbp,为什么强制在这里经常失败,将环境移近文本。

浮标实际着陆的地方

LaTeX 中的图形和表格是浮点数,这意味着代码在源代码中的位置是建议,而不是指令。 LaTeX 移动浮动以保持页面均匀填充,避免页面半空,并遵守排版限制,例如页面中可以有多少图片。这是来自文字处理程序的最大的文化冲击,了解放置系统可以节省数小时的时间。

htbp 是什么意思

每个浮动环境都带有一个可选参数列表,LaTeX 可以将其放置在其中:

\begin{figure}[htbp] % here, top, bottom, page of floats

每一个字母都是一个许可。 h 允许在“此处”浮动,即文本中代码出现的位置。 “t”允许页面顶部,“b”允许页面底部,“p”允许仅包含图形和表格的专用浮动页面。 LaTeX 会按照其构建的每个页面的顺序粗略地评估它们,并采用满足其有关间距和页面平衡的内部规则的第一个位置。这些字母授予选项而不是表达排名的愿望,因此列出所有四个字母为 LaTeX 提供了最大的空间来将浮动元素放置在靠近且合理的位置。如果完全省略该参数,默认值为“[tbp]”,没有“h”,这就是为什么一个裸图经常跳到下一页的顶部。

为什么强迫“这里”会适得其反

单独写“[h]”似乎是显而易见的解决办法,但它通常会让事情变得更糟。如果浮动不适合当前页面的剩余空间,并且“h”是您授予的唯一权限,则 LaTeX 无法将其放置在此页面上或合法地将其放置在任何其他页面上。因此它一页一页地向前推进浮动,等待满足“h”的位置。漂浮物也必须保持有序,因此每个后面的图形都会在卡住的图形后面排队,并且整堆图形经常在章节结束时被倒出。添加感叹号,如“[h!]”,告诉 LaTeX 放宽一些间距规则,但它不能创建不存在的空间。

真正有效的习惯

首先,将“[htbp]”保留为默认值,并在起草时放弃像素完美的位置,因为您添加或删除的每个段落都会重新调整页面。其次,将图形环境放置在源代码中首先引用它的段落旁边,因为 LaTeX 从该点开始搜索起始点,并且浮动可以晚于其代码移动,但绝不能早于其代码。第三,在你的文章中按数字引用数字,如“图 3 显示管道”,而不是“下图”,这样无论浮标落在哪里,文本都保持正确。

如果浮动仍然在不可接受的地方结束,有更强大的工具,包括浮动障碍和“[H]”放置,在逃离该部分的图形中介绍。一旦文本稳定,就在写作结束时使用它们,而不是在起草期间。

返回 浮动体与墨迹