zref-abspage 与 perpage 不兼容

zref-abspage 与 perpage 不兼容

似乎zref-abspageperpage都定义了abspage计数器,所以

\documentclass{article}
\usepackage{perpage}
\usepackage{zref-abspage}
\begin{document}
This is a test 
\end{document}

会产生错误。

该如何修复?似乎改变加载顺序可以修复它。

答案1

是的,我已经知道了,并准备好了 3.0 版zref。在 中zref-abspage我将计数器重命名为zabspage。我还借主要版本步骤的机会改变了计数器增加的方式。在 3.0 版之前,计数器在发货时通过 增加\AtBeginShipout,这意味着在输出例程中,计数器尚未像计数器 一样更新为页面的值page。在 3.0 版中,计数器zabspage显示下一页的页码,并在发货后增加,就像计数器 的行为一样page

因为我还没有完成该捆绑包的其他部分的工作,所以我的捆绑包的下一个版本将在今年晚些时候发布。

答案2

老问题了,但其他人可能会遇到这个问题,因为 bigfoot 和 manyfoot 使用 perpage。

显然,这一变化从未被纳入 zref-abspage,也不会被纳入:https://github.com/ho-tex/zref/issues/3#issuecomment-564498677

可能的解决方法:

\usepackage{etoolbox}
\makeatletter
% First fool perpage into thinking the counter is already defined
\def\c@abspage{INVALID PLACEHOLDER}
\RequirePackage{perpage}
% Now create an alternative counter name...
\AddAbsoluteCounter{pp@abspage}
% And redefine the perpage macro that uses it.
\def\theabspage{\ifx\thepage\relax
    \noexpand\thepp@abspage
  \else
    \number\c@pp@abspage
  \fi}
% Finally, clean up the mess we did.
\undef{\c@abspage}
\makeatother

相关内容