我正在用 OpTeX 写一份简短的报告,我注意到一个麻烦的行为,我无法轻易改变:每个部分都会重置显示方程的计数器。因此,我在同一个文档中有几个方程编号 (1)、(2)、(3),很难正确引用它们。optex
下面是一个用命令编译的最小示例。
是否可以为所有显示的方程式保留一个增量计数器?我知道默认行为已写在文档中,但以这种方式撰写长篇论文是一场噩梦(在我看来)。
\sec One
$$ a+b=c \eqmark $$
\sec Two
$$ d+e=f \eqmark $$
\bye
答案1
您需要防止\_secx
(在每个部分开始时运行)重置\_dnum
(方程式数量计数器)。最简单的方法是复制原始 OpTeX\_secx
但删除\_dnum=0
;更通用的解决方案是\_dnum=0
从当前的内容中删除\_secx
。
\margins/1 a5 (2,2,1,1)in
\nopagenumbers
\fontfam[LMfonts]
\sec One
$$ a = 1 \eqmark $$
\sec Two
$$ b = 2 \eqmark $$
% % Option 1
\_directlua{
token.set_macro("_secx", token.get_macro("_secx"):gsub("._dnum =0", ""))
}
% % Option 2
% \_def\_secx{\_seccx \_seccnum=0 \_tnum=0 \_fnum=0 \_resetABCDE}
\sec Three
$$ c = 3 \eqmark $$
\sec Four
$$ d = 4 \eqmark $$
\bye