我按照this question的答案,使用以下方法在木星笔记本中获得方程号:
%%javascript
MathJax.Hub.Config({
TeX: { equationNumbers: { autoNumber: "AMS" } }
});然而,每次我更新一个带有等式的标记单元格时,这个数字就会从笔记本中的最大数字增加一个或继续。
例如,如果单元格被编辑了两次,第一个方程可能被编号(3),这是笔记本中唯一的方程,或者如果笔记本中有4个方程,并且单元格被编辑一次,则可以编号(5)。如果我关闭笔记本,再打开它,所有的数字都是正确的。
有没有一种方法可以阻止这种情况发生,或者在不关闭和打开笔记本的情况下修复?
发布于 2017-09-26 23:03:02
如果你加上
MathJax.Hub.Register.StartupHook("TeX AMSmath Ready", function () {
var AMS = MathJax.Extension['TeX/AMSmath'];
MathJax.InputJax.TeX.postfilterHooks.Add(function (data) {
var jax = data.script.MathJax;
jax.startNumber = AMS.startNumber;
jax.eqLabels = AMS.eqlabels;
jax.eqIDs = AMS.eqIDs;
});
MathJax.InputJax.TeX.prefilterHooks.Add(function (data) {
var jax = data.script.MathJax;
if (jax.startNumber != undefined) {
AMS.startNumber = jax.startNumber;
Object.keys(jax.eqLabels).forEach(function (x) {delete AMS.labels[x]});
Object.keys(jax.eqIDs).forEach(function (x) {delete AMS.IDs[x]});
}
}, 1);
});到您的%%javascript部分,它将设置一些前后过滤器,以保存在处理时作为方程一部分的有关方程号、标签和方程ID的信息,如果重新处理,它将重置方程编号以从给定方程的数目开始,并从正在使用的方程的记录中清除标签和ID,以便使用现有的等式号(而不是关于重复的\label宏的错误,而不更改用于链接到等式的标记ID)重新排版。
我认为这应该能做你想要的。
https://stackoverflow.com/questions/46315518
复制相似问题