有没有办法获取迄今为止发货的页数?明确地说,我想计算“物理”输出;我对我们通常在页脚或页眉中找到的逻辑页码不感兴趣。
我目前的实现只是侵入了\shipout
,如下所示,但如果某些包裹通过 发货,这将不起作用\primitive\shipout
(我的包裹就是这样的)。因此,再次重申这个问题,我需要计算\shipout
原始被称为。
\def\shipout{%
\global\advance\mmz@realpage1
\mmz@orig@shipout
}%
我知道这个everyshi
软件包,如果我的问题最终得到了否定的答案,我计划使用它 - 这样半工作的破解至少是以“官方”的方式执行的 - 但是因为我只需要计算输出页面的数量而不是以任何方式修改它们,所以我想问问是否有一种侵入性更小、更精确的方法来做到这一点。
归根结底,我正在寻找一种可以跨引擎和格式的解决方案,但在这一点上,我同样欢迎有关部分解决方案的提示。
背景:我正在开发一个外部化包memoize
,目前可在GitHub。该软件包在一次编译中将所有图形外部化,它通过将外部化的页面转储到文档本身来实现这一点。在下一阶段,这些页面将与常规输出分开,为此,我需要知道这些页面是哪些页面,即实际的物理页码。
答案1
恐怕没有在每次\shipout
操作时踩踏的内部计数器。如果它仅由输出例程调用,然后可以用计数器来处理它,当页面实际被发送出去时,计数器就会递增。
在你的情况下,这是不可能的,所以必须\shipout
通过重新定义来解决这个问题。由于其他软件包也有,所以重要的是与它们合作。目前,最可靠的软件包是atbegshi
。
我们计划在不久的将来推出内核挂钩。