🙋🏻‍♂️金融业相关非从业人员,关注各类新兴技术,精通多种语言的Hello World程序开发,超业余音乐制作人,徒步、旅行、美食爱好者


Copyright © 2020-2026
卯光宇 All Rights Reserved


pjax下的MathJax公式编号

今天写教程时发现一个问题:当MathJax打开公式自动编号功能后,某一页面上编好号的公式,如果转入其他页面再回去,其编号会自动往上增。分析了一下,应该是pjax导致的,看了一下MathJax的说明文档,没有找到完美的解决方案,但是找到了一个可行的替代方案。

公式自动编号功能,在MathJax 3.0里默认是关闭的,要开启这一功能只需加入以下JS代码:

window.MathJax = {
  tex: {
    tags: 'ams'
  }
};

在web环境下,有些时候需要为公式编号,MathJax的这个功能还是很赞的。但是,pjax下,由于JS代码在页面间是不刷新的,每出现一个带编号的公式,MathJax就会自动把编号往上加1,它无法区分一个公式处于哪个页面以及有没有被访问过。

我想要的是每个页面的公式单独自动编号,且在pjax下互不影响。这个功能感觉应该是可以实现的,简单浏览了一下MathJax的说明文档,遗憾没有找到有用的信息。不过,倒是找到一个笨办法:手动为公式编号,这需要用\tag{}:

$$y = \alpha + beta x + u \tag{1}$$ 

$$y = \alpha + \beta x + u \tag{1}$$

当公式不多的时候,手动编号是可以接受的。此外,\tag{}支持非数字“编号”,在某些情况下,这可能是有用的,例如:

$$0.\dot{9} = 1 \tag{飒}$$
$$\frac{\sin x}{n} = 6 \tag{😎}$$

$$0.\dot{9} = 1 \tag{飒}$$
$$\frac{\sin x}{n} = 6 \tag{😎}$$


读后有收获欢迎打赏站长喝罐RIO😹


点赞    

扫一扫,点右上角⋯分享




   
   
    给站长留言    
😀😂😅😆😊😍😝🤭🌹🤝😵😭😱😳😣😴
昵称*
验证*:9-7 =