我想使用zref
包将对象的位置转储到外部文件中。我可以转储zposx
和zposy
,但不能转储zrefpage
。
梅威瑟:
\documentclass{article}
\usepackage[user,savepos]{zref}
\begin{document}
ABC \zlabel{page}\zsavepos{pos}
page: \zpageref{page}
\edef\temp{page \zpageref{page} position \zposx{pos} \zposy{pos}}
\newwrite\writer
\openout\writer=position.pos\relax
\write\writer{\temp}
\closeout\writer
\end{document}
经过两次编译后转储的 position.pos 文件:
page \zpageref {page} position 11430063 42091806
\zpageref
仍然存在。
如何\zpageref{page}
用页码替换?
答案1
灵感来自https://tex.stackexchange.com/a/209195/143504,我意识到可能也\zref
不能用于\edef
。
通过阅读zref
文档,我弄清楚了如何获取编号。使用zref@extractdefault
获取页码,但不能zpageref
。
梅威瑟:
\documentclass{article}
\usepackage[user,savepos]{zref}
\begin{document}
ABC \zlabel{page-label}\zsavepos{pos}
\makeatletter
\edef\temp{page \zref@extractdefault{page-label}{page}{0} position \zposx{pos} \zposy{pos}}
\makeatother
\newwrite\writer
\openout\writer=position.pos\relax
\write\writer{\temp}
\closeout\writer
\end{document}
还有position.pos
:
page 1 position 11430063 42091806