Quartz 默认使用 Katex 在构建时排版行内和块级数学公式。

语法

块级公式

通过使用 $$ 包裹数学表达式可以渲染块级公式:

$$
\begin{aligned}
  \nabla \cdot \mathbf{E} &= \frac{\rho}{\varepsilon_0} \\
  \nabla \cdot \mathbf{B} &= 0 \\
  \nabla \times \mathbf{E} &= -\frac{\partial \mathbf{B}}{\partial t} \\
  \nabla \times \mathbf{B} &= \mu_0 \left( \mathbf{J} + \varepsilon_0 \frac{\partial \mathbf{E}}{\partial t} \right)
\end{aligned}
$$

行内公式

通过使用 $ 包裹数学表达式可以渲染行内公式:

麦克斯韦方程组中的高斯定律可以写作 $\nabla \cdot \mathbf{E} = \frac{\rho}{\varepsilon_0}$
$$
f(x) = \int_{-\infty}^\infty
    f\hat(\xi),e^{2 \pi i \xi x}
    \,d\xi
$$

Warn

由于底层解析库的限制,Quartz中的块级数学公式需要如上所示将$$定界符置于新行。

行内公式

类似地,行内公式可以通过用单个$包裹数学表达式来呈现。例如,$e^{i\pi} = -1$会生成

转义符号

有时段落中可能出现多个$符号,可能意外触发MathJax/Katex。

可以通过使用\$转义美元符号来解决这个问题。

例如:

  • 错误示例:I have $1 and you have $2 会显示为 I have 2
  • 正确示例:I have \$1 and you have \$2 会显示为 I have $1 and you have $2

使用mhchem

quartz/plugins/transformers/latex.ts文件顶部(所有其他导入之前)添加以下导入语句:

```ts title="quartz/plugins/transformers/latex.ts"
import "katex/contrib/mhchem"

自定义

LaTeX解析是LaTeX插件的核心功能。有关自定义选项,请参阅该插件页面。