跳至主要內容

Tex 语法

小于 1 分钟MarkdownMarkdownTEX

让你的 VuePress 站点中的 Markdown 文件支持 TEX 语法。

配置

在你的项目中安装相关的 TEXkatexopen in new windowmathjax-fullopen in new window:

pnpm
pnpm add -D katex
# or
pnpm add -D mathjax-full

之后启用它:

TS
import { defineUserConfig } from "vuepress";
import { hopeTheme } from "vuepress-theme-hope";

export default defineUserConfig({
  theme: hopeTheme({
    plugins: {
      mdEnhance: {
        // 使用 KaTeX 启用 TeX 支持
        katex: true,
        // 使用 mathjax 启用 TeX 支持
        mathjax: true,
      },
    },
  }),
});







 
 
 
 
 
 


你只能启用其中一个,并且 katex 具有更高的优先级。

格式

  • 内联模式:$xxx$

  • 显示模式:

    $$xxx$$
    
    $$
    xxx
    $$
    
转义

可以通过在 $ 字符之前使用 \ 或在 $ 字符前后添加空格来完成转义:

a=1 是一个 TeX 方程,而 $ a=1 $ 和 $a=1$ 不是。

可以通过在 `$` 字符之前使用 `\` 或在 `$` 字符前后添加空格来完成转义:

$a=1$ 是一个 TeX 方程,而 $ a=1 $ 和 \$a=1$ 不是。

案例

行内语法

Euler's identity eiπ+1=0 is a beautiful formula in R2.

Euler's identity $e^{i\pi}+1=0$ is a beautiful formula in $\mathbb{R}^2$.
显示语法
rωr(yωω)=(yωω){(logy)r+i=1r(1)ir(ri+1)(logy)riωi}
$$
\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)^i r \cdots (r-i+1) (\log y)^{r-i}} {\omega^i} \right\}
$$

在此尝试

输入

输出

rωr(yωω)=(yωω){(logy)r+i=1r(1)Ir(ri+1)(logy)riωi}\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\}

支持列表

插件教程和常见问题: Texopen in new window

Katex:

Mathjax:

高级

KaTeX

使用 KaTeX 时,你可以将对象作为 KatexOptions 传递给 katex。 它将被传递给 KaTeX 有关可用选项,请参阅 KaTeX Docsopen in new window

此外,我们还支持两个特殊选项:

  • copy: 设置为 true 来启用 copy 扩展。
  • mhchem: 设置为 true 来启用 mhchem 扩展。

Mathjax

使用 mathjax 时,你可以将对象传递给 mathjax

你可以将 output 选项设置为 svg (默认) 或 chtml 以更改 SVG 和 HTML 输出。

此外,你可以通过 tex 选项将设置传递给 TeX 输入解析器,并且可以根据出书格式,通过 chtmlsvg 选项传递给通用 HTML 输出解析器和 SVG 输出解析器的输出语法设置 。

TeX 教程