# Wrap Figure is not working properly in mdframed environment

I am using wrapfigure environment but I am getting some unwanted output. My code is

\usepackage{wrapfig}
\usepackage{lipsum}
\usepackage{mdframed}
\lipsum[2]
\begin{wrapfigure}{r}{0.5\textwidth}
\centering
\includegraphics[width=0.48\textwidth]{Fig59.pdf}
\end{wrapfigure}
\lipsum[1]
\lipsum[2]
\lipsum[2]
\begin{mdframed}[backgroundcolor = gray!20]
\lipsum[3]
\end{mdframed}


and the output is

You can see at the bottom the frame is showing at the left only. How to get it normal? Please help.

Thanks

 Observation after the answer of @Bernard.

\begin{proof}
Consider a unit circle centered at (0,0).
\InsertBoxR{1}{\enspace\includegraphics[width=0.48\textwidth]{TrigFig11.pdf}}
\noindent
Take a point $P(x_0,y_0)$ on circle and let $\angle AOP=\theta$ then we have
$\cos\theta=x_0,\ \sin\theta=y_0.$
Since a point $P(x_0,y_0)$ lies on a unit circle so
$x_0\in[-1,1],\ y_0\in[-1,1].$
Conversely, if take any number from $-1$ to $1$ then we can find a point on unit circle whose $x$ coordinate equals that number and also we can find a point whose $y$ coordinate equals that number.
Thus, we have
\begin{align*}
\cos\theta&\in [-1,1]\\
\sin\theta&\in[-1,1].
\end{align*}
\begin{figure}[H]
\centering
\includegraphics[scale=1.5]{TrigFig12.pdf}
\end{figure}
\noindent
%[Some details are skipped.]
Hence we get,
\begin{equation*}
\tan\theta\in(-\infty,\infty).\qedhere
\end{equation*}
\end{proof}


And the output is Please see at the bottom part how it is showing at the left only.

I suggest using the plain TeX macro package insbox in the place of the wrapfigure environment. The \InsertBoxL and \InsertBoxR commands take two mandatory arguments: the number of unshortened lines at the beginning of the paragraph, and the inserted box, and an optional argument: the number of supplementary shortened lines, in cases (La)TeX calculates an incorrect number of shortened lines.

\documentclass{article}
\usepackage[latin]{babel}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{lipsum}
\usepackage{mdframed}
\input{insbox}

\begin{document}

\lipsum[2]
\lipsum[1]
\lipsum[3]
\begin{mdframed}[backgroundcolor = gray!20]
\lipsum[3]
\end{mdframed}

\end{document}


• I used your suggestion, sometimes it works but sometimes it gives the text at the left only. Commented Nov 5, 2020 at 13:35
• Not sure to see exactly what happens. Could you post a small code reproducing the problem? Commented Nov 5, 2020 at 13:44
• Please see my edited question. Commented Nov 5, 2020 at 14:05

Just leave a blank line before mdframed (end the paragraph).

By the way, I can't reproduce the problem with an older version of lipsum.sty, but there is a newer version of lipsum.sty (what?!) that has problems with \par, and for which you should use the \LipsumPar{ } command (with curly braces).

• I know \WFclear has to be used between paragraphs. Commented Sep 28, 2020 at 3:09
• @JohnKormylo if you use \WFclear, it will end the paragraph (the definition starts with \par). Is that what you meant? Commented Sep 28, 2020 at 8:10
• It also changes \everypar, which has to be done between paragraphs. Then there is \WF@finale. Commented Sep 28, 2020 at 17:08