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

如何在Docusaurus v2的src/pages页面渲染数学公式?

解决Docusaurus v2中src/pages目录下Markdown文件数学公式不渲染的问题

Docusaurus默认只给docs目录的文档启用数学公式渲染插件,pages目录的页面不会自动触发这些插件的处理,所以才会出现docs里公式正常显示、pages里只显示原始文本的情况。下面是两种解决办法:

方法一:全局配置扩展渲染范围(推荐)

根据你用的数学渲染工具,修改docusaurus.config.js的配置,让插件同时处理pages目录的文件:

如果你用的是MathJax插件

找到插件配置块,把include路径扩展到pages:

module.exports = {
  plugins: [
    [
      'docusaurus-plugin-mathjax',
      {
        include: ['**/*.md', '../src/pages/**/*.md'], // 覆盖docs和pages的所有md文件
        mathjax: {
          // 你的MathJax原有配置
        }
      }
    ]
  ]
};

如果你用的是KaTeX的remark/rehype插件

在presets的pages字段里添加和docs一样的remark/rehype插件,同时确保引入KaTeX样式:

module.exports = {
  presets: [
    [
      '@docusaurus/preset-classic',
      {
        docs: {
          remarkPlugins: [require('remark-math')],
          rehypePlugins: [require('rehype-katex')],
        },
        pages: {
          remarkPlugins: [require('remark-math')],
          rehypePlugins: [require('rehype-katex')],
        },
      }
    ]
  ],
  stylesheets: [
    {
      href: 'https://cdn.jsdelivr.net/npm/katex@0.13.24/dist/katex.min.css',
      type: 'text/css',
    },
  ],
};

方法二:单个页面手动引入渲染脚本

如果只是个别pages文件需要渲染公式,可以在文件开头直接添加渲染脚本,不用改全局配置:

---
title: Test
---

<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>

# Test

Some formula: $\sqrt{a^2+b^2}$

最后一步

修改完配置或者页面内容后,一定要重启Docusaurus的本地服务(先停掉原来的npm start,再重新启动),新配置才会生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 04:06:29