考虑一下这个案例:
\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{wrapfig}
\def\a{One two three four five six. }
\def\b{\a\a Red green blue yellow white black. }
\def\c{\b\b\a\b\b\b\a\b\b}
\begin{document}
\begin{wrapfigure}{r}{0.4\textwidth}
\centering
\includegraphics[width=0.38\textwidth]{none}
\caption{Figure with little text}
\label{hausdorffShapes}
\end{wrapfigure}
\b
\begin{wrapfigure}{l}{0.4\textwidth}
\centering
\includegraphics[width=0.38\textwidth]{none}
\caption{Another figure here}
\label{hausdorffBadExample}
\end{wrapfigure}
\b\b\c
\end{document}
当我写电子练习的解决方案时,这种情况很常见 --- 有很多示意图,有时只有少量文字。不幸的是,由于出现警告,我得到了以下输出:
我可以像这样修复它(手动添加[3]
和\vspace{}
,通过在最后进行视觉编辑)。
\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{wrapfig}
\def\a{One two three four five six. }
\def\b{\a\a Red green blue yellow white black. }
\def\c{\b\b\a\b\b\b\a\b\b}
\begin{document}
\begin{wrapfigure}[3]{r}{0.4\textwidth}
\centering
\includegraphics[width=0.38\textwidth]{none}
\caption{Figure with little text}
\label{hausdorffShapes}
\end{wrapfigure}
\b
\vspace{4cm}
\begin{wrapfigure}{l}{0.4\textwidth}
\centering
\includegraphics[width=0.38\textwidth]{none}
\caption{Another figure here}
\label{hausdorffBadExample}
\end{wrapfigure}
\b\b\c
\end{document}
这导致了正确的(至少在这种情况下;我承认不是那么好)文档:
可以自动完成吗?我的意思是,\clearwrapfigure
发出必要的垂直空间并重新启动正常段落形状的命令?
答案1
类似这样的事情似乎有效,您可能更喜欢使用它\mbox{}
而不是\mbox{zz}
但这表明它正在做什么。
\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{wrapfig}
\def\a{One two three four five six. }
\def\b{\a\a Red green blue yellow white black. }
\def\c{\b\b\a\b\b\b\a\b\b}
\makeatletter
\def\clearwf{\par{\count@\c@WF@wrappedlines\zz}\par}
\def\zz{{%
\ifnum\count@>\@ne
\noindent\mbox{zz}\\%
\advance\count@\m@ne
\expandafter\zz
\else
\ifhmode\unskip\unpenalty\fi
\fi}}
\makeatother
\begin{document}
\begin{wrapfigure}{r}{0.4\textwidth}
\centering
\includegraphics[width=0.38\textwidth]{none}
\caption{Figure with little text}
\label{hausdorffShapes}
\end{wrapfigure}
\b
\clearwf
\begin{wrapfigure}{l}{0.4\textwidth}
\centering
\includegraphics[width=0.38\textwidth]{none}
\caption{Another figure here}
\label{hausdorffBadExample}
\end{wrapfigure}
\b\b\c
\end{document}