似乎无论我做什么,脚注都不太正确。在其他每一页上,它可能以 2 开头,而 1 位于上一页列表的末尾,或类似情况。无论我重新运行多少次,它总是告诉我重新运行以修复交叉引用。
我尝试过perpage
、、、甚至是古老footmisc
的。zref-perpage
footnpag
这常问问题没给我太多希望。
这个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