多栏式全页图形

多栏式全页图形

\begin{figure*}[t!] ... \end{figure*}可以使用(可以避免过满的框)将整页图形包含在普通的单列文档中。

但这显然在multicol- 环境中失败:当包含的图像为一些额外的文本留出位置时,没有问题,但是当图像需要整个时\textheight,图像不会包含在所需的位置,而是在两列文本结束后向下移动。

改变\topfraction等对该行为没有影响。

有针对此行为的解决方案吗?

答案1

您必须意识到,figure* 始终将浮动元素放在后面的页面上,而不是当前页面上。此外,[!t]这还不够,!只有在尝试将浮动元素用于当前页面时才有意义,否则 LaTeX 会忽略它。有点令人惊讶,但这不是我想要改变的领域。无论如何,如果您使用[!tp]它,无论是在单列中还是在多列中,它都可以工作。

\documentclass{article}

\usepackage{multicol,kantlipsum}

\begin{document}

\kant[1]

\begin{figure*}[!tp]
 \vrule height \textheight width 1pt
 \caption{big figure}
\end{figure*}

\kant[2-10]

\newpage

\begin{multicols}{2}
\kant[1]

\begin{figure*}[!tp]
 \vrule height \textheight width 1pt
 \caption{big figure}
\end{figure*}

\kant[2-20]
\end{multicols}

\end{document}

答案2

那是你要的吗?

在此处输入图片描述

\documentclass{article}
\usepackage[showframe]{geometry}% http://ctan.org/pkg/geometry
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\usepackage{multicol}% http://ctan.org/pkg/multicols
\usepackage{graphicx}% http://ctan.org/pkg/graphicx
\begin{document}
\begin{multicols}{2}
  \lipsum[1-2]
\end{multicols}
\begin{figure*}[h]
  \includegraphics[width=\textwidth,height=4cm]{example-image-a.png}
  \caption{example-image-a.png}
\end{figure*}
\begin{multicols}{2}
  \lipsum[3-4]
\end{multicols}
\end{document}

相关内容