在以下 MWE 中,页面末尾的 parbox 出现在底部边距的一半以下。
\documentclass{book}
\usepackage[paperwidth=21cm,paperheight=14.8cm,inner=2.2cm,outer=2.8cm,headsep=0cm,headheight=0.8cm,top=1.3cm,bottom=1.4cm,footskip=0pt,marginparwidth=0.5cm,marginparsep=1.1cm,showframe]{geometry}
\begin{document}
\Large
a\par a\par a\par a\par a\par a\par a\par a\par a\par a\par a\par a\par a\par a\par a\par a\par a\par Ap
\parbox{1cm}{ap ap}
\end{document}
是否有任何惩罚或其他设置我可以分配,所以 TeX(我使用 xelatex,但 latex 产生相同的结果)将自动地任何一个:
打破并将 parbox 放在下一页,或者
最好将此页中的线条拉伸得少一些,并将 parbox 放置在文本高度区域内。
答案1
为了回答你关于不好的问题,宏\pagebreak[3]
使用(有效)
\ifvmode
\penalty -\@highpenalty%
\else
\@bsphack
\vadjust{\penalty -\@highpenalty}%
\@esphack
\fi
其中\@highpenalty
是计数寄存器。快速测试运行显示\the\csname @highpenalty\endcsname
为 301。