Теоремоподобная среда для wrapfigure без trivlist

Теоремоподобная среда для wrapfigure без trivlist

Я хотел бы иметь возможность определить среду, подобную теореме, которая имеет тот же интервал, что и обычные теоремы, но не использует trivlistдля получения интервала. Причина в том, что я хотел бы поместить a wrapfigureсправа от таких теорем (которые я бы использовал для примеров, упражнений и т. д.), что невозможно в средах, подобных списку.

\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} 

Как ни странно, перенос не работает для моего примера текста, но работает для абзацев Lipsum.

Возможно ли (при среднем знании LaTeX) определить такую ​​среду с одинаково надежными интервалами сверху и снизу, а также правильным переносом абзацев? – Не могли бы вы показать мне, как?

Мне это действительно нужно, и я буду признателен за любую помощь.

решение1

Wrapfig реализован с использованием \everyparи \parshape. Добавление терминатора \parвнутри упражнения помогает, но это может быть свойственно данной среде.

Недокументированный макрос \WFclearостанавливает продолжение работы wrapfig, если он запутался.

\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} 

Связанный контент