如何在LaTeX中清除浮动图片?

6

我正在尝试在LaTeX中文本环绕浮动图片,使用类似以下代码的方式:

\begin{wrapfigure}{R}{0.5\textwidth}
\begin{center}
\includegraphics{images/image.png}
\caption{This is the caption.}
}
\label{fig:image1}
\end{center}
\end{wrapfigure

这个方法大部分时间都能很好地工作(创建一张图片并浮动在右侧),但有时LaTeX在图片后不能适当地清除所占页面,导致页面出现未关闭的列,需要另外一页或两页来完成。有没有方法可以解决这个问题呢?或者最理想的情况是,LaTeX是否有类似于CSS中 clear:both 的功能?

有一个\clearpage命令可用,但在图片周围没有自然的分页位置时,这种方式并不适合。

2个回答

4
你可以尝试使用wrapfigure的可选参数手动设置图像的高度。
\begin{wrapfigure}[lineheight]{alignment}{width}

其中lineheight是指围绕图像包裹的文本行数。


没这么幸运。这将导致它不是一个纯白的固定列,但仍然每隔几行有与行高对应的空白。 - Herman Schaaf

-1
我仍然没有一个好的答案来回答这个问题,但现在的解决方案是完全不使用wrapfigure。只使用figure可以解决开放列的问题,但这并不是最理想的解决方案。任何其他的答案仍然受欢迎,但我会在这里发布我的半途解决方案,供那些可能也需要它的人参考:
\begin{figure}
\begin{center}
\includegraphics{images/image.png}
\caption{This is the caption.}
\end{center}
\label{fig:image1}
\end{figure}

我不明白这怎么能自动换行文本。 - kongo09
就像我在答案中所说的那样,它不会自动换行文本,但是它可以正确清除图像,而不是让页面充满没有内容的列。如果有更好的答案,我会非常乐意了解。 - Herman Schaaf

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接