我有几个浮动元素排列在几页上,但 LaTeX 无法正确排序,我想知道如何调整它。我的代码基本上是这样的:
paragraph of text referencing table1, table2, figure1, in that order.
table1 float environment [p]
table2 float environment [p]
figure1 float environment [t]
(此处 p、t 等只是浮动元素的标准定位选项,具有通常的含义 - 浮动元素的页面、页面顶部等。)
这将生成如下形式的页面:
--------------第 1 页-----------
按顺序引用表 1、表 2 的文本段落。
- - - - - - - 第2页 - - - - - - -
图 1 浮动
继续段落,提到图1。
--------------第 3 页-----------
表 1 浮点数
表2 浮点数
- - - - - - - -ETC - - - - - - - -
这会导致表格在文中提及一段时间后才出现,并且浮动页面显示为第 2 页而不是第 3 页更有意义。我该如何实现这一点?
答案1
在表格上使用[p]
会限制表格可以移动的位置,因此 latex 被迫将它们保留下来,希望能够根据浮动页面的限制填充浮动页面。由于您没有发布示例,我们只能猜测,但我猜这两个图形太小,无法单独填充浮动页面,但又太大,无法同时容纳,因此它们将被保留到下一个\clearpage
。
有关如何自定义浮点参数,请参阅 Frank 的回答。
\ref
还要注意,浮动位置不使用它们在源中引用的位置,只使用\begin{figure}
或\begin{table}
出现的源中的点。
答案2
我现在已经修复了这个问题,并想分享我的解决方案,因为它与其他人的任何建议都不相似。本质上,我设法通过在段落之前而不是段落之后定义表格来强制浮动的顺序。将以下内容与我的原始帖子进行比较。我现在使用的代码形式如下:
table1 float environment [p]
table2 float environment [p]
paragraph of text referencing table1, table2, figure1, in that order.
figure1 float environment [t]
现在给出了所需的输出,形式为:
--------------第 1 页-----------
按顺序引用表 1、表 2 的文本段落。
- - - - - - - 第2页 - - - - - - -
表 1 浮点数
表2 浮点数
--------------第 3 页-----------
图 1 浮动
继续段落,提到图1。
- - - - - - - -ETC - - - - - - - -
坦率地说,这是一个临时的解决办法,而不是一个编码良好的通用解决方案,但它确实能起到作用。