用 {R} 包裹图形保持在左侧,而将空白保持在右侧

用 {R} 包裹图形保持在左侧,而将空白保持在右侧

我使用的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}

相关内容