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插件的核心功能。有关自定义选项,请参阅该插件页面。