
私には環境があります (以下に定義)。環境インスタンス全体がページ間で分割されないようにしたいです。私が見つけた解決策の 1 つは、それを \vbox でラップすることです。つまり、私の問題は、別の環境のインスタンスを vbox でラップする環境を作成することに帰着します。どんな助けでも大歓迎です :)
\NewDocumentEnvironment{exercise}{m}
{
}
{
Write your answer here
\vskip #1cm
}
答え1
\vbox\bgroup
を先頭に、を末尾に使用できます\egroup
。 についてはわかりません\NewDocumentEnvironment
が、通常の LaTeX2e 環境では がある場所ではパラメータを使用できません\vskip
。次に例を示します。
\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}
コンパイルすると、最初のページに 2 つの演習が表示され、2 番目のページに 1 つの演習が表示されます。それぞれの演習は で囲まれています\vbox
。
もちろん、車輪の再発明をしなくても、あなたのユースケースに合うかもしれない演習を書くための他のパッケージもあります。それらを見つけるには、TeX SX を検索してください。