TLDR;有没有办法可以在文档开头使用变量的最终值?
我想通过简单地添加文本块来自动生成报告。每次出现文本块都会增加相应的计数器,效果很好。例如,可以创建 [猫、狗、鸟] 文本块。变量cnt_dog, cnt_cat, cnt_bird
是预先定义的,并使用 来增加\newcommand{\catbox}{\addtocounter{cnt_cat}{1}}
。
\arabic{cnt_cat}
现在的问题是:当我访问文档末尾的变量( )(使用 TeX-Studio)时,一切正常,但是当我访问开始文档的值为 0。看来解析器最终没有更新先前使用的值 :/
欢呼吧,安迪
答案1
你可以在最后使用
\immediate\write\@auxout{\string\setcounter{cnt_cat}{\arabic{cnt_cat}}}
(附有@
信件)
那么.aux
文件将会有类似
\setcounter{cnt_cat}{5}
\begin{document}
因此下次运行时计数器将被设置为 5 。