假设出于赎金原因(在我的情况下,因为我的文档是从 XML 转换而来的),我想手动排版所有标题。那么我可以这样做
\documentclass{memoir}
\begin{document}
{\samepage\vspace*{2\baselineskip}\centering%
Chapter 1\\
\Large The beginning of everything
\vspace*{\baselineskip}
}
\makeatletter\@afterheading\makeatother
\noindent Some text.
\end{document}
出色地,\@afterheading
很好地确保了在任何情况下标题后面有一个分页符。但我徒劳地寻找\@beforeheading
命令告诉 LaTeX 应该考虑分页前如果 替代方法是让标题出现在页面底部附近,则标题将出现。我尝试使用\@startsection{chapter}{1}{0pt}{0pt}{0pt}{}*{}
,但没有看到任何效果。LaTeX 通常如何在内部做到这一点?
答案1
几乎可以肯定的是,最好生成
\section{The beginning of everything}
但否则,删除\samepage
并在之前和之后添加惩罚。
{\vspace{0pt plus 3\baselineskip}%
\pagebreak[1]%
\vspace{2\baselineskip plus -3\baselineskip}%
\centering
Chapter 1\\*%
\Large The beginning of everything%
\nopagebreak
\vspace*{\baselineskip}%
}