我是 Latex 的新手,目前正在“探索”Latex 中的问题,希望在实际使用 Latex 工作之前找到解决方案。我目前的问题是包裹图形的放置。Wrapfigure{} 对我来说似乎完全不可靠。
我创建了一个可编译的代码来说明这个问题。我把所有用到的包都包括进去了,尽管大多数包与这个问题无关。
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lipsum}
\usepackage{titlesec}
\usepackage[table,xcdraw]{xcolor}
\usepackage{graphicx}
\usepackage{multirow}
\usepackage{booktabs}
\usepackage[nottoc,numbib]{tocbibind}
\usepackage{verbatim}
\usepackage{float}
\usepackage{caption}
\usepackage{wrapfig}
\begin{document}
\section{Example}
\lipsum[1-2]
\lipsum[1-1]
\begin{wrapfigure}{R}{70mm}
\centering
\includegraphics[width=60mm]{./MeltingEnergyNH2}
\caption{Melting Energy}
\label{figur:NH2}
\end{wrapfigure}
\textbf{\lipsum[120]}
\subsection{WrapFigur Test}
\lipsum[1-4]
\end{document}
由于页面上的文本太多,所以包裹的图片被推到了底部边距。如果我将 [r] 更改为 [R],从而使包裹的图片成为浮动图片,则图片将完全消失(它不在文档末尾),并严重扰乱文档其余部分的格式,如图 2 所示(每一页都像这页一样,甚至更糟)
当换行图前面的文本过多时,似乎会出现此问题。使用\newpage
或类似方法可以消除此问题,但这似乎不是一个灵活的解决方案。有没有可靠的解决方案来解决这个问题?
文档中问题的图片(对于帖子来说太大):
带有“[r]”图片的文档1
带有“[R]”图片的文档2
答案1
一般来说,对于浮动来说,最好的方法是不要关心图像最终放在哪里,直到最终版本,但要注意在真正相关时始终引用它(即see fig. \ref{keylabel}
),因为有时图像不能放在这里。
在最终稿中,将浮动移到上方/下方的一些段落可以解决大多数问题,作为最后的资源,可以修复浮动选项,但要尽可能宽容,尤其是当您有大量浮动时。您对浮动的限制越多,您以后会发现的问题就越多。
也就是说,对于这种极端情况(图形必须位于有分页符的段落中,而第一页没有足够的空间),这是一个肮脏的黑客行为仅适用于最终版本:将段落分成两部分,就在分页符应该出现的位置,注意不要让读者看到分页符(填充第一部分的最后一行,避免第二部分的第一行缩进)。然后注意换行图占用足够的垂直空间,这样段落的第二部分就不会呈现出夸张的形状(这是一个[14]
选项,尽管在这个 MWE 中没有这个选项也可以正常工作)。
\documentclass[14pt,a4paper]{article}
\usepackage{lipsum}
\usepackage{graphicx}
\usepackage{wrapfig}
\begin{document}
\section{Example}
\lipsum[1-2]
\lipsum[1-1]
{\parfillskip=0pt
Nunc id nulla nec mauris iaculis rutrum. Nunc nisl. Integer mi.
Praesent lorem neque, egestas at, molestie in, faucibus et, eros.
Sed rutrum, ante vitae aliquet tincidunt, diam elit auctor risus,
eu elementum purus turpis eu elit. Proin ac orci. Integer varius,
urna non sollicitudin consequat, massa libero pharetra erat, et ve-
nenatis dui orci eget purus. Aliquam iaculis est eget ipsum. Ut
volutpat velit. Phasellus fringilla. Aliquam mollis tellus vel odio.}
\begin{wrapfigure}[12]{r}{70mm}
\includegraphics[width=\linewidth]{example-image}
\caption{Melting Energy}
\label{figur:NH2}
\end{wrapfigure}
\noindent Vestibulum ante ipsum primis in faucibus orci luctus et ultrices
posuere cubilia Curae; Vestibulum gravida sapien sed diam dic-
tum pharetra. Nulla ac odio. Duis vitae metus ut purus feugiat
interdum. Duis eros enim, tincidunt ac, venenatis et, dignissim id,
lacus. Curabitur sagittis dolor nec augue. Sed ultricies mauris.
Donec semper, enim eu vestibulum placerat, justo risus eleifend
quam, ac semper velit pede convallis arcu.
\subsection{WrapFigur Test}
\lipsum[1-4]
\end{document}