我想知道 TeX 如何管理计数器。具体来说,假设我在 TeX 中定义了一个新的计数器,\newcount\mycounter
但某个时候我不再需要它了,我可以删除它并释放相关的注册表吗?
当需要使用一系列计数器\c1
, \c2
, ... 时,这可能很有用,\c<n>
其中n可能会变大,并且在某些时候不需要序列中的某些计数器(比如,直到某个索引)。
答案1
如果使用n计数器特定于某些任务,您可以在组中进行计算并为其分配您想要的任何寄存器:
\newcount\mycounter
\begingroup
\countdef\mycounta=11
\countdef\mycountb=12
...
<the computations where the total is stored in \mycounta>
\global\mycounter=\mycounta
\endgroup
\mycounta
到的局部等价性\count11
将在组结束时被遗忘,它们的值也将被遗忘。只要您在计算中不使用任何“外部”计数器,就可以确保不会发生冲突。
释放计数器需要相当复杂的分配宏重写;对于提供每种类型 32768 个寄存器的 e-TeX 来说,这并不重要。