
我正在用 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