防止将图形放在彼此之下

防止将图形放在彼此之下

我有一个使用 acmart documentclass(2 列布局)的 latex 文档。对于图形,我使用了 [ht!]。不幸的是,现在我在一页的顶部有两个图形,一个在另一个之下。我想要的是将上面的图形放在上一页的顶部(该页没有其他图形)。

我怎样才能实现这个目标?

我已尝试\afterpage{\FloatBarrier}使用上面的图形,但是该图形被放在了单独的页面上。

答案1

最简单/最方便的解决方案是将第一个图的代码移到文档中较早的位置,以便它位于适当的页面上。这不会影响编号,因为图仍然按顺序出现,只是在不同的页面上。


也可以使用强制非浮动来插入图形\afterpage,但如果代码转换足够的话,可以避免这种情况。

例如,假设您有以下代码安排:

<A lost of document content>
<B some more document content>
<first figure code>
<C some document content>
<second figure code>
<D more document content>

你可以使用

<A lost of document content>
% First figure code; moved earlier in the document
\afterpage{%
  \begin{figure}[H]
    <first figure content>
  \end{figure}%
}
<B some more document content>
<C some document content>
<second figure code>
<D more document content>

以上要求使用afterpagefloat并对位置进行一些调整\afterpage以确保图形最终出现在正确的位置。

两种方法都类似。第一种方法依靠 TeX 来找到最合适的位置,假设它将位于文档中较早的位置,因为您较早移动了代码(并且没有其他浮点等待放置)。第二种方法将图形放置为非浮点(感谢[H]),因此更多地依赖于最终用户放置代码的位置。

相关内容