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{😎}$$
- 版权声明:本作品使用知识共享(Creative Commons)的署名-非商业性使用-禁止演绎 4.0 国际许可协议。非商业转载请注明出处(作者及原文链接),商业转载请联系作者获得授权。


给站长留言