在两个连续页面中分割垂直间距

在两个连续页面中分割垂直间距

我想构造一个名为 的宏\vs,它排版一个恒定的垂直间距,例如\vs{40em}将获得 40em 高度的白色间距。我知道有很多方法—— \vskip\vspace等等……——可以实现这一点。但是,如果遇到分页符,所有这些方法都会失败,如我的附图所示,由以下 MWE 生成。有人能帮我吗?

梅威瑟:

\documentclass{article}
\usepackage{geometry}
\geometry{showframe}

\begin{document}
some text.\vskip10em
question 1...\vskip40em
question 2...\vskip40em
question 3...\vskip40em
\end{document}

在此处输入图片描述

答案1

如果您希望空间可以分割,一部分放在一页上,一部分放在下一页上,您可以尝试使用小块进行循环。例如

\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}

答案2

只需使用以下*形式:

\vspace*{4cm}

这回答了标题中的问题,尽管看了你的草图示例代码,我还是认为你总是想要一个位于空间上方的问题标题,在这种情况下,空间不应该落在页面的顶部,因此在那一点上删除空间应该不是问题。

经过进一步的评论,似乎你并不真正想要空间,而是一个(比如说)5行的白色段落,可能会在一页上分开,你可以这样做

\section*{Some title}
\mbox{}\\
\mbox{}\\
\mbox{}\\
\mbox{}\\
\mbox{}


\section*{Some other title}
\mbox{}\\
\mbox{}\\
\mbox{}\\
\mbox{}\\
\mbox{}

相关内容