
Tengo un entorno (definido a continuación). Me gustaría evitar que toda la instancia del entorno se divida en páginas. Una solución que encontré es envolverlo en \vbox. Entonces, mi problema se reduce a crear un entorno que envuelva la instancia de otro entorno en un vbox. Cualquier ayuda muy apreciada :)
\NewDocumentEnvironment{exercise}{m}
{
}
{
Write your answer here
\vskip #1cm
}
Respuesta1
Puedes usarlo \vbox\bgroup
al principio y \egroup
al final. No lo sé \NewDocumentEnvironment
, pero los entornos normales de LaTeX2e no permiten parámetros donde tienes el archivo \vskip
. He aquí un ejemplo.
\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}
Si compilas, verás 2 ejercicios en la primera página y uno en la segunda. Cada uno de ellos está envuelto en un \vbox
.
Por supuesto, existen otros paquetes para ejercicios de escritura que pueden adaptarse a su caso de uso sin que tenga que reinventar la rueda. Busque TeX SX para encontrarlos.