wrapfig 没有按要求换行

wrapfig 没有按要求换行

为什么这里的文字换行不正确?

代码:

\documentclass{article}

\usepackage{tikz,amsmath,wrapfig,lipsum}

\setlength{\parindent}{0cm}
\setlength{\intextsep}{0pt}

\begin{document}

\lipsum[66]
\begin{wrapfigure}[12]{r}{4.5cm}
    \begin{tikzpicture}
        \fill (-1.1,-1.1) rectangle (3.3, 3.3);
    \end{tikzpicture}   
\end{wrapfigure}
\[\mathbf{u} = (u_1,0,0)=(u,0,0)=u\mathbf{i}\]

Nunc sed pede. Praesent vitae lectus. Praesent neque justo, vehicula.
\[\nabla\cdot\mathbf{u} = 0 \implies \frac{\partial u}{\partial x} + \frac{\partial 0}{\partial y} + \frac{\partial 0}{\partial z} = 0\]

\lipsum[1]

\end{document}

输出:

在此处输入图片描述

答案1

以显示开始一个段落肯定会导致糟糕的输出,尤其是与 结合时wrapfigure

我猜你的目的是从段落下面开始插入图片;这只能通过一些手动工作来完成(当然,在最后的修订阶段)。

可以\nopar在合适的行末尾添加(在下面的代码中定义),在之前的 LaTeX 运行中通过视觉确定,插入代码wrapfigure并恢复段落。

回想一下,就第一个可选参数而言,每个显示都被假定为三行长wrapfigure

\documentclass{article}

\usepackage{tikz,amsmath,wrapfig,lipsum}

\setlength{\intextsep}{0pt}

\newcommand{\nopar}{{\parfillskip=0pt \par}}

\begin{document}

Nunc sed pede. Praesent vitae lectus. Praesent neque justo, vehicula eget, interdum id, facilisis et, 
nibh. Phasellus at purus et libero lacinia dictum. Fusce aliquet. Nulla eu ante placerat leo semper 
dictum. Mauris metus. Curabitur\nopar

\begin{wrapfigure}[11]{r}{4.5cm}
    \begin{tikzpicture}
        \fill (-1.1,-1.1) rectangle (3.3, 3.3);
    \end{tikzpicture}   
\end{wrapfigure}

\noindent
lobortis. Curabitur sollicitudin hendrerit nunc. Donec ultrices lacus id ipsum.
\[
\mathbf{u} = (u_1,0,0)=(u,0,0)=u\mathbf{i}
\]
Nunc sed pede. Praesent vitae lectus. Praesent neque justo, vehicula.
\[
\nabla\cdot\mathbf{u} = 0 \implies
  \frac{\partial u}{\partial x}
  + \frac{\partial 0}{\partial y}
  + \frac{\partial 0}{\partial z} = 0
\]
\lipsum[1]

\end{document}

在此处输入图片描述

相关内容