vbox에 다른 환경 인스턴스를 넣기 위한 환경 만들기

vbox에 다른 환경 인스턴스를 넣기 위한 환경 만들기

환경이 있습니다(아래에 정의됨). 전체 환경 인스턴스가 여러 페이지로 분할되는 것을 방지하고 싶습니다. 내가 찾은 한 가지 해결책은 \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개, 두 번째 페이지에 연습문제 1개가 표시됩니다. 각각은 \vbox.

물론, 바퀴를 다시 만들 필요 없이 사용 사례에 적합할 수 있는 쓰기 연습을 위한 다른 패키지가 있습니다. TeX SX를 검색하여 찾으세요.

관련 정보