在 3 列或更多列的文档中,将图形或表格跨越 2 列

在 3 列或更多列的文档中,将图形或表格跨越 2 列

该包所获得的 3 列(或更多)文档中,浮点数是否可以跨越 2 列multicol

例如这样的:

在此处输入图片描述 我知道使用环境可以轻松跨越所有列figure*;或者使用center环境跨越 1 列。

但我完全不知道如何在 3 列文档中创建跨 2 列的浮点数。或者更进一步,创建具有可变水平长度的浮点数,例如跨 1.5 或 2.5 列(即相当于wrapfig多列)。

谢谢。

答案1

multicol不支持浮动,但如果您不介意手动调整,则可以获得大多数安排。如果您花了数周时间在一本书上工作,这种手动调整是相当可行的,但如果每小时自动排版来自某个目录数据库的数千份文档,就不那么可行了。

基本上让 TeX 决定自然的分栏位置,然后在该点强制分栏并添加一些空间来容纳图像和标题。

在此处输入图片描述

\documentclass{article}

\usepackage{multicol,graphicx,capt-of}

\def\z{\stepcounter{enumi}\Roman{enumi} one two three four five six seven eight nine ten. }

\begin{document}

\begin{multicols}{3}

\z\z\z\z\z\z\z\z\z\z \z\z\z\z\z\z\z\z\z\z
Red Green blue yellow. Red Green blue yel-{\parfillskip0pt\par}

\columnbreak
\vspace*{16\baselineskip}
\noindent
\begin{picture}(0,0)
\put(0,110){\parbox{\dimexpr2\columnwidth+\columnsep}{\centering
\includegraphics[width=\linewidth]{example-image}

\captionof{figure}{an image}}}
\end{picture}%
low.
\z\z\z\z\z\z\z\z\z\z \z\z



Apples oranges ba-{\parfillskip0pt\par}

\columnbreak
\vspace*{16\baselineskip}
\noindent nanas.
\z\z\z\z\z\z\z\z
\z\z\z\z\z\z\z\z\z\z \z\z\z\z\z\z\z\z\z\z
\z\z\z\z\z\z\z\z\z\z \z\z\z\z\z\z\z\z\z\z
\end{multicols}
\end{document}

相关内容