我正在使用pagesel
包仅输出大型文档的选定部分。该文档中的页码不是绝对页码,但 pagesel(非常正确)使用绝对页码。因此,我想要做的是,在我的文档中,放置一个命令以在我的 TeX 日志中列出绝对页码。该pagesel
包使用计数器ps@count
来跟踪绝对页码,因此我尝试了以下两个想法,但都不起作用:
\makeatletter
\typeout{Absolute Page \value{ps@count}}
\makeatother
\makeatletter
\typeout{Absolute Page \theps@count}
\makeatother
有人可以修复其中一个吗?(我从另一个答案中看到)如何找到整数形式的绝对页码?我可以使用zref
包,但是当 pagesel 已经有我想要的计数器时,这似乎需要做很多工作。)
答案1
如果你加载pagesel
包裹无需指定任何选择选项(这是该包的主要目的),那么它实际上会“卸载”自身。从pagesel
文档(部分1 使用,第 2 页):
根据选项的不同,该包有两种工作模式:
- 如果没有页面选择选项,则包将忽略其他选项并自行完成。因此包将不会抑制任何页面,并且将写入辅助文件。
- 至少有一个页面选择选项,则选定指定页面,其他页面将被抑制。此模式的默认设置是辅助页面不会被覆盖。(这可以通过选项更改。)
您可以pagesel
使用选项作为页面范围来加载并指定应写出所有页面-
。仅举一个例子:
\documentclass{article}
\usepackage[-]{pagesel}% http://ctan.org/pkg/pagesel
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\makeatletter
\EveryShipout{\typeout{Absolute page \theps@count.}}
\makeatother
\begin{document}
\lipsum[1-10]
\end{document}
.log
将在你的(某处)输出:
ABD: EveryShipout initializing macros
Absolute page 1.
[1
{c:/texlive/2013/texmf-var/fonts/map/pdftex/updmap/pdftex.map}]
Absolute page 2.
[2] )
请注意pagesel
使用everyshi
确定发货时的页数。这是唯一可以使用页数计数器的可靠时间,因此您也应该这样做。