一本书长度的文档中每一页的脚注都从第一个开始

一本书长度的文档中每一页的脚注都从第一个开始

似乎无论我做什么,脚注都不太正确。在其他每一页上,它可能以 2 开头,而 1 位于上一页列表的末尾,或类似情况。无论我重新运行多少次,它总是告诉我重新运行以修复交叉引用。

我尝试过perpage、、、甚至是古老footmisc的。zref-perpagefootnpag

常问问题没给我太多希望。

这个perpage包几乎可以正常工作。它在小示例中确实可以正常工作,但在一本 800 页的书中却不行。


编辑:

尝试 1:

\usepackage{perpage}
\MakePerPage{footnote}

尝试2:

\usepackage[perpage]{footmisc}

尝试3:

\usepackage{zref-perpage}
\zmakeperpage{footnote}

我正在使用回忆录类。每页大约有 10-40 个脚注。

我正在使用 lualatex。

第一个有问题的脚注直到第 38 页才出现。

作为这个答案表明,“引用在哪个页面上振荡”。


编辑2:

这是最简单的例子。问题出现在第 26 页,其中脚注列表从第 34 开始。

https://gist.github.com/honza/8707c5eaeb038aa611a44925e3b4c7bc

答案1

我认为,有这么多脚注,最好将它们添加到文档末尾。使用\usepackage{endnotes} \let\footnote=\endnote %

\clearpage
\theendnotes
\end{document}

在文档的末尾。

如果您想将 Notes 标题翻译成其他内容,请使用:

\addto\captionsenglish{\renewcommand*{\notesname}{Former footnotes}}

\addto\captionsgreek{\renewcommand{\notesname}{σημειώσεις}}

这是我用来编写的序言书籍文档。

\documentclass[]{memoir}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{Gentium}
\newfontfamily{\defaultfont}{Gentium}
\newfontfamily{\englishfont}{PT Sans}
\newfontfamily{\greekfont}{Gentium}

\ifxetex
\usepackage{polyglossia}
\setdefaultlanguage[variant=monotonic]{greek}\setotherlanguage[variant=british]{english}
\usepackage[Latin, Greek]{ucharclasses}
\setDefaultTransitions{\defaultfont}{}
\setTransitionsForGreek{\greekfont}{}
\setTransitionsForLatin{\englishfont}{}
\else
\usepackage[nil,bidi=basic,english,main=greek]{babel}
\babelprovide[import=el,main]{greek}
\babelfont[greek]{rm}[Ligatures=TeX]{Gentium}
\babelfont[english]{rm}[Ligatures=TeX]{PT Sans}
\fi

\usepackage{titlesec}
\usepackage{hyphsubst}
\usepackage{lettrine}
%\usepackage[perpage]{footmisc}
\usepackage{endnotes}
\let\footnote=\endnote

%\addto\captionsenglish{\renewcommand*{\notesname}{Former footnotes}}
%\addto\captionsgreek{\renewcommand{\notesname}{σημειώσεις}}
\DeclareFontSeriesDefault[rm]{bf}{b}

\makeatletter % better spacing for endnotes
\def\enoteformat{%
  \rightskip\z@ \leftskip\z@ \parindent=1.8em
  \leavevmode{\setbox\z@=\lastbox}\llap{\theenmark\enskip}%
}%
\makeatother

\newcommand{\entry}[2]{\hangpara{2em}{1}\markboth{#1}{#1}\textbf{#1} \ #2}
\renewcommand{\thefootnote}{\textit{\arabic{footnote}}}

\interfootnotelinepenalty=10000

\begin{document}
\sloppy
... %% lines 29 to 373 of book.tex
\theendnotes
%% If one want start a new endnote list for next chapter uncomment `setcount` these 
%\setcounter{endnote}{0}
%\newpage
% \chapter*{next chapter}
% \theendnotes
%%
\end{document}

如果您想要每章后的尾注列表,可以在新章节开始\setcounter{endnote}{0}之后和之前添加。\theendnotes

相关内容