标题前没有分页符,同时在标题前保留一些垂直空间?

标题前没有分页符,同时在标题前保留一些垂直空间?

如何才能防止在插入部分标题之前出现分页符,同时保留标题前的垂直间距?

根据如何防止在逐项列表之前出现分页符?,我将运行标题定义为

\makeatletter
\newcommand{\runinheading}{\@startsection{paragraph}{4}{\z@}%
                                         {2.1ex \@plus1ex \@minus 0.64ex}{-1em}%
                                         {\sffamily\normalsize\bfseries}}
\newcommand{\nobreakruninheading}{\par\nobreak\@afterheading\runinheading}
\makeatother

我以下列方式使用此标题:

..., but the process assignment is still in bijective
correspondence with the proof rules.

\nobreakruninheading*{Cut reduction as computation.}
The principal cut reduction is
\begin{equation*}
\text{several lines of math go here}
\end{equation*}
When annotated according to the process interpretation,
we can extract the process reduction

确实,LaTeX 不会在插入标题前插入分页符。但是,段落末尾 ( ... with the proof rules.) 和插入标题之间没有垂直空格。

我确实知道页面上有足够的空间,1.6ex标题前有垂直空间,因为如果我将其定义\nobreakruninheading*\vspace{1.6ex}\noindent{\sffamily\normalsize\bfseries #1}\hspace{1em},则所有内容都会符合我的要求。如果可能的话,我想避免使用这种替代定义,因为它与我论文中的其他部分标题(使用)不匹配\@startsection

答案1

我的感觉是,如果你如果在标题前留有垂直空间,那么分页符也很好。

无论如何,通过在后面添加空格,您就可以得到您想要的结果\nobreak

\makeatletter
\newcommand{\runinheading}{\@startsection{paragraph}{4}{\z@}%
                                         {2.1ex \@plus1ex \@minus 0.64ex}{-1em}%
                                         {\sffamily\normalsize\bfseries}}
\newcommand{\nobreakruninheading}{\par\nobreak\vskip\bigskipamount\@afterheading\runinheading}
\makeatother

相关内容