为什么开始新的章节会使脚注从 2 开始?

为什么开始新的章节会使脚注从 2 开始?

请查看以下 MWE:

\documentclass{report}
\usepackage{perpage}
\usepackage{lipsum}
\MakePerPage{footnote}
\begin{document}
\chapter*{unnumbered}
Wombat unnumbered\footnote{Capybara unnumbered}
\chapter{Introduction}
Wombat\footnote{Capybara}
\chapter{C}
\lipsum
\footnote{b}%This would be footnote number 2 as well if called on the first page of the chapter. (Bug is not limited to the first numbered chapter of a document.)
\end{document}

\MakePerPage{footnote}在编号章节的第一页上调用脚注时,似乎会使脚注编号从 2 开始。

答案1

这个“错误”是在 LaTeX 中引入的,来自changes.txt

2015-01-10 大卫·卡莱尔

  • ltcounts.dtx:重置所有计数器级别(latexrelease)

每个 LaTeX 计数器都与一个计数器列表相关联。如果 LaTeX 计数器增加,则此列表中的计数器将被重置\stepcounter。因此,如果chapter增加,则section重置为零。

在 2015 年之前的 LaTeX 中,此重置操作是通过将计数器分配为零来完成的。自 LaTeX 2015-01 版以来,这是通过将计数器设置为 -1,然后执行 来完成的\stepcounter。效果是\stepcounter触发下一个依赖计数器的重置,并且计数器的前进chapter不仅会重置section,还会重置subsectionsubsubsection,...

该类report将计数器添加footnote到的重置列表中chapter

问题出现在与挂钩的软件包中,例如perpage或。挂钩会创建一个标签来获取当前页码,以决定是否需要重置计数器,以及计数器是否会在新页面上递增。基本假设是,只有在需要新对象的新编号时才会调用 。现在,LaTeX 更新违反了这一假设。zref-perpage\stepcounter\stepcounter

解决方法:通过包使用较旧的 LaTeX latexrelease

\RequirePackage[2014/05/01]{latexrelease}
\documentclass{report}
\usepackage{perpage}
\usepackage{lipsum}
\MakePerPage{footnote}
\begin{document}
\chapter*{unnumbered}
Wombat unnumbered\footnote{Capybara unnumbered}
\chapter{Introduction}
Wombat\footnote{Capybara}
\end{document}

解决方案:footnote通过从重置列表中删除,此问题已得到解决chapter

下面的示例使用了zref-perpage,但应该以perpage相同的方式与包一起工作,因为两个包都共享关于的假设\stepcounter并将其挂接到其中。

\documentclass{report}
\usepackage{zref-perpage}
\usepackage{lipsum}
\zmakeperpage{footnote}

% Remove counter "footnote" from the reset counter list
% of counter "chapter".
\usepackage{remreset}
\makeatletter
\@removefromreset{footnote}{chapter}
\makeatother

\begin{document}
\chapter*{unnumbered}
Wombat unnumbered\footnote{Capybara unnumbered}
\chapter{Introduction}
Wombat\footnote{Capybara}
\end{document}

相关内容