我有一张带有图像的LaTeX文档。有一个部分,四个子部分,后者3只有一些文本,第一部分有一些描述环境。
我希望在右上方有一个图像,让所有文字都很好地包裹在它周围。
wrapfig包占用了整列(因此图像下方的文本即使没有图像也会被包装到固定宽度)并将描述环境推到左边缘,而floatflt包将图像准确地放在我想要的位置它,但没有文字被包裹。
我在初始部分上方有floatflt / wrapfig环境(我以这种方式获得最佳图像放置)但是将其移动到其他各个地方也不起作用。
他们是否有其他方法将文字包裹在图像周围?
这里可以看到一些失败的例子:http://drop.io/a3dbxte
答案 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}
现在这应该可以很好地工作,而不必再做任何特殊的技巧了。