
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