You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让MkDocs中Arithmatex与MathJax识别\\[...\\]为块级公式分隔符

问题核心原因

你之前的配置未生效的根本原因是没有开启Arithmatex的generic模式:该配置默认值为false,此时Arithmatex不会主动扫描全文档匹配自定义的LaTeX分隔符,仅会处理通过superfences定义的TeX代码块内容,你配置的tex_block_wrap参数完全没有被触发。


正确配置步骤

1. 修改mkdocs.yml配置

调整pymdownx.arithmatex参数,开启通用扫描模式并配置自定义块分隔符:

markdown_extensions:
  - footnotes
  - pymdownx.arithmatex:
      generic: true # 必须开启,才会扫描全文档匹配自定义分隔符
      tex_block_wrap: ['\\\\[', '\\\\]'] # YAML语法中1个字面反斜杠需要双重转义,4个反斜杠对应Markdown源码中的2个反斜杠
      # 如不需要默认的$符号作为公式分隔符,可添加下一行关闭误识别
      # smart_dollar: false
  - pymdownx.highlight
  - pymdownx.superfences
extra_javascript:
  - javascripts/mathjax-config.js
  - https://polyfill.io/v3/polyfill.min.js?features=es6
  - https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg-full.js

2. 调整MathJax配置(可选)

仅当你需要MathJax直接处理页面中未被Arithmatex预处理的LaTeX内容时需要修改,注意JS字符串的转义规则:

window.MathJax = {
    tex: {
        // Markdown渲染后会把源码的2个反斜杠转义为1个,因此匹配页面内容的分隔符为\[和\],JS中写为\\[和\\]
        displayMath: [ ["\\[", "\\]"] ],
    },
    // 保留官方默认配置的其他参数即可
....

3. 验证效果

清理之前的构建缓存,删除项目下的site文件夹后重新执行mkdocs build或mkdocs serve,你写的测试内容即可正常渲染为块级公式:

\\[
\Sigma_n
\\]

内容的提问来源于stack exchange,提问作者mhucka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 13:27:04