
Ich habe eine Umgebung (unten definiert). Ich möchte verhindern, dass die gesamte Umgebungsinstanz auf mehrere Seiten aufgeteilt wird. Eine Lösung, die ich gefunden habe, besteht darin, sie in \vbox einzuschließen. Mein Problem läuft also darauf hinaus, eine Umgebung zu erstellen, die die Instanz einer anderen Umgebung in eine vbox einschließt. Jede Hilfe ist sehr willkommen :)
\NewDocumentEnvironment{exercise}{m}
{
}
{
Write your answer here
\vskip #1cm
}
Antwort1
\vbox\bgroup
Sie können am Anfang und am Ende verwenden \egroup
. Ich weiß nicht, wie das ist \NewDocumentEnvironment
, aber normale LaTeX2e-Umgebungen erlauben keine Parameter, bei denen Sie das haben \vskip
. Hier ist ein Beispiel.
\documentclass{article}
\newenvironment{exercise}[1]{%
\def\exerciseskipamount{#1cm}%
\vbox\bgroup
}{%
\par
Write your answer here.\par
\vspace{\exerciseskipamount}%
\egroup
}
\begin{document}
\begin{exercise}{8}
Here is the first exercise.
\end{exercise}
\begin{exercise}{8}
Here is the second exercise.
\end{exercise}
\begin{exercise}{8}
Here is the third exercise.
\end{exercise}
\end{document}
Wenn Sie kompilieren, sehen Sie auf der ersten Seite zwei Übungen und auf der zweiten eine. Jede von ihnen ist in ein \vbox
. eingebettet.
Natürlich gibt es auch andere Pakete für Schreibübungen, die für Ihren Anwendungsfall geeignet sein könnten, ohne dass Sie das Rad neu erfinden müssen. Durchsuchen Sie TeX SX, um diese zu finden.