如何编辑/插入数学公式

写在前面

为了方便用户分享一些学术性的东西,比如一些动力学方程、某些设备计算公式之类的,本论坛支持使用 MathJax (默认) 或者 KaTeX 语法来渲染数学公式和特殊字符,例如:

$$
\sqrt{(-1)} \; 2^3 \; \sum \; \pi
$$

效果:

\sqrt{(-1)} \; 2^3 \; \sum \; \pi

那么下面就正式描述一下相关语法。

书写位置和标识符

和 markdown 语法的代码块一样,公式分为 行内单独块 两种位置,如下:

  • 放在文字中间的公式要用 一对美元符号 包括起来,如: $\sum_{i=0}^N\int_{a}^{b}g(t, i)\text{d}t$ ,显示为: \sum_{i=0}^N\int_{a}^{b}g(t, i)\text{d}t
  • 单独成块的公式要用 两对美元符号 包括起来,并且要单独另起一行,如:
$$
\sum_{i=0}^N\int_{a}^{b}g(t, i)\text{d}t
$$

显示为:

\sum_{i=0}^N\int_{a}^{b}g(t, i)\text{d}t

表示希腊字母

在大多数的公式中,有各种各样的数学代数用希腊字母表示,表示方法如下表:

如果要大写希腊字母,将语法的首字母大写即可,如: $\Sigma$ ,显示为: \Sigma ;如果要斜体希腊字母,在语法前加上var即可,如: $\varSigma$ ,显示为: \varSigma

上下标

上标使用 ^ ,下标使用 _ ,二者后面再接字符,如果字符数 大于一个 需要使用一对 花括号 包括起来,如: $\sum_{i=0}^N$ ,显示为:\sum_{i=0}^N

矢量

$\vec a$ 显示为: \vec a

如果想改变字母上方的符号,可以这样写: $\overleftarrow{xy}$$\overleftrightarrow{xy}$$\overrightarrow{xy}$ 显示为:

\overleftarrow{xy} \quad \overleftrightarrow{xy} \quad \overrightarrow{xy}

括号

小括号: $()$ ,显示为: ()

中括号: $[]$ ,显示为: []

尖括号: $<> \langle\rangle$ ,显示为: <> \langle\rangle

\left\right 可以使符号大小与临近的公式相适应,如: $(\frac{x}{y})$ ,显示为: (\frac{x}{y}) ;而 $\left( \frac{x}{y} \right)$ ,显示为: \left( \frac{x}{y} \right)

换成中括号或其他括号是一样的效果,只要括号 前面 被标记了 \left\right 即可

求和、极限和积分

求和使用 $\sum$ ,如: $\sum_{i=0}^n{a_i}$ ,显示为: \sum_{i=0}^n{a_i}

极限使用 $\lim$ ,如: $\lim_{n \to 0}e^n $ ,显示为: \lim_{n \to 0}e^n

积分使用 $\int ,如: $\int_0^1 2x dx$ ,显示为: \int_0^1 2x dx

分式与根式

分式使用 $\frac ,用法为: $\frac{式1}{式2}$ ,显示为: \frac{式1}{式2}

根式使用 $\sqrt ,如: $\sqrt{x}{y}$ ,显示为: \sqrt{x}{y}

特殊函数

如:$\sin x \quad \ln x \quad \max(A, B, C)$ ,显示为: \sin x \quad \ln x \quad \max(A, B, C)

\quad 是四个空格缩进的意思,下文有讲

取整函数

向上取整: $\lceil x \rceil$ ,显示为: \lceil x \rceil

向下取整: $\lfloor x \rfloor$ ,显示为: \lfloor x \rfloor

特殊符号

如下图:

空格

LaTex 语法本身会忽略空格的存在需要用 \ 来转译,如: $a b\ a\ b$ ,显示为:a b\ a\ b

一次性生成 4 个空格,需要使用 $\quad$ ,如: $a \quad b$ ,显示为: a \quad b

矩阵

  • 起始标记: \begin{matrix}
  • 结束标记: \end{matrix}
  • 每一行末尾标记: \\
  • 行间元素之间用 & 分割 ;

例如:

