乳胶漂浮和文字包装图像

时间:2009-08-14 23:34:35

标签: latex wrapping

我有一张带有图像的LaTeX文档。有一个部分,四个子部分,后者3只有一些文本,第一部分有一些描述环境。

我希望在右上方有一个图像,让所有文字都很好地包裹在它周围。

wrapfig包占用了整列(因此图像下方的文本即使没有图像也会被包装到固定宽度)并将描述环境推到左边缘,而floatflt包将图像准确地放在我想要的位置它,但没有文字被包裹。

我在初始部分上方有floatflt / wrapfig环境(我以这种方式获得最佳图像放置)但是将其移动到其他各个地方也不起作用。

他们是否有其他方法将文字包裹在图像周围?

这里可以看到一些失败的例子:http://drop.io/a3dbxte

4 个答案:

答案 0 :(得分:27)

wrapfig是我发现的最好的,但是,你需要将wrapfig代码放在你希望它包含的段落之上:

\usepackage{wrapfig}

\begin{wrapfigure} \includegraphics... \end{wrapfigure}
This is the paragraph of text you want the figure to "wrap" into... etc etc.

如果将wrapfig代码放在要包装的段落下面,它显然会包含在下一段中,从而产生不良结果。

你还提到了一个'专栏',这让我觉得你正在使用多列布局,这可能不会对wrapfig有效。

在询问有关乳胶的具体问题时,您应该包括一个最小的工作示例,即足够的序言和正文代码/文本,以便人们可以重新创建您的问题。

编辑:啊。我明白你的意思了。 wrapfig可以使用可选的行高参数:

\begin{wrapfigure}[line-height]{r}{width} 

其中line-height是一个正整数。

您的解决方案可能如下所示:

\begin{wrapfigure}[10]{r}{2.5in}
\centering
\includegraphics[width=2in]{governator.jpg}
\end{wrapfigure}

编辑#2:wrapfig / floatflt + enumerate,itemize = not working。包裹彼此不相容。对于环境的“包裹”效果,即枚举,逐项等等,您应该将环境放在一个小型设备中,并将图形放入一个小型设备中,然后将两个小型设置放在一起。 (我把它们放在表格环境中)的效果:

\begin{tabular}{l l}
\begin{minipage}{0.5\textwidth}
\begin{enumerate}
\item
\end{enumerate}
\end{minipage}
&
\begin{minipage}{0.5\textwidth}
\includegraphics...
\end{minipage}
\end{tabular}

答案 1 :(得分:8)

我遇到了完全相同的问题。 Wrapfig希望在它下面有一个段落,所以给它一个空的!

\begin{wrapfigure}{I}{0.5\textwidth}
\includegraphics[...]{...}
\end{wrapfigure}
\paragraph{}
\vspace*{-\parskip}

这提供了一个空段落以使wrapfig感到舒适,并且根本不会改变你的内容(我添加了一个负vspace *来说明段落的\ parskip)。

答案 2 :(得分:3)

我做了一些实验并且您的示例失败,因为wrapfig无法处理\section命令和列表环境。如果你只是在wrapfig周围放了一堆文字,那一切都很好。如果您有\section\begin{description},则wrapfig会变得无可救药地混淆。

我建议您手动执行一堆\parshape命令。

答案 3 :(得分:1)

要使包装在枚举/项目大小/描述环境中正常工作,您必须将它放在一个小型设备中。使小型号的宽度与\ linewidth相同,这是针对可用空间正确计算的。

\begin{enumerate}
  \item First.\\
  Lots of text.
  \item Second.\\
  \begin{minipage}{\linewidth}
    \begin{wrapfigure}[3]{r}{0.4\textwidth}
      \begin{center}
        \includegraphics[width=\linewidth]{Picture}
      \end{center}
    \end{wrapfigure}
    Lots of text.
  \end{minipage}
\end{enumerate}

现在这应该可以很好地工作,而不必再做任何特殊的技巧了。