Material for MkDocs---数学公式
知识库里面的内容涉及安培定律公式,发现无法渲染,也就是不支持数学公式,去必应搜索,出来的Material for MkDocs中文文档。其中的数学公式配置无法生效,可能是由于其调用的polyfill.io被封了,所以无效。阴差阳错才找到了原版官网,才找到正确方法。
操作
详细内容:Material for MkDocs官方文档中配置数学公式
这里记录一下MathJax进行配置,没有使用KaTeX,KaTex不知道有没有我下面遇到的问题
在项目根目录起中新建docs/javascripts/mathjax.js文件。然后写入如下内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| window.MathJax = { tex: { inlineMath: [["\\(", "\\)"]], displayMath: [["\\[", "\\]"]], processEscapes: true, processEnvironments: true }, options: { ignoreHtmlClass: ".*|", processHtmlClass: "arithmatex" } };
document$.subscribe(() => { MathJax.startup.output.clearCache() MathJax.typesetClear() MathJax.texReset() MathJax.typesetPromise() })
|
然后在项目的mkdocs.yml配置中写入如下内容:
1 2 3 4 5 6 7
| markdown_extensions: - pymdownx.arithmatex: generic: true
extra_javascript: - javascripts/mathjax.js - https://unpkg.com/mathjax@3/es5/tex-mml-chtml.js
|
这里的unpkg.com国内可以正常访问
我按照官方文档中的MathJax配置后,发现公式结构\[ \]无法渲染。于是修改docs/javascripts/mathjax.js文件代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| window.MathJax = { tex: { inlineMath: [['$', '$'], ['\\(', '\\)']], displayMath: [['$$', '$$'], ['\\[', '\\]']], packages: {'[+]': ['ams']} }, startup: { typeset: false } };
document$.subscribe(() => { if (window.MathJax?.typesetPromise) { MathJax.typesetPromise(); } });
|
注意事项
我是询问AI后进行的解决。至于本质原因并不是很理解,未来深入学习后,会补充本质原因分析。如果修改后有任何BUG,请恢复官方配置。
本文章编写于2025年8月1日,如果在未来的失效了请以最新版本为主。
鸣心/Write