我试图让脚注出现在与正文中的引用相同的页面上(第 1 页),但它却出现在下一页(第 2 页)。
我能找到的最接近我的问题是脚注出现在下一页。为什么?但我的问题似乎不是页面上的空间太小。事实上,当我在段落中添加一些内容以使其更长并减少页面底部的空间时,脚注可以出现在第一页,而布局几乎没有任何变化。
简化的源代码如下,
\documentclass[letter]{article}
\usepackage{setspace}
\begin{document}
\small \rm
\setstretch{2.0}
a aj jfskdj pojsdf jasdfj jjiaosdjf jaisdojf ajsidfj oaijds fsojijf sd,
\vspace{11cm}
a aj jfskdj pojsdf jasdfj jjiaosdjf jaisdojf ajsid\footnote{fasu tuthwery ;xncdnbcd},
jpaisdjpfoiadsj fpajdspfiajsdpoijfapodsfjpoiadj
fpoiajsdfpoiajdskajsdpof fiosd f asd faijdf a df a jfpo oiaf pa pfoija
jpaisdjpfoiadsj fpajdspfiajsdpoijfapodsfjpoiadj
fpoiajsdfpoiajdskajsdpof fiosd f asd faijdf a df a jfpo oiaf pa pfoija
jpaisdjpfoiadsj fpajdspfiajsdpoijfapodsfjpoiadj
fpoiajsdfpoiajdskajsdpof fiosd f asd faijdf a df a jfpo oiaf pa pfoija
jpaisdjpfoiadsj fpajdspfiajsdpoijfapodsfjpoiadj
fpoiajsdfpoiajdskajsdpof fiosd f asd faijdf a df a jfpo oiaf pa pfoija
% Uncomment the following to fix the problem...
% jpaisdjpfoiadsj fpajdspfiajsdpoijfapodsfjpoiadjjpaisdjpfoiadsj fpajdspfiajsdpoijfapodsfjpoiadj
% fpoiajsdfpoiajdskajsdpof fiosd f asd faijdf a df a jfpo oiaf pa pfoija
\subsubsection{jpai sdjp foiadsj fpajdsp fia jsdpoij fapods fjpoiadj}
\begin{figure}
\centering
\caption{
JHLHL Jlkjaklsdf jalksjdf kja;d fa;skldjf ;aksdjf japisodf
jpaisdjpfoiadsj fpajdspfiajsdpoijfapodsfjpoiadj
fpoiajsdfpoiajdskajsdpof fiosd f asd faijdf a df a jfpo oiaf pa pfoija
pdo fpaisodf aosdjf ia psfj aspoidjaposifjpaiod fpiaos fpais pfoa sdpoif sdf}
\end{figure}
jpaisdjpfoiadsj fpajdspfiajsdpoijfapodsfjpoiadj
fpoiajsdfpoiajdskajsdpof fiosd f asd faijdf a df a jfpo oiaf pa pfoija
jpaisdjpfoiadsj fpajdspfiajsdpoijfapodsfjpoiadj
fpoiajsdfpoiajdskajsdpof fiosd f asd faijdf a df a jfpo oiaf pa pfoija
\end{document}
我可以使用pdflatex
或重现此问题xelatex
。
这是一份超过 200 页的文档,因此我非常希望有一个强大且自动化的解决方案,这样我就不需要在每次发生更改时手动查看文档……我还想了解为什么确实发生了这种情况。脚注似乎确实可以毫无问题地放在第一页。任何有关内部或如何调试此类内容的注释也将不胜感激。
笔记:此问题与第一页底部的可用空间有关,因此它与第一页上的内容占用的空间大小相当敏感。我并不真正想知道如何改变这一点以避免遇到此问题。如果您对文档进行了任何更改导致问题消失,尝试稍微改变一下 vspace 值,看看它是否不会因为垂直位置的变化而触发问题。节标题之前的文本应位于第一页,页面底部应留有足够的空间,而图表和节应位于第二页。我希望脚注位于第一页,但它出现在第二页,即使第一页上显然有足够的空间。
我在 Arch Linux 上使用 TeX Live 2020.57066。还使用 pdfLatex 和 texlive 版本 2020(当前为默认版本)在 overleaf 上进行了复制。
答案1
这是 TeX 输出例程在浮点数存在的情况下如何工作的问题。完全相同的问题已报告给 LaTeX 团队这里作为一个更大的问题的一部分,它还涉及 TeX 的其他部分。我会让 Frank Mittelbach解释怎么了:
每当 LaTeX 遇到浮点数时,它都会调用输出例程 [注意,下面是“OR”] 来确定其位置。之后,OR 将页面材料返回到主垂直列表,但会有一个区别:
- 在呼叫 OR 之前,脚注单独位于它们出现的位置旁边
- 调用 OR 后,它们都会聚集在插入框中。因此 LaTeX 必须决定将它们放在哪里,例如放在第一个还是最后一个。目前它是最后一个
- 因此,在您的示例中,它们被重新插入到 \section [NB \subsubsection 在您的情况下] 之后,但随后 LaTeX 决定在部分 [NB subsubsection] 之前中断,因此产生这样的结果。
首先这样做会有相反的问题(我猜这种情况会更频繁地发生),您可能会拿起脚注文本,然后标记会出现在下一页上。
对于这个问题,正确的方法是在调用 OR 时使用 \holdinginserts,但这不容易集成到算法中,因为这是一个重大的变化。
对于您遇到的具体情况,可能的解决方法是给定;但如果您的文档更复杂,它可能会破坏其他一些东西。给出的修复涉及加载etoolbox
和修补浮点的处理方式,因此您可以尝试添加
\usepackage{etoolbox}
\makeatletter
\patchcmd\end@float{\@cons\@currlist\@currbox}
{\@cons\@currlist\@currbox
\global\holdinginserts\@ne}
{}{}
\apptocmd\@specialoutput{\global\holdinginserts\z@}
\makeatother
回到你的序言。我在你的 MWE 上测试了它,它有效。
答案2
更新
我添加了float
并使\begin{figure}[H]
图形出现在\subsubsection
脚注将保留到第一页的末尾。(\vspace{17.5cm}
)
% !TeX TS-program = pdflatex
\documentclass[letter]{article}
\usepackage{setspace}
\usepackage{float}
\begin{document}
\small \rm
%\setstretch{2.0}
\doublespacing
a aj jfskdj pojsdf jasdfj jjiaosdjf jaisdojf ajsidfj oaijds fsojijf sd,
\vspace{17.5cm}
a aj jfskdj pojsdf jasdfj jjiaosdjf jaisdojf ajsid\footnote{fasu tuthwery ;xncdnbcd},
jpaisdjpfoiadsj fpajdspfiajsdpoijfapodsfjpoiadj
fpoiajsdfpoiajdskajsdpof fiosd f asd faijdf a df a jfpo oiaf pa pfoija
jpaisdjpfoiadsj fpajdspfiajsdpoijfapodsfjpoiadj
fpoiajsdfpoiajdskajsdpof fiosd f asd faijdf a df a jfpo oiaf pa pfoija
jpaisdjpfoiadsj fpajdspfiajsdpoijfapodsfjpoiadj
fpoiajsdfpoiajdskajsdpof fiosd f asd faijdf a df a jfpo oiaf pa pfoija
jpaisdjpfoiadsj fpajdspfiajsdpoijfapodsfjpoiadj
fpoiajsdfpoiajdskajsdpof fiosd f asd faijdf a df a jfpo oiaf pa pfoija
% Uncomment the following to fix the problem...
% jpaisdjpfoiadsj fpajdspfiajsdpoijfapodsfjpoiadjjpaisdjpfoiadsj fpajdspfiajsdpoijfapodsfjpoiadj
% fpoiajsdfpoiajdskajsdpof fiosd f asd faijdf a df a jfpo oiaf pa pfoija
\subsubsection{jpai sdjp foiadsj fpajdsp fia jsdpoij fapods fjpoiadj}
\begin{figure}[H]
\centering
\caption{
JHLHL Jlkjaklsdf jalksjdf kja;d fa;skldjf ;aksdjf japisodf
jpaisdjpfoiadsj fpajdspfiajsdpoijfapodsfjpoiadj
fpoiajsdfpoiajdskajsdpof fiosd f asd faijdf a df a jfpo oiaf pa pfoija
pdo fpaisodf aosdjf ia psfj aspoidjaposifjpaiod fpiaos fpais pfoa sdpoif sdf}
\end{figure}
jpaisdjpfoiadsj fpajdspfiajsdpoijfapodsfjpoiadj
fpoiajsdfpoiajdskajsdpof fiosd f asd faijdf a df a jfpo oiaf pa pfoija
jpaisdjpfoiadsj fpajdspfiajsdpoijfapodsfjpoiadj
fpoiajsdfpoiajdskajsdpof fiosd f asd faijdf a df a jfpo oiaf pa pfoija
\end{document}