我使用的wrapfig
是普通文本(没有列表或其他内容),并可以{R}
选择使其向右浮动。但是,一些图形最终会左对齐,其右侧的所有空间都是空的(即文本不会环绕)。我尝试使用该lipsum
软件包重现此问题(不幸的是,该文档是敏感的),但无法重现错误。这肯定不是由于图像(如边界框问题等)造成的,因为它们对于示例来说工作正常lipsum
。
这些图的形式为
\begin{wrapfigure}{R}{.47\textwidth}
\centering
\includegraphics[width=.45\textwidth]{file.pdf}
\caption{{\bf Description.} Rest of the caption.}
\label{fig:figlabel}
\end{wrapfigure}
我已经举了一个例子Google 云端硬盘。有人经历过类似的事情吗?
答案1
尽管您发现了一些问题lipsum
,但这个包至少对于没有额外包的 MWE 来说还是有用的。
正如您在代码中看到的,第一部分显示了 Werner 注释中提到的分页符问题。第二部分具有相同的文本和图片,重现了不是由于分页符引起的问题。这里的问题是,这 wrapfig
将占用下一段的空间,但那里有另一个图片。您可以在 同一页上有两个环绕图,出现排版错误吗?
出于同样的原因,当 wrapfig 图形后面跟着另一个对象(如section
或 )newenvironment
而不是简单的段落时,您也必须小心。
解决方案是手动移动图形的源代码以避免这两个问题,如第三部分所示。
\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{wrapfig}
\usepackage{lipsum}
\newcommand\FIG{\begin{wrapfigure}{R}{.47\textwidth}
\centering
\includegraphics[width=.45\textwidth]{file.pdf}
\caption{{\bf Description.} Rest of the caption.}
\label{fig:figlabel}
\end{wrapfigure}}
\begin{document}
\section{Bad float due to page break}
\FIG\lipsum[1] % ok
\FIG\lipsum[1] % ok
\FIG\lipsum[1] % go to the left due to page break
\FIG\lipsum[1]
\lipsum[1] % ok
\newpage
\section{Misplacement due to too close figures}
\FIG\lipsum[1] % ok
\FIG\FIG \lipsum[1] % Too close figures
\lipsum[1]
\FIG\lipsum[1] % ok
\lipsum[1]
\newpage
\section{Good float}
\FIG\lipsum[1] % ok
\FIG\lipsum[1] % ok
\lipsum[1]
\FIG\lipsum[1] % ok
\FIG\lipsum[1] % ok
\end {document}