错误:未处理的浮点数太多,单页中有多个图形

错误:未处理的浮点数太多,单页中有多个图形

我正在尝试在一页上包含 3 个图。我尝试了以下代码:

\begin{figure}[t!]
\begin{center}
\includegraphics[scale=0.5]{images/Figure1.pdf}
\caption{Figure 1.}
\label{fig1}

\includegraphics[scale=0.5]{images/Figure2.pdf}
\caption{Figure 2.}
\label{fig2}

\includegraphics[scale=0.5]{images/Figure3.pdf}
\caption{Figure 3.}
\label{fig3}
\end{center}
\end{figure}

但是,此代码在编译时会产生错误。

! LaTeX Error: Too many unprocessed floats.

当我从图形环境中移除第 3 个图形并将其放入新的图形环境中时,它就可以正常工作。但随后它会转到多个页面,只有前 2 个图形保留在同一页上。

然后我搜索了其他类似的问题,看到了这个问题:排列多个图形如何排列多个图形?。这里他们谈论使用 subfigure 包,所以我只在我的 latex 文档顶部给出了它。

\usepackage{subfig}

当我编译这个时,我收到另一个错误。

! LaTeX Error: Command \c@subfigure already defined.
               Or name \end... illegal, see p.192 of the manual.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.113 \newcounter{subfigure}
                            [figure]

有什么建议可以解决这个问题吗?

答案1

你已经证明浮动(一个图形)。如果这是导致too many unprocessed floats错误的唯一原因,那么几乎可以肯定意味着 LaTeX 无法根据给定的限制来放置它。发生这种情况时,所有后面的图形都必须排队(以避免乱序)。如果待处理图形的数量超过允许的数量(我认为是 18 个),则会出现此错误。该morefloats软件包允许您超过 18 个,但即便如此,您可能会发现所有图形都刷新到了章节末尾或文档末尾。

您使用了\begin{figure}[t!],这意味着它只能放在文本页面的顶部。可能它无法在默认约束内放在那里。(默认约束由类文件设置,您没有提到。)在文章类中,顶部浮动只允许占页面的 70%,大于该值的浮动可能应该单独放在页面上,所以我建议使用 而[tp]不是[t!]

您还可以减小浮动的大小。您可以通过不使用环境来修剪顶部和底部的一些空白center。只需使用\centering

另外,你可以调整限制浮动占用空间的参数。例如:

\renewcommand{\topfraction}{0.8}
\renewcommand{\textfraction}{0.15}

这些命令将出现在文档的序言中。

最后,作为最后的手段,\clearpage在有问题的浮动之前发出命令将导致所有待处理的浮动在后续页面上进行处理。如果这是唯一的浮动,则相当于将其单独放在一个页面上([p] 选项)。

答案2

在您的示例之前的浮动之间的分页符有意义的地方插入一个\clearpage(或)或使用包。\cleardoublepagemorefloats

相关内容