自动 \newpage 用于页面末尾的部分

自动 \newpage 用于页面末尾的部分

可能重复:
避免在章节/小节标题后立即分页

想象一下,我在 X 页的末尾有一个\section(或\subsection\subsubsecion\paragraph):在这种情况下,即使该部分的一行可以放入页面中,该部分也会显示在 X 页中。

因为在这种情况下我更喜欢在新页面中显示该部分,所以我必须\newpage在该部分之前手动插入。

如何指定至少 N 行部分必须显示在页面 X 中(而在另一种情况下,整个部分必须显示在页面 X+1 上)?

答案1

谢谢,我已经用这种方法解决了:页面的 1/4 必须用于章节;页面的 15% 用于子章节。

这是代码。

% new sections and subsection not at the end of the page
\usepackage{needspace}
\makeatletter
\renewcommand{\section}{\needspace{.25\textheight} \@startsection{section}{1}{0mm}
  {\baselineskip}
  {\baselineskip}{\Large\bfseries\scshape}}
\renewcommand{\subsection}{\needspace{.15\textheight} \@startsection{subsection}{1}{0mm}
  {\baselineskip}
  {\baselineskip}{\large\bfseries\scshape}}
\makeatother

相关内容