使用时bigfoot
包及其段落式脚注,有时会在正文中插入分页符,尽管还有空间可以再写一行。我在以下 MWE 中确定了问题所在——取消注释第三个(相当短的)脚注会将正文的一行移至第 2 页。我想知道是什么导致了这种现象,并希望得到解决方案(针对各个页面的序言或文本内解决方法)。
\documentclass{article}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage[scale=0.635]{geometry}
\usepackage{bigfoot}
\DeclareNewFootnote[para]{default}
\begin{document}
This is the first paragraph. It only encompasses two lines. Some more text
without a meaning so that the former statement becomes true.
\footnote{A footnote.}
\blindtext
\footnote{Another one.}
\blindtext
% \footnote{A crucial footnote.}% uncommenting this will move one line
% of the main text to page 2
\blindtext
\blindtext
\blindtext
\end{document}
示例输出——第 1 页底部:
取消注释“关键”脚注后的输出:
对于有问题的页面,一个粗略的解决方法是使用\enlargethispage
(在我的 MWE 中,第 1 页的 1.7pt 到 1.75pt 之间的任何值都可以)。(参见这个答案有关详细信息\enlargethispage
。)但是,我更喜欢不改变单个页面边距的解决方案。
答案1
嗯,有好消息也有坏消息。
好消息是,2.0 版bigfoot
确实消除了过早的分页符。对于我上述问题中的 MWE 来说,这是正确的,对于每页包含大约十几个短脚注的较大测试文档来说也是如此。我感谢 egreg 指出了这一bigfoot
更新。
坏消息是,我的较大的测试文档显示,bigfoot
段落式脚注似乎受到另一种排版问题的困扰,即偶尔出现页面过满的情况,如第 9 节所述。manyfoot
文档:
用于计算副脚注所占垂直空间的算法有一个严重的缺点。它无法准确计算收集到的副脚注将占用多少垂直空间,因为此类脚注在垂直框中的格式化是在 TEX 决定分页后在输出例程中应用的。例如,如果收集到的副脚注占用 2.25 行,则算法为它们保留 2.25\normalbaselineskip 的垂直空间,但是当此类脚注在垂直框中格式化时,当然需要 3 行。这就是使用副脚注会导致页面溢出的原因。
在我较大的测试文档中,大约有三页中的一页脚注块溢出到底部边距中,溢出量高达 5pt(行高的一半)。偏差大到非专业的眼睛都能发现。另请注意,使用 时manyfoot
,文档中提到的粗略解决方法(使用新宏调整为脚注保留的默认空间\ExtraParaSkip
)不可用bigfoot
。