尽管在multicol
环境中(不是twocolumn
文档类中的选项)放置浮点数是有问题的,但有一些方法可以将图形放在单个列中或占据整个文本宽度。 (这不是问题)
但是当有 3 列时,如何处理必须放在 2 列中的图形呢? (即,图像适合于大约0.65\textwidth
后\begin{multicols}{3}
)。有或没有multicol
包的解决方案吗?
这是一些书籍和期刊中常见的设计,很难相信没有文档类、包或一些巧妙的技巧来实现这一点。对于单个页面,我认为做一些特别指定手动安排(例如使用小页面)可能就足够了,但对于大型文档来说,这种方法会很折磨,所以我的问题是关于一个通用的解决方案。
答案1
万一这对某些人有用,这里有一个 MWE,使用flowfram
Stephan Lehmke 的建议。与宽度 = nx 列的优雅浮点数无法相比,但解决了问题。
\documentclass{article}
\usepackage[demo]{graphicx} % Demo for MWE
\usepackage[landscape,margin=1cm]{geometry}
\usepackage{color}
\usepackage{flowfram}
\usepackage{lipsum}
\usepackage{microtype}
\newflowframe[1-7]{0.30\textwidth}{\textheight}
{0pt}{0pt}[leftcolumn]
\newflowframe[2,4-7]{0.30\textwidth}{\textheight}
{0.35\textwidth}{0pt}[centercolumn]
\newflowframe[2,4-7]{0.30\textwidth}{\textheight}
{0.7\textwidth}{0pt}[rightcolumn]
\newflowframe[1,3]{0.30\textwidth}{.6\textheight}
{0.35\textwidth}{0pt}[shortcentercolumn]
\newflowframe[1,3]{0.30\textwidth}{.6\textheight}
{0.7\textwidth}{0pt}[shortrightcolum]
\newstaticframe[1]{0.65\textwidth}{.35\textheight}
{0.35\textwidth}{.65\textheight}[statico]
\newstaticframe[3]{0.65\textwidth}{.35\textheight}
{0.35\textwidth}{.65\textheight}[statico2]
\usepackage{caption}
\title{\textbf{Flowfram demo}}
\author{by Fran}
\date{\today}
\begin{document}
\maketitle
{\color{blue} The dummy text of this MWE flow freely
through three columns in four pages. In pages 1 and 3 the
two landscape images have a width of two columns.}
\bigskip
\lipsum[1]
\begin{figure}[hb]
\includegraphics[width=.3\textwidth]{figure.png}
\caption{This is a float -- here -- figure.}
\end{figure}
\begin{staticcontents*}{statico}
\includegraphics[width=\textwidth,
height=0.32\textheight]{figure.png}\\
\captionof{figure}
{This is a non float image in a static frame.}
\end{staticcontents*}
\begin{staticcontents*}{statico2}
\includegraphics[width=\textwidth,
height=0.32\textheight]{figure.png}\\
\captionof{figure}
{This is another landscape in another static frame.}
\end{staticcontents*}
\lipsum[2-3]
\begin{figure}[h]
\includegraphics[width=.3\textwidth]{figure.png}
\caption{Other float -- here (bottom) -- figure.}
\end{figure}
\lipsum[4-35]
\end{document}