不同页面上的脚注标记和脚注文本

不同页面上的脚注标记和脚注文本

有没有办法允许脚注从引用脚注的那一页的下页开始?如果脚注与引用文本行之间的间隔不超过 1 页,那么在某些情况下这是可以接受的,甚至是可取的。请参阅下面的 MWE,了解要求将脚注与引用文本放在同一页上所引起的文档布局问题。

    \documentclass{article}
    \usepackage{lipsum}
    \begin{document}
    This line gets broken across two pages in order to accomodate long footnotes. %
    Preferably, the second footnote would not obligatorily begin on the %
    same page as the first footnote. This would avoid awkwardly large blank pages.%
    \footnote{The footnote itself has a footnote.\footnotemark%
    \lipsum}%
    \footnotetext{\lipsum}%
    \end{document}

注意:我不希望使用尾注,因为脚注可以避免必须翻页/滚动到文档末尾的问题。我只想改变脚注放置的属性,以避免在调用页面上放置脚注而产生较大的空间。

注意:该命令\interfootnotelinepenalty=0不能解决问题,因为该参数会影响脚注是否允许跨页,而不是脚注是否允许从调用页面以外的其他页面开始。

答案1

\footnotemark和不要求位于\footnotetext{<text>}同一页。您可以发出一个\clearpage刷新所有内容并\footnotetext{<text>}在下一页上排版,也可以使用以下方式自动将其设置在下一页上atbegshi

在此处输入图片描述

\documentclass{article}
\usepackage{atbegshi}% http://ctan.org/pkg/atbegshi
\usepackage{lipsum}
\begin{document}
This line gets broken across two pages in order to accomodate long footnotes. %
Preferably, the second footnote would not obligatorily begin on the %
same page as the first footnote. This would avoid awkwardly large blank pages.%
\footnote{The footnote itself has a footnote.\footnotemark%
\lipsum}%
\AtBeginShipoutNext{\footnotetext{\lipsum}}% Typeset footnote on following page
\ \lipsum
\end{document}

atbegshi提供\AtBeginShipoutNext{<stuff>}延迟执行<stuff>上述情况中的 ,因为页面已经组装好以供发货,随后刷新到下一页。在“延迟\footnotetext”之后有更多文本,只是为了展示如何维护文本流。

答案2

如果您正在使用 hyperref-package,您也可以尝试以下代码(使用一个嵌套的脚注,Werner 的方法可以正常工作,但如果有更多脚注,我不确定):

\documentclass{article}
\usepackage{atbegshi}% http://ctan.org/pkg/atbegshi
\usepackage{lipsum}

\usepackage{tablefootnote}% http://ctan.org/pkg/tablefootnote

\makeatletter
\newcommand{\spewnotes}{%
\tfn@tablefootnoteprintout%
\global\let\tfn@tablefootnoteprintout\relax%
\gdef\tfn@fnt{0}%
}
\makeatother

\usepackage{hyperref}% if you like to have hyperlinks, otherwise omit it

\begin{document}
This line gets broken across two pages in order to accommodate long footnotes. %
Preferably, the second footnote would not obligatorily begin on the %
same page as the first footnote. This would avoid awkwardly large blank pages.%
\footnote{The footnote itself has a footnote.\tablefootnote{\lipsum}%
\AtBeginShipoutNext{\spewnotes}% Typeset footnote on following page
\lipsum}%
\ \lipsum
\end{document}

相关内容