將垂直間距拆分為兩個連續頁面

將垂直間距拆分為兩個連續頁面

我想建構一個名為的宏\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{}

相關內容