我正在尝试使用 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 页,这就是您在那里看到它的原因。