
Ich arbeite mit einer vorhandenen Umgebung (Übung), die vom Dokumentstil svmono (Springer-Monographien) bereitgestellt wird, und manchmal ist unklar, wo eine Übung endet und der nächste Absatz beginnt.
Um dies zu lösen, versuche ich, links vom Text eine vertikale Linie hinzuzufügen. Ich verwende framed
hierfür das Paket und verwende eine Modifikation von leftbar
. Ich bin mir nicht ganz sicher, woher ich das habe, aber ein Problem, das ich habe, ist, dass die Leiste auf beiden Seiten der Übung etwa eine Linie zu hoch und zu niedrig verläuft. Daher nimmt die Übung jetzt zu viel vertikalen Platz ein. Hier ist ein Beispiel, bei dem amsthm für die Umgebung anstelle der bereitgestellten Version verwendet wird.
\documentclass{article}
\usepackage{amsthm}
\newtheorem{exercise}{Exercise}
\usepackage{framed}
\renewenvironment{leftbar}[1][\hsize]
{%
\def\FrameCommand
{%
{\hspace{-0.5ex}\vrule width 0.5pt}%
\hspace{0ex}%must no space.
\fboxsep=\FrameSep%
}%
\MakeFramed{\hsize#1\advance\hsize-\width\FrameRestore}%
}
{\endMakeFramed}
\let\oldexercise\exercise
\let\oldendexercise\endexercise
\def\exercise{\begingroup \begin{leftbar}\oldexercise}
\def\endexercise{\oldendexercise \end{leftbar}\endgroup}
\begin{document}
some text
\begin{exercise}
here is exercise 1.
\end{exercise}
more text
\end{document}
Gibt es eine Möglichkeit, dies so zu ändern, dass die Leiste nicht dazu führt, dass die Umgebung zusätzlichen vertikalen Platz einnimmt? (Alternativ - da dies einXY-Problem– gibt es eine bessere Alternative, um die Übung deutlich vom Rest des Textes abzugrenzen?)
Antwort1
Ich schlage eine Lösung vor, die auf basiert mdframed
und leicht anzupassen ist. Ich hoffe, sie kommt dem nahe, was Sie wollen:
\documentclass{article}
\usepackage{amsthm}
\usepackage{mdframed}
\usepackage{lipsum}
\newmdtheoremenv[linewidth=0.5pt, topline=false, bottomline=false, rightline=false,%
leftmargin=0pt, innerleftmargin=0.4em, rightmargin=0pt, innerrightmargin=0pt, innertopmargin=-5pt ,%
innerbottommargin=3pt, splittopskip=\topskip, splitbottomskip=0.3\topskip, %
skipabove=0.6\topsep]%
{exercise}{Exercise}%
\begin{document}
\lipsum[11]
\begin{exercise}
Here is exercise 1. You must answer the following question: why is it that
\[ 1 + 1 = 2 \]%
\end{exercise}
more text
\end{document}