Quero construir uma macro chamada \vs
que crie um espaçamento vertical constante, por exemplo, \vs{40em}
obterá 40em de altura de espaçamento em branco. Eu sei que há muitas maneiras - \vskip
, \vspace
, etc... - de conseguir isso. Porém, todos esses métodos falham se encontrarem quebra de página, conforme mostrado na figura anexa produzida pelo MWE a seguir. Alguém pode me ajudar com isso?
MWE:
\documentclass{article}
\usepackage{geometry}
\geometry{showframe}
\begin{document}
some text.\vskip10em
question 1...\vskip40em
question 2...\vskip40em
question 3...\vskip40em
\end{document}
Responder1
Se você quiser que o espaço possa ser dividido e ficar parcialmente em uma página e parcialmente na próxima, você pode tentar um loop com pequenos pedaços. Por exemplo
\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}
Responder2
Basta usar o *
formulário:
\vspace*{4cm}
Isso responde à pergunta no título, embora olhando para o seu código de exemplo de esboço, eu teria pensado que você sempre quis um título de pergunta acima do espaço, caso em que o espaço nunca deveria cair no topo da página, portanto, eliminar o espaço nesse ponto deveria não seja um problema.
Seguindo mais comentários, parece que você realmente não quer espaço, mas sim um parágrafo branco de (digamos) 5 linhas, que pode ser dividido em uma página, para o qual você pode fazer
\section*{Some title}
\mbox{}\\
\mbox{}\\
\mbox{}\\
\mbox{}\\
\mbox{}
\section*{Some other title}
\mbox{}\\
\mbox{}\\
\mbox{}\\
\mbox{}\\
\mbox{}