我遵循了这个问题的答案,并使用以下内容在Jupyter笔记本中获取方程式编号:
%%javascript
MathJax.Hub.Config({
TeX: { equationNumbers: { autoNumber: "AMS" } }
});
但是,每次更新其中带有方程式的降价单元格时,该数字都会增加一,或者从笔记本中已有的最大数字开始继续。
例如,如果单元格被两次编辑并且是笔记本中的唯一方程式,则第一个方程式可能会被编号(3),或者如果笔记本中有4个方程式并且单元格被编辑,则第一个方程式可能会被编号(5)。一旦。如果我关闭笔记本电脑并再次打开它,则所有数字均正确。
有没有办法阻止这种情况的发生或在不关闭和打开笔记本电脑的情况下进行修复?
如果添加
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。
我认为这应该做您想要的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句