防止 wrapfigure 换行下一节

防止 wrapfigure 换行下一节

代码:

\documentclass{article}
\usepackage[a5paper]{geometry}
\usepackage{wrapfig}
\usepackage{lipsum}
\begin{document}
\begin{wrapfigure}{l}{0.5\textwidth}
  \rule{4cm}{12cm}
\end{wrapfigure}
\lipsum[1]

\section{Hello}

Hello section text
\end{document}

印刷:

在此处输入图片描述

  1. 我怎样才能使其\section{Hello}向左移动?
  2. 更一般地说:在 wrapfigure? 之后,永远不要在新部分中换行任何文本。

答案1

由于文本和图像本来就wrapfig需要一些帮助。

你可以告诉它在 29 行之后停止换行:

\begin{wrapfigure}[29]{l}{0.5\textwidth}

但结果却相当压缩:

在此处输入图片描述

在这种情况下,更好的结果是简单地添加\clearpage在前面\section并将其移动到下一页。

答案2

您可以简单地将 wrapfig 和换行的文本包含在括号中,如下所示:

{
\begin{wrapfigure}{l}{0.5\textwidth}
  \rule{4cm}{12cm}
\end{wrapfigure}
\lipsum[1]
}
\section{Hello}

这样会在换行文本停止的行停止换行。正如 Andrew Swann 指出的那样,如果图形比文本长,则此方法不起作用;在这种情况下,下一节标题将被图形覆盖。

答案3

如果环绕图形的文本以实际文本结尾而不仅仅是包含的文本(如 \lipsum),那么只需在文本末尾添加空行即可。

\documentclass{article}
\usepackage[a5paper]{geometry}
\usepackage{wrapfig}
\usepackage{lipsum}
\begin{document}
\begin{wrapfigure}{l}{0.5\textwidth}
  \rule{4cm}{11cm}
\end{wrapfigure}
\lipsum[2] 
text\\ \\ \\ \\ \\ \\ \\ \\

\section{Hello}

Hello section text
\end{document}

在此处输入图片描述

相关内容