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

如何在本地Sphinx构建中不使用CDN引入MathJax?

解决Sphinx本地部署MathJax无法渲染公式的问题
  • 检查mathjax_path路径配置
    确保conf.py中的路径是相对于_static目录的相对路径,正确配置示例:

    mathjax_path = 'MathJax/tex-mml-chtml.js'
    

    不要使用绝对路径或包含域名的路径,否则Sphinx构建时无法正确映射到本地静态资源。

  • 清理MathJax配置中的CDN依赖
    如果你设置了mathjax3_config,确保其中没有指向CDN的配置项(比如loader.source),保持配置仅包含渲染相关的参数,比如:

    mathjax3_config = {
        'tex': {
            'inlineMath': [['$', '$'], ['\\(', '\\)']],
            'displayMath': [['$$', '$$'], ['\\[', '\\]']]
        }
    }
    
  • 清除构建缓存
    旧的构建缓存可能残留CDN版本的MathJax脚本,执行以下命令彻底清理后重新构建:

    make clean
    make html
    
  • 检查浏览器控制台报错
    打开F12开发者工具的控制台,查看是否有404(文件未找到)或脚本执行错误:

    • 如果是404,说明mathjax_path路径配置错误,或者文件没有被正确复制到构建后的_static目录;
    • 如果是脚本执行错误,可重新下载一次单文件包(即使哈希一致,也可能存在传输过程中的隐性损坏)。
  • 关于额外文件的说明
    官方的tex-mml-chtml.js是单文件打包版本,已经包含了所有必要的依赖(包括loader、核心渲染模块等),不需要额外引入loader.js或其他文件,除非你自定义了MathJax模块加载逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 14:58:18