避免将多栏文档中的整页图形推到文档末尾

避免将多栏文档中的整页图形推到文档末尾

我正在尝试使用 multicol 在 2 列文档中插入整页图形。我知道这是一个长期存在的问题,但在线找到的所有“解决方案”都无法解决问题。我的 MWE 如下:

\documentclass[8pt]{article}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage[
bottom=22mm,
top=22mm,
left=15mm,
right=15mm
]{geometry}

\usepackage{lipsum}
\usepackage{multicol}

\begin{document}
    \begin{multicols}{2}
        \section*{section 1}
            \lipsum[1-8]
        \section*{section 2}
            \lipsum[1-2]
            \begin{figure*}[!ht]
                \hrule
                \vspace{2mm}
                \centering\includegraphics[width=\textwidth]{FullPageFigure.pdf}
                \vspace{1mm}
                \hrule
            \end{figure*}
            \lipsum[1-2]
    \end{multicols}
\end{document}

这会导致整页图形毫无原因地被推到文档末尾:

在此处输入图片描述

但是,如果我稍微改变一下图形的大小:

\centering\includegraphics[width=0.9\textwidth]{FullPageFigure.pdf}

该图与其余文本一起正确地放置在文档第一页之后:

在此处输入图片描述

我已经尝试过\usepackage{placeins}并且\FloatBarrier但是它们不适合多色环境。

也是唯一可以在网上找到的“有效”解决方案(例如这里)是在放置图形之前结束多列环境,然后重新启动它。这显然不是一个可行的解决方案。

先谢谢您的帮助

答案1

p从浮动选项中删除了,因此它无法出现在浮动页面上。

改用\begin{figure*}[!htp]

答案2

Ulrike 发现了一个问题,导致无法放置:如果​​在 t 上允许它(h 在宽浮动上不起作用),那么它将永远不会被放置,因为它对于顶部区域来说太大了,请参阅https://tex.stackexchange.com/a/39019/10109进行讨论。

但另一个是它在源中的位置。如果你明确标记了放置浮动的位置,那么{\Large Here}你会看到这个点在第二页。因此它只能在该页面之后(全高)到达第 3 页(最低限度)。

由于图形较小,浮动和标注均适合第 2 页,这就是您在那里看到它的原因。

相关内容