Quiero construir una macro llamada \vs
que escriba un espaciado vertical constante, por ejemplo, \vs{40em}
obtendrá una altura de espaciado en blanco de 40 em. Sé que hay muchas maneras ( \vskip
,, \vspace
etc...) de lograrlo. Pero todos estos métodos fallan si se encuentra un salto de página, como se muestra en la figura adjunta producida por el siguiente MWE. ¿Alguien puede ayudarme con esto?
MWE:
\documentclass{article}
\usepackage{geometry}
\geometry{showframe}
\begin{document}
some text.\vskip10em
question 1...\vskip40em
question 2...\vskip40em
question 3...\vskip40em
\end{document}
Respuesta1
Si desea que el espacio se pueda dividir y estar en parte en una página y en parte en la siguiente, puede probar con un bucle con pequeños fragmentos. P.ej
\documentclass{article}
\usepackage{geometry}
\geometry{showframe}
\usepackage{xparse}
\ExplSyntaxOn
\NewDocumentCommand\manyvspace { m }
{
\par
\int_step_inline:nn{#1}{\vspace*{1em}\goodbreak}
}
\ExplSyntaxOff
\begin{document}
some text.\vskip10em
question 1... \manyvspace{30}
question 2... \manyvspace{40}
question 3... \manyvspace{40}
\end{document}
Respuesta2
Simplemente use el *
formulario:
\vspace*{4cm}
Esto responde a la pregunta en el título, aunque al mirar el código de ejemplo de su boceto, habría pensado que siempre quería un título de pregunta encima del espacio, en cuyo caso el espacio nunca debería caer en la parte superior de la página, por lo que debería dejar caer el espacio en ese punto. no será un problema.
Después de más comentarios, parece que realmente no desea ningún espacio, sino un párrafo blanco de (digamos) 5 líneas, que puede dividirse en una página, para lo cual puede hacer
\section*{Some title}
\mbox{}\\
\mbox{}\\
\mbox{}\\
\mbox{}\\
\mbox{}
\section*{Some other title}
\mbox{}\\
\mbox{}\\
\mbox{}\\
\mbox{}\\
\mbox{}