数学与方程式#
数学公式可以用常见的 LaTeX 标记来书写。根据个人偏好,有几种语法可以定义行内公式和块级公式。
1. 数学角色与指令#
math
role 和 directive 分别用于定义行内公式和块级公式。
该指令支持多个方程式,各方程式之间应以空行分隔。每个单独的方程式可以包含多行对齐,各行之间应以 \\
字符分隔,每行可以有多个 &
字符用于对齐方程式。
label
选项也可用于稍后通过 eq
角色引用该方程式。
Since Pythagoras, we know that {math}`a^2 + b^2 = c^2`.
```{math}
:label: mymath
(a + b)^2 = a^2 + 2ab + b^2
(a + b)^2 &= (a + b)(a + b) \\
&= a^2 + 2ab + b^2
```
The equation {eq}`mymath` is a quadratic equation.
参见
Sphinx 文档关于 角色 和 指令,以及 Sphinx 中 HTML 输出的数学支持。
2. 美元符号分隔的数学公式#
启用 dollarmath 插件将允许解析以下语法:
行内公式:
$...$
显示(块级)公式:
$$...$$
此外,如果设置了 myst_dmath_allow_labels=True
(默认设置):
带有方程式标签的显示(块级)公式:
$$...$$ (1)
$$
(a + b)^2 &= (a + b)(a + b) \\
&= a^2 + 2ab + b^2
$$ (mymath2)
The equation {eq}`mymath2` is also a quadratic equation.
转义美元符号
可以通过在第一个符号前添加 \
来转义(取消)数学公式,例如 \$a$
渲染为 $a$。转义也可以在数学公式内部使用,例如 $a=\$3$
渲染为 \(a=\$3\)。
相反,\\
将取消转义,因此 \\$a$
渲染为 \\(a\)。
3. 直接使用 LaTeX 数学公式#
启用 amsmath 插件将直接解析以下顶级数学环境:
equation, multiline, gather, align, alignat, flalign, matrix, pmatrix, bmatrix, Bmatrix, vmatrix, Vmatrix, eqnarray.
正如预期的那样,以 *
结尾的环境将不会被编号,例如:
\begin{gather*}
a_1=b_1+c_1\\
a_2=b_2+c_2-d_2+e_2
\end{gather*}
\begin{align}
a_{11}& =b_{11}&
a_{12}& =b_{12}\\
a_{21}& =b_{21}&
a_{22}& =b_{22}+c_{22}
\end{align}
\[\begin{gather*}
a_1=b_1+c_1\\
a_2=b_2+c_2-d_2+e_2
\end{gather*}\]
(3)#\[\begin{align}
a_{11}& =b_{11}&
a_{12}& =b_{12}\\
a_{21}& =b_{21}&
a_{22}& =b_{22}+c_{22}
\end{align}\]