写在前面
KaTeX是一个专为网页设计的快速数学公式渲染JavaScript库。写markdown的时候,数学渲染可以使用mathjax或者katex,但是越来越多的人倾向于使用katex,故而本人也加入了katex大军。
katex和mathjax语法都类似于latex,熟悉的同学上手会很快
特殊符号
希腊字母
输入 \小写希腊字母英文全称 和 \首字母大写希腊字母英文全称 来分别输入小写和大写希腊字母
对于大写希腊字母与英文字母相同的,直接输入大写字母即可
| 序号 |
希腊字母小写 |
希腊字母大写 |
英语 |
小写KaTex代码 |
大写KaTex代码 |
| 1 |
α |
A |
alpha |
\alpha,@a |
A |
| 2 |
β |
B |
beta |
\beta,@b |
B |
| 3 |
γ |
Γ |
gamma |
\gamma,@g |
\Gamma,@G |
| 4 |
δ |
Δ |
delta |
\delta,@d |
\Delta,@D |
| 5 |
ϵ,ε |
E |
epsilon |
\epsilon,varepsilon,@e |
E |
| 6 |
ζ |
Z |
zeta |
\zeta,@z |
Z |
| 7 |
η |
H |
eta |
\eta |
H |
| 8 |
θ,ϑ |
Θ |
theta |
\theta,@t,\vartheta |
\Theta,@T |
| 9 |
ι |
I |
iota |
\iota,@i |
I |
| 10 |
κ |
k |
kappa |
\kappa,@k |
K |
| 11 |
λ |
Λ |
lambda |
\lambda,@l |
\Lambda,@L |
| 12 |
μ |
M |
mu |
\mu |
M |
| 13 |
ν |
N |
nu |
\nu |
N |
| 14 |
ξ |
Ξ |
xi |
\xi |
\Xi |
| 15 |
o |
O |
omicron |
o |
O |
| 16 |
π |
Π |
pi |
\pi |
\Pi |
| 17 |
ρ,ϱ |
P |
rho |
\rho,\varrho |
P |
| 18 |
σ |
Σ |
sigma |
\sigma,\sigma |
Sigma,@S |
| 19 |
τ |
T |
tau |
\tau |
T |
| 20 |
υ |
Υ |
upsilon |
\upsilon,@u |
\Upsilon,@U |
| 21 |
ϕ,φ |
Φ |
phi |
\phi,\varphi |
\phi |
| 22 |
χ |
X |
chi |
\chi |
X |
| 23 |
ψ |
Ψ |
psi |
\psi |
\Psi |
| 24 |
ω |
Ω |
omega |
\omega,@o |
\Omega,@O |
运算符
- 关系运算符
| 输入 |
显示 |
输入 |
显示 |
输入 |
显示 |
输入 |
显示 |
| \pm |
± |
\times |
× |
\div |
÷ |
\mid |
∣ |
| \nmid |
∤ |
\cdot |
⋅ |
\circ |
∘ |
\ast |
∗ |
| \bigodot |
⨀ |
\bigotimes |
⨂ |
\bigoplus |
⨁ |
\leq |
≤ |
| \geq |
≥ |
\neq |
= |
\approx |
≈ |
\equiv |
≡ |
| \sum |
∑ |
\prod |
∏ |
\coprod |
∐ |
\backslash |
\ |
- 集合运算符
| 输入 |
显示 |
输入 |
显示 |
输入 |
显示 |
| \emptyset |
∅ |
\in |
∈ |
\notin |
∈/ |
| \subset |
⊂ |
\supset |
⊃ |
\subseteq |
⊆ |
| \supseteq |
⊇ |
\cap |
∩ |
\cup |
∪ |
| \vee |
∨ |
\wedge |
∧ |
\uplus |
⊎ |
| \top |
⊤ |
\bot |
⊥ |
\complement |
∁ |
- 三角运算符
| 输入 |
显示 |
输入 |
显示 |
| \backsim |
∽ |
\cong |
≅ |
| \angle |
∠ |
|
|
排版相关
缩进
在Latex代码中输入空格并不会起到缩进的作用,如果需要缩进,需要使用缩进的指令
\,表示一个较小的空格(thinspace),通常用于在数学公式中插入较小的间距
\:表示一个中等空格(midspace),通常用于在单词之间插入间距,或在数学公式之间插入一个中等大小的间距
\;表示一个较大的空格(thickspace),通常用于数学公式之间插入一个较大的间距
\quad表示一个等宽的空格,其宽度相当于当前字体尺寸下一个字符的宽度
\qquad表示两个等宽空格,宽度是\quad的两倍
\, |
ab |
\: |
ab |
\; |
ab |
\quad |
ab |
\qquad |
ab |
换行
只有在写入多行公式的时候,才能使用\\进行换行
f(x)={1,x>00,x≤0
更大更小的字符渲染
若需要显示更大或更小的字符,在符号前插入 \large 或 \small 命令
比如$\small{x} + \normalsize{x}+\large{x}$,
显示为$$\small{x} + \normalsize{x}+\large{x}$$
针对任意元素均提供从小至大 \tiny \scriptsize \small \normalsize \large \Large \LARGE \huge \Huge 等渲染尺寸
字体转换
若要对公式的某一部分字符进行字体转换 可以用 {\字体 {需转换的部分字符}} 命令
其中 \字体 部分可以参照下表选择合适的字体。一般情况下,公式默认为斜体字italic
下面的字体会对大小写都起作用
| 输入 |
大小写都可用 |
显示 |
| \rm, \mathrm |
罗马体(正体) |
Sample |
| \it |
斜体 |
Sample |
| \bf, \mathbf |
粗体 |
Sample |
| \sf |
等线体 |
Sample |
| \tt |
打字机体 |
Sample |
| \frak |
旧德式字体 |
Sample |
下面的字体只对大写起作用,小写会按照italic渲染
| 输入 |
只有大写可用 |
显示 |
例 |
| \cal, \mathcal |
花体(数学符号等) |
SAMPLE |
|
| \mathbb |
黑板粗体(定义域等) |
SAMPLE |
R2 |
| \it, \mathit |
数学斜体 |
SAMPLE |
|
| \scr, \mathscr |
手写体 |
\scr{SAMPLE} |
|
注意: \boldsymbol{\vec \alpha} 用来表示向量或者矩阵的加粗斜体
| 使用\mathbf的向量 |
使用\boldsymbol的向量 |
| α |
α |
在很多地方,要使用正体字\rm会比较规范
| Bad |
Better |
解释 |
| ∫01x2dx |
∫01x2dx |
Better中的d使用了\rm来表示正体 |
\text也可以表示正体,但是对于传统的LaTex来说,需要\usepackage{amsmath}来进行导入,用于嵌入正体文字,可以包含空格、中文、标点等。
但\rm的范围只是A-Z,a-z,但是仍建议按需使用\rm和\text
适配行高
在一些情况下,条件表达式中某些行的行高为非标准高度,此时使用 \\[2ex] 语句代替该行末尾的 \\ 来让编辑器适配2倍行高
一个 [ex] 指一个 X-Height,即 x 字母高度,可以根据情况指定多个 [ex],如 [3ex]、[4ex] 等
不适配两倍行高[2ex]:
f(n)={2n,3n+1,if n is evenif n is odd
适配之后:
f(n)=⎩⎨⎧2n,3n+1,if n is evenif n is odd
其中行间距变大了,看着会比较舒服
基础语法
快速唤起
在使用Latex Suite插件的情况下,可以键入 mk(mk for math inline)唤起行内公式,键入 dm(dm for math display)唤起独立公式
注释
在代码内使用%进行注释
E=mc2
大括号
当需要使用大括号的时候(一般有分数的情况下会使用),需要使用\left(这种语法。并且\left(需要和\right)成对出现,不然会报错
| 使用大括号 |
未使用大括号 |
| $$ f(x,y,z) = 3y^2z \left( 3+\frac{7x+5}{1+y^2} \right) $$ |
$$ f(x,y,z) = 3y^2z ( 3+\frac{7x+5}{1+y^2} ) $$ |
开根号
使用\sqrt[开的次方]{根号下面的数}进行开方
2or32
省略号
数学公式中常见的省略号有两种
\ldots 表示与 文本底线 对齐的省略号
\cdots 表示与 文本中线 对齐的省略号,同时可以用来点乘
1
| $$ f(x_1,x_2 \ldots x_n) = x_1^2 + x_2^2 + \cdots + x_n^2 $$
|
f(x1,x2…xn)=x12+x22+⋯+xn2
进阶语法
aligned的使用
在 KaTeX 中,\begin{aligned}...\end{aligned}环境用于实现多行公式的对齐功能
- 换行符:使用
\\分隔不同行。
- 对齐符号:在需要对齐的位置(如等号
=)前添加 &符号。
ad=b+c=e+f
- 等号对齐:将
&放在等号前,例如:
P(B∣A)P(B∣A)=P(A)P(AB)=1−P(B∣A)
或者
dAB=(6−2)2+(6−2)2=42+42=42
- 首字符对齐:若需对齐公式的首字符(如变量或运算符),将
&放在首字符前:
max=2x1+3x2;x1+2x2≤8;
cases的使用
在 KaTeX 中,\begin{cases}...\end{cases}环境用于实现分段函数或条件表达式的分段显示
- 结构:每行用
&分隔公式和条件,用 \\换行。
- 大括号:自动在左侧生成大括号
{,无需手动添加 \left\{和 \right.。
f(x)={x2−xif x≥0,if x<0.
对齐方式:公式默认左对齐,条件默认右对齐。若需调整对齐,可通过 &符号控制
间距调整:若需在条件中添加注释或符号,可用 \quad或 \;控制间距
f(x)=⎩⎨⎧x20若 x>0,且 y<10,否则
array的使用
在 KaTeX 中,\begin{array}...\end{array}环境用于创建灵活的矩阵或表格,支持自定义列对齐、分隔符和复杂结构
1 2 3 4 5 6
| $$ \begin{array}{列格式} 元素1 & 元素2 & ... \\ 元素3 & 元素4 & ... \\ \end{array} $$
|
\begin{array}{列格式}
元素1 & 元素2 & ... \\
元素3 & 元素4 & ... \\
\end{array}
- 列格式:通过
l(左对齐)、c(居中)、r(右对齐)定义每列对齐方式,例如 {cc}表示两列居中对齐。
- 分隔符:用
&分隔同一行元素,用 \\换行。
竖线分隔:在列格式中添加 |表示竖线,例如 {c|c}生成两列中间有竖线:
行1列1行2列1行1列2行2列2
横线分割:在一行中添加\hline表示横线,\hline不需要添加额外的\\
行1列1行2列1行1列2行2列2
aligned、cases、array三者之差异
- aligned:用于创建多行公式,也可以用来创建方程组,但不会自动添加括号
- cases:用法于aligned相似,但会自动添加
\left{
- array:可以用来创建多行公式,但更多用于创建表格和矩阵
积分
使用 \int_积分下限^积分上限 {被积表达式} 来输入一个积分
例:
1
| $$ \int_0^1 {x^2} \,{\rm d}x $$
|
显示:
∫01x2dx
极限
使用 \lim_{变量 \to 表达式} 表达式 来输入一个极限
例:
1
| $$ \lim_{n \to \infty} \frac{1}{n(n+1)} \quad \text{and} \quad \lim_{x\leftarrow{示例}} \frac{1}{n(n+1)} $$
|
显示:
n→∞limn(n+1)1andx←示例limn(n+1)1
累加、累乘
使用 \sum_{下标表达式}^{上标表达式} {累加表达式} 来输入一个累加
与之类似,使用 \prod \bigcup \bigcap 来分别输入累乘、并集和交集
1
| $$ \sum_{i=1}^n \frac{1}{i^2} \quad \text{and} \quad \prod_{i=1}^n \frac{1}{i^2} \quad \text{and} \quad \bigcup_{i=1}^{2} \Bbb{R} $$
|
i=1∑ni21andi=1∏ni21andi=1⋃2R
矩阵
无框矩阵
在开头使用 \begin{matrix},在结尾使用 \end{matrix},在中间插入矩阵元素,每个元素之间插入 & ,并在每行结尾处使用 \\
111xyzx2y2z2
边框矩阵
将 matrix 替换为 pmatrix bmatrix Bmatrix vmatrix Vmatrix
| matrix |
pmatrix |
bmatrix |
Bmatrix |
vmatrix |
Vmatrix |
| 1324 |
(1324) |
[1324] |
{1324} |
1324 |
1324 |
带省略号的矩阵
使用\cdots、\ddots、\vdots来输入省略号
| \cdots |
\ddots |
\vdots |
| ⋯ |
⋱ |
⋮ |
分割开的矩阵
[142536]
行中矩阵
这是一个(1324)使用pmatrix的行中矩阵,这是一个acbd使用smallmatrix的矩阵,需要加上\bigl(和\bigr)来使用(acbd)
方程组
使用 \begin{array}{列格式} … \end{array} 和 \left\{ … \right. 来创建一个方程组
列格式:用c居中,l左对齐,r右对齐定义每一列的对齐方式,例如{cc}表示两列均居中
经过测试不填列格式默认居中
array本来不是用来写方程组的,其用于创建灵活的矩阵或表格,支持自定义列对齐、分割线等功能,因此在前面需要加上花括号
在等号 = 前加符号 & 是为了让等号以后的内容对齐
⎩⎨⎧a1x+b1y+c1za2x+b2y+c2za3x+b3y+c3z=d1=d2=d3
或使用条件表达式组 \begin{cases} … \end{cases} 来实现相同效果,此时就不用写花括号了
⎩⎨⎧a1x+b1y+c1za2x+b2y+c2za3x+b3y+c3z=d1=d2=d3
递等式
使用 \begin{aligned}…\end{aligned} 来创造一列递等式
aligned用于多行公式的对齐排版
在 {aligned} 中后添加 & 符号来自动对齐后面的内容
KaTex似乎不支持align,但是写align会正常渲染成aligned
37=122732−1=122732⋅732732−1=122732732732−1=12731−7321≈1273(1−2⋅7321)
为每一行添加注释
可灵活组合 \text 和 \tag 语句,但是好像在align中无法使用\tag
这段使用\text配合&实现右对齐
v+w−w−w+0=0=−w+0=−w+(v+w)Givenadditive identityequations
E=mc2(1)
条件表达式组
使用 \begin{cases}…\end{cases} 来创造一组条件表达式
在每一行条件中插入 & 来指定需要对齐的内容,并在每一行结尾处使用 \\
f(n)={n/2,3n+1,if n is evenif n is odd
如果想要把花括号移到右边,则不能使用cases,需要改用array或aligned
if n is even:if n is odd:n/23n+1}=f(n)
数组与表格
通常,一个格式化后的表格比单纯的文字或排版后的文字更具有可读性
- 数组和表格均以
\begin{array} 开头,并在其后定义列数及每一列的文本对齐属性
c l r 分别代表居中、左对齐及右对齐
- 若需要插入垂直分割线,在定义式中插入
|
- 若要插入水平分割线,在下一行输入前插入
\hline
- 与矩阵相似,每行元素间均须要插入
& ,每行元素以 \\ 结尾
- 最后以
\ end{array} 结束数组
n123左对齐0.24−1−20居中对齐11892000右对齐125−81+10i
多个array可以相互嵌套形成一组array,但是会比较复杂
min012300000101112012230123max012300123111232222333333Δ012300123110122210133210
其他注意事项
\mid和|的区别
使用 | 符号作为分隔符时会产生错误的间距,因此在需要分隔时最好使用 \mid 来代替它,\mid的间距会比较大
Bad{x∣x2∈Z}Better{x∣x2∈Z}
多重积分应该注意的事情
使用多重积分符号时,不要多次使用 \int 来声明,直接使用 \iint 来表示二重积分,使用 \iiint 来表示三重积分
在表示面积分和体积分时下标建议使用 \boldsymbol{S} 和 \boldsymbol{V} 符号
Bad∫∫Sf(x)dydx∫∫∫Vf(x)dzdydxBetter∬Sf(x)dydx∭Vf(x)dzdydx
使用多重积分时,在被积变量后加入 \, 或 \space(或在微分符号 $\rm{d}$ 之前)插入一个小的间距否则各种被积变量将会挤成一团
Bad∭Vf(x)dzdydxBetter∭Vf(x)dzdydx