--- title: 数学公式 icon: tabler:math createTime: 2025/11/29 21:36:22 permalink: /guide/markdown/math/ --- ## 概述 主题内置了对 数学公式 的支持。 该功能由 [@vuepress/plugin-markdown-math](https://ecosystem.vuejs.press/zh/plugins/markdown/markdown-math.html) 提供支持。你可以选择在 markdown 中使用以下方式渲染数学公式: - `katex` (默认) - `mathjax` ## 使用 ```ts title=".vuepress/config.ts" export default defineUserConfig({ theme: plumeTheme({ markdown: { math: { type: 'katex', // 'katex' | 'mathjax' // ... 其它配置项 } }, }) }) ``` 当你选择使用 `mathjax` 时,还需要执行以下命令安装依赖: ::: npm-to ```sh npm i @mathjax/src ``` ::: ## 语法 ### 内联语法 使用 `$` 包裹数学公式 _(即在两个 `$` 之间编写数学公式)_ ::: demo markdown title="内联模式" expanded ```md Euler's identity $e^{i\pi}+1=0$ is a beautiful formula in $\mathbb{R}^2$. ``` ::: ### 块级语法 使用 `$$` 包裹数学公式 _(即在两个 `$$` 之间编写数学公式)_ ```md /$$/ $$xxx$$ $$ xxx $$ ``` :::demo markdown title="块级模式" expanded ```md $$ \frac {\partial^r} {\partial \omega^r} \left(\frac {y^{\omega}} {\omega}\right) = \left(\frac {y^{\omega}} {\omega}\right) \left\{(\log y)^r + \sum_{i=1}^r \frac {(-1)^ Ir \cdots (r-i+1) (\log y)^{ri}} {\omega^i} \right\} $$ ``` ::: ## 相关教程 ### TeX [TeX 教程](https://www.overleaf.com/learn/latex/Learn_LaTeX_in_30_minutes){.readmore} [TeX 速查表](https://mdit-plugins.github.io/zh/tex.html#tex-tutorial){.readmore} ### KateX [KateX 支持功能](https://katex.org/docs/supported.html){.readmore} [KateX 支持列表](https://katex.org/docs/support_table.html){.readmore} ### Mathjax [支持的 TeX / KateX 命令](https://docs.mathjax.org/en/latest/input/tex/macros/index.html#tex-commands){.readmore} ## 配置项 :::: field-group ::: field name="type" type="'katex' | 'mathjax'" default="'katex'" 用于渲染 $\TeX$ 内容的包。 - `'katex'`:使用 [KaTeX](https://katex.org/) - `'mathjax'`:使用 [MathJax](https://www.mathjax.org/) ::: :::field name="delimiters" type="'brackets' | 'dollars' | 'all'" default="'dollars'" optional 启用的数学分隔符语法。 - `"brackets"`: 使用 `\(...\)` 表示内联数学,使用 `\[...\]` 表示显示模式数学(LaTeX 风格) - `"dollars"`: 使用 `$...$` 表示内联数学,使用 `$$...$$` 表示显示模式数学(常见 Markdown 风格) - `"all"`: 启用括号和美元符号两种语法 ::: :::: ### 使用 KaTeX 使用 KaTeX 时,任何其他选项都将作为 `KatexOptions` 传递给 KaTeX。有关所有可用选项,请参阅 [KaTeX 文档](https://katex.org/docs/options.html)。 此外,还支持 2 个特殊选项: :::: field-group ::: field name="copy" type="boolean" optional default="false" 是否启用复制扩展。 ::: ::: field name="mhchem" type="boolean" optional default="false" 是否启用 mhchem 扩展。 ::: :::: ### 使用 MathJax 使用 MathJax 时,你可以设置: :::: field-group :::field name="tex" type="object" optional 传递给 TeX 输入解析器的选项。 ::: ::: field name="output" type="'svg' | 'chtml'" default="'svg'" optional 输出格式,SVG 或通用 HTML。 ::: ::: field name="chtml" type="object" optional 传递给通用 HTML 输出解析器的选项。 ::: ::: field name="svg" type="object" optional 传递给 SVG 输出解析器的选项。 ::: ::::