Ambiente semelhante a um teorema para wrapfigure sem trivlist

Ambiente semelhante a um teorema para wrapfigure sem trivlist

Eu gostaria de poder definir um ambiente semelhante a um teorema que tenha o mesmo espaçamento dos teoremas normais, mas não use trivlistpara obter o espaçamento. A razão é que eu gostaria de colocar a wrapfigureà direita de tais teoremas (que eu usaria para exemplos, exercícios, etc.), o que não é possível com ambientes do tipo lista (-like).

\documentclass[a4paper]{article}
\usepackage{graphicx, wrapfig, lipsum}

\newcounter{exercise}[section]
\renewcommand{\theexercise}{\thesection.\arabic{exercise}}
\newenvironment{exercise}[1][]{\refstepcounter{exercise}\par\medskip
   \textbf{Exercise~\theexercise}\quad}{}{\medskip}

\begin{document}
\section{Section One}
\begin{wrapfigure}{r}{0pt}
\includegraphics[scale=0.5]{example-image-c}
\end{wrapfigure}
\begin{exercise}
Vivamus vehicula leo a justo. Quisque nec augue. 
Morbi mauris wisi, aliquet vitae. Vivamus vehicula leo a justo. 
Quisque nec augue. Morbi mauris wisi, aliquet vitae.
\end{exercise}

\clearpage
\section{Section Two}
\begin{wrapfigure}{r}{0pt}
\includegraphics[scale=0.5]{example-image-c}
\end{wrapfigure}
\begin{exercise}
\lipsum[66-67]
\end{exercise}

\end{document} 

Estranhamente, o empacotamento não funciona no meu texto de exemplo, mas funciona para parágrafos lipsum.

É possível (com conhecimento médio de LaTeX) definir tal ambiente com espaçamento igualmente robusto acima e abaixo, bem como quebra automática de parágrafos? – Você poderia me mostrar como?

Eu realmente preciso disso e agradeço qualquer ajuda.

Responder1

Wrapfig é implementado usando \everypare \parshape. Adicionar uma terminação \pardentro do exercício ajuda, mas isso pode ser peculiar a esse ambiente.

A macro não documentada \WFclearimpede que o wrapfig continue quando fica confuso.

\documentclass[a4paper]{article}
\usepackage{graphicx, wrapfig, lipsum}

\newcounter{exercise}[section]
\renewcommand{\theexercise}{\thesection.\arabic{exercise}}
\newenvironment{exercise}[1][]{\refstepcounter{exercise}\par
   \textbf{Exercise~\theexercise}\quad}{\par}

\intextsep=0pt% easy solution

\begin{document}
\section{Section One}
\begin{wrapfigure}{r}{0pt}
\raisebox{-\intextsep}[\dimexpr \height-2\intextsep][\depth]{% alternate solution
  \includegraphics[scale=0.5]{example-image-c}}%
\end{wrapfigure}
\begin{exercise}
Vivamus vehicula leo a justo. Quisque nec augue. 
Morbi mauris wisi, aliquet vitae. Vivamus vehicula leo a justo. 
Quisque nec augue. Morbi mauris wisi, aliquet vitae.
\end{exercise}
\WFclear
\clearpage

\section{Section Two}
\begin{wrapfigure}{r}{0pt}
\raisebox{-\intextsep}[\dimexpr \height-2\intextsep][\depth]{% negative depth not useful
  \includegraphics[scale=0.5]{example-image-c}}%
\end{wrapfigure}
\begin{exercise}
Vivamus vehicula leo a justo. Quisque nec augue. 
Morbi mauris wisi, aliquet vitae. Vivamus vehicula leo a justo. 
Quisque nec augue. Morbi mauris wisi, aliquet vitae.
\end{exercise}
\sloppy
\lipsum[1]
\WFclear
\lipsum[2]

\end{document} 

informação relacionada