避免用浮动元素填充整个页面

避免用浮动元素填充整个页面

我正在处理一个两列文档,在其中一个页面上,我想用三个不同的浮点数填充一整列。但是当我在这三个页面上(或这些浮点数的任意组合)使用 h!、ht!、b、b!、t! 等时,一列中会出现两个浮点数,另一列中会出现一个浮点数。有没有可以解决这个问题的软件包或其他东西。

答案1

如果我想将一堆图形放在一起,我只需使用一个figure环境:

\begin{figure}
    \includegraphics{foo}
    \caption{Foo}
    \vspace{5mm}
    \includegraphics{bar}
    \caption{Baz}
    \vspace{5mm}
    \includegraphics{bar}
    \caption{Baz}
\end{figure}

看起来有点奇怪,但确实有效。一个环境\caption中可以有多个 s 。figure

现在 Latex 无法将这三个图放在不同的列或不同的页面上。您可以\vspace根据需要进行微调。

答案2

处理这个问题最简单的方法可能是使用afterpage包和floatH说明符。这是一个完整的示例。

\documentclass[twocolumn]{article}
\usepackage{afterpage}
\usepackage{float}
\usepackage{lipsum}
\begin{document}
\lipsum
\afterpage{
        \begin{figure}[H]
        \fbox{Top figure}
        \caption{Top figure}
        \end{figure}
        \vfill
        \begin{figure}[H]
        \fbox{Middle figure}
        \caption{Middle figure}
        \end{figure}
        \vfill
        \begin{figure}[H]
        \fbox{Bottom figure}
        \caption{Bottom figure}
        \end{figure}
        \newpage
}
\lipsum
\end{document}

p另一个选择是在 之外使用浮点位置说明符\afterpage。不能保证这三个会与 一起出现。

答案3

在双列模式下,“列”相当于单列模式下的“页面”。因此,如果您希望三个浮动元素单独位于一列中,只需指定[p]浮动选项即可。例如:

\documentclass[twocolumn]{文章}
\usepackage{lipsum}
\开始{文档}
\lipsum[1]
\begin{图}[p]
\定心
\规则{10em}{10em}
\caption{一个黑盒子。}
\结束{图}
\begin{图}[p]
\定心
\规则{10em}{10em}
\caption{一个黑盒子。}
\结束{图}
\begin{图}[p]
\定心
\规则{10em}{10em}
\caption{一个黑盒子。}
\结束{图}
\lipsum
\结束{文档}

答案4

对我来说最简单、最明显的答案……

\clearpage
\begin{figure}
    .....
\end{figure}

\vfill

\begin{figure}
    .....
\end{figure}

\clearpage

这样,这些图将单独出现在 1 页中,无论 latex 将它们放在何处,另一种方法是为所有图像制作一张图,但仍使用\clearpage

相关内容