我的导师有一个 LaTeX 页面,其中包含少量正文和一个由两段组成的长脚注。有没有办法强制脚注跨越两页并选择断点在两段之间?
我做了一些与此相关的谷歌搜索,大多数人似乎都有相反的问题;他们不希望长脚注跨越两页。
但从谷歌搜索结果来看,
\interfootnotelinepenalty=0
在序言中。但是这并没有解决选择在两个段落之间断点的问题。
答案1
很有可能,Ulrike 的回答是你真正想要的。然而,为了做到这一点字面上地你的问题要求的是力量脚注两段之间的分页符(例如,因为你不希望脚注占用该特定页面上太多的垂直空间),你应该简单地写
\vspace{\maxdimen}
在所讨论的两个段落之间。 这两种方法(Ulrike 的方法和这种方法)也可以结合起来:
% My standard header for TeX.SX answers:
\documentclass[a4paper]{article} % To avoid confusion, let us explicitly
% declare the paper format.
\usepackage[T1]{fontenc} % Not always necessary, but recommended.
% End of standard header. What follows pertains to the problem at hand.
\usepackage{lipsum}
\begin{document}
Blah blah.\footnote{\interlinepenalty = 10000
\lipsum[1-2]
\vspace{\maxdimen}
\lipsum[3-4]
}
\end{document}
请注意更换
\vspace{\maxdimen}
和
\pagebreak[4]
不能保证在任何情况下都能正常工作,即使你使用
\par \penalty -1000000000
代替\pagebreak[4]
。原因在第 123 页解释TeXbook:每当应用步骤 3 时,甚至都不会尝试步骤 4。
更一般地,你可以力量在脚注中的某一行之后放置分页符
\vadjust{\vskip\maxdimen}
在该行的某处;这将克服可能生效的任何其他设置。例如:
% My standard header for TeX.SX answers:
\documentclass[a4paper]{article} % To avoid confusion, let us explicitly
% declare the paper format.
\usepackage[T1]{fontenc} % Not always necessary, but recommended.
% End of standard header. What follows pertains to the problem at hand.
\usepackage{lipsum}
\begin{document}
Blah blah.\footnote{\interlinepenalty = 10000 \clubpenalty = 10000
\lipsum[1-2]
I~want this footnote to be broken across pages right after the line that
contains \emph{this}\vadjust{\vskip\maxdimen} word. \lipsum*[3]
\lipsum[4]
}
\end{document}
最后需要注意的是,如果您需要限制脚注页面的垂直空间,可以通过设置长度值来实现,该值可以命名为\dimen\footins
。例如,
% My standard header for TeX.SX answers:
\documentclass[a4paper]{article} % To avoid confusion, let us explicitly
% declare the paper format.
\usepackage[T1]{fontenc} % Not always necessary, but recommended.
% End of standard header. What follows pertains to the problem at hand.
\usepackage{lipsum}
\begin{document}
\setlength{\dimen\footins}{200pt}
Blah blah.\footnote{\lipsum[1-4]}
\end{document}