请查看以下 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
,还会重置subsection
,subsubsection
,...
该类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}