zref-abspage 需要定义标签,而 zref-nextpage 不需要。为什么?

zref-abspage 需要定义标签,而 zref-nextpage 不需要。为什么?

我正在寻找一种直接的方法来获取当前位置的绝对页码。我zref-abspage在包中偶然发现了包(程序员的接口)oberdiek

为什么我需要自己定义一个标签才能获得该abspage属性?为什么包不能自动帮我做这件事?这很麻烦,因为为了生成唯一的标签,我必须定义并维护另一个计数器变量。

相比之下,该zref-nextpage模块没有这个要求:

\documentclass{article}
\usepackage{zref-abspage}
\usepackage{zref-nextpage}
\usepackage{ifthen}

\newcount\loopcnt

\makeatletter

\begin{document}

\whiledo{\loopcnt<300}{ %about 7 pages of output
  \noindent%
  \zref@labelbyprops{mylabel\the\loopcnt}{abspage}%
  \zref@extract{mylabel\the\loopcnt}{abspage},
  \znextpage\\ % no label required
  \advance\loopcnt by 1
}

\end{document}

相关内容