nowidow 生效后,如何自动识别给定页面上正文输出最后一行的位置?

nowidow 生效后,如何自动识别给定页面上正文输出最后一行的位置?

我有一份文件,目的\usepackage[all]{nowidow}是消灭所有的寡妇和孤儿。

这有时会导致正文底部和页脚之间出现大量空白。我不喜欢这种空白,但我希望保留\usepackage[all]{nowidow}

我最初的消除空白的策略是找到一种方法让页脚移动到始终位于正文下方 --- 就像上下跳跃一样 ---将所有寡妇和孤儿驱逐出境。但是,我没有找到这样做的方法;所以我问了 SE。

针对该问题(如何使页脚移动到正文下方),有人告诉我,很难像我描述的那样让页脚自动上下跳动。

因此,我的新策略是完全忘记真正的页脚,相反,如果可能的话,第一的让 LaTeX 自动识别给定页面上实际正文输出最后一行的位置nowidow生效后然后将 置于该位置下方的\thepage中央\baselineskip。(因为我在页脚中想要的只是\thepage。)

如果可能的话,我该怎么做?或者如果不可能,那具体原因是什么?

我知道我对待寡妇和孤儿(将他们全部消灭)以及脚人和准脚人(想让他们跳来跳去)的态度在许多人眼中是令人厌恶的。

您可以看到以下 MWE 的第 2、7、27、31、33、36 和 38 页底部有令人讨厌的大空白。这只是为了说明,因为我再说一遍,我的新策略不涉及使用真正的页脚。

\documentclass{book}
\usepackage[paperwidth=4.25in, paperheight=5.5in, footskip=0cm]{geometry}
\usepackage[skip=0pt, indent=20pt]{parskip}
\usepackage{fancyhdr}
\usepackage{microtype}
\usepackage[all]{nowidow} % Eliminates orphans and widows
\usepackage{lipsum}

\emergencystretch 30pt % Causes text to better heed margin

\fancyhf{}
\pagestyle{fancy}
\renewcommand\headrulewidth{0pt}
\fancyfoot[CE,CO]{{\small[} \oldstylenums{\thepage} {\small]}}

\begin{document}

\lipsum[1-70]

\end{document}

相关内容