$$
\begin{matrix}
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1 \\
\end{matrix}
$$

显示效果:

\begin{matrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ \end{matrix}

加上边框的话, 用以下关键词替换掉起始、结束标记中的 matrix ,如:

  • pmatrix :小括号边框
  • bmatrix :中括号边框
  • Bmatrix :大括号边框
  • vmatrix :单竖线边框
  • Vmatrix :双竖线边框

例如:

$$
\begin{pmatrix}
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1 \\
\end{pmatrix}
$$

$$
\begin{bmatrix}
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1 \\
\end{bmatrix}
$$

$$
\begin{Bmatrix}
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1 \\
\end{Bmatrix}
$$

$$
\begin{vmatrix}
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1 \\
\end{vmatrix}
$$

$$
\begin{Vmatrix}
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1 \\
\end{Vmatrix}
$$

显示效果:

\begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ \end{pmatrix}
\begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ \end{bmatrix}
\begin{Bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ \end{Bmatrix}
\begin{vmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ \end{vmatrix}
\begin{Vmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ \end{Vmatrix}

省略号:$\dots$ ,如:$1 \dots 5$ ,显示为:1 \dots 5

  • 横省略号: \cdots
  • 竖省略号: \vdots
  • 斜省略号: \ddots

例如:

$$
\begin{bmatrix}
a_{11} & a_{12} & \cdots & a_{1n} \\
a_{21} & a_{22} & \cdots & a_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
a_{m1} & a_{m2} & \cdots & a_{mn} \\
\end{bmatrix}
$$

显示为:

\begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \\ \end{bmatrix}

行中矩阵,如: $\begin{smallmatrix} a & b \\ c & d \end{smallmatrix}$ ,显示为: \begin{smallmatrix} a & b \\ c & d \end{smallmatrix}

阵列

使用 array 关键字,基本语法:

$$
\begin{array}{格式串}
...
...
\end{array}
$$

其中, 格式串 由四种字符构成,分别为:

  • l ,左对齐(字母 L 的小写)
  • c ,居中
  • r ,右对齐
  • | ,建立竖直线(键盘上的管道符)

使用 $\hline$ 可插入水平线,总体示例:

$$
\begin{array}{c|lll}
- & a & b & c \\
\hline
x & 1 & 2 & 3 \\
y & 4 & 5 & 6 \\
\end{array}
$$

显示为:

\begin{array}{c|lll} - & a & b & c \\ \hline x & 1 & 2 & 3 \\ y & 4 & 5 & 6 \\ \end{array}

方程组

使用 cases 关键字,基本语法:

$$
\begin{cases}{格式串}
...
...
\end{cases}
$$

如:

$$
\begin{cases}
a_1x + b_1y + c_1z = d_1\\
a_2x + b_2y + c_2z = d_2\\
a_3x + b_3y + c_3z = d_3\\
\end{cases}
$$

显示为:

\begin{cases} a_1x + b_1y + c_1z = d_1\\ a_2x + b_2y + c_2z = d_2\\ a_3x + b_3y + c_3z = d_3\\ \end{cases}

所以,分段函数可以写成:

$$
f(x) = 
\begin{cases}
0 & x为无理数 \\
x & x为有理数 \\
\end{cases}
$$
f(x) = \begin{cases} 0 & x为无理数 \\ x & x为有理数 \\ \end{cases}

字体转换

要对公式的某一部分字符进行字体转换,使用 $\[字体格式] xxx$ 即可,默认为新罗马,字体格式仅列举以下几种:

例如:

$$
a\ b\ c \\
\rm {a\ b\ c} \\
\it {a\ b\ c} \\
\bf {a\ b\ c} \\
\it {a\ b\ c} \\
$$
a\ b\ c \\ \rm {a\ b\ c} \\ \it {a\ b\ c} \\ \bf {a\ b\ c} \\ \it {a\ b\ c} \\

另外,一般会用 $\text$ 关键字来书写文本,如: $\text{无穷大}$ ,显示为: \text{无穷大}

参考资料

MathJax 语法快速指南 | bachzart’s Blog

What is MathJax? — MathJax 3.2 documentation

1 个赞