Я хотел бы иметь возможность определить среду, подобную теореме, которая имеет тот же интервал, что и обычные теоремы, но не использует 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}