我想我明白了newpage
和pagebreak
。
我的问题主要是出于好奇。我偶然发现了这种方式来获取新页面: 。这与(或)\vfill\eject
有什么区别。它有优势吗?\newpage
\pagebreak
答案1
\newpage
和之间有很大区别\vfill\eject
。
\newpage
LaTeX 中的定义% latex.ltx, line 6342: \def \newpage {% \if@noskipsec \ifx \@nodocument\relax \leavevmode \global \@noskipsecfalse \fi \fi \if@inlabel \leavevmode \global \@inlabelfalse \fi \if@nobreak \@nobreakfalse \everypar{}\fi \par \vfil \penalty -\@M}
\eject
Plain TeX 中的定义% plain.tex, line 558: \def\break{\penalty-\@M} % plain.tex, line 564: \def\eject{\par\break}
LaTeX 首先尝试捕捉问题\everypar
;如果\newpage
在章节标题中或紧随其后给出,或者在列表中给出,则采取一些对策。
此后的工作几乎相同,但您可以注意到,\newpage
问题\vfil
在于它处理\flushbottom
和的方式\raggedbottom
。两种结构都以\penalty-10000
强制分页符结尾。