本文转自洛谷的GitHub仓库

$\text{SiYuan}$ 不支持部分特性

编写者注释:为了保证查看的美观及便捷,请在所有的公式前使用\displaystyle{}包裹或者使用行间公式

示例:$\displaystyle{\frac{1}{2}}$显示为:$\displaystyle{\frac{1}{2}}$

综上:公式模板为$\displaystyle{}$


$\LaTeX$ 是一种基于 $\TeX$ 的排版系统,能够很方便的生成数学公式。

这里的大多数地方使用 $\LaTeX$ 进行渲染,可以参照文档:
https://katex.org/docs/supported.html

常用内容

Letters and Unicode

Greek Letters

Direct Input: ABΓΔEZHΘIKΛMNΞOΠPΣTΥΦXΨΩABΓΔEZHΘIKΛMNΞOΠPΣTΥΦXΨΩ αβγδϵζηθικλμνξoπρστυϕχψωεϑϖϱςφϝαβγδϵζηθικλμνξoπρστυϕχψωεϑϖϱςφϝ

AA\AlphaBB\BetaΓΓ\GammaΔΔ\Delta
EE\EpsilonZZ\ZetaHH\EtaΘΘ\Theta
II\IotaKK\KappaΛΛ\LambdaMM\Mu
NN\NuΞΞ\XiOO\OmicronΠΠ\Pi
PP\RhoΣΣ\SigmaTT\TauΥΥ\Upsilon
ΦΦ\PhiXX\ChiΨΨ\PsiΩΩ\Omega
ΓΓ\varGammaΔΔ\varDeltaΘΘ\varThetaΛΛ\varLambda
ΞΞ\varXiΠΠ\varPiΣΣ\varSigmaΥΥ\varUpsilon
ΦΦ\varPhiΨΨ\varPsiΩΩ\varOmega
αα\alphaββ\betaγγ\gammaδδ\delta
ϵϵ\epsilonζζ\zetaηη\etaθθ\theta
ιι\iotaκκ\kappaλλ\lambdaμμ\mu
νν\nuξξ\xiοο\omicronππ\pi
ρρ\rhoσσ\sigmaττ\tauυυ\upsilon
ϕϕ\phiχχ\chiψψ\psiωω\omega
εε\varepsilonϰϰ\varkappaϑϑ\varthetaϑϑ\thetasym
ϖϖ\varpiϱϱ\varrhoςς\varsigmaφφ\varphi
ϝϝ\digamma

Other Letters

ı\imath∇∇\nablaℑℑ\ImRR\RealsŒŒ\text{\OE}
ȷ\jmath∂∂\partialℑℑ\image℘℘\wpøø\text{\o}
ℵℵ\aleph⅁⅁\Gamekk\Bbbk℘℘\weierpØØ\text{\O}
ℵℵ\alefℲℲ\FinvNN\NZZ\Zßß\text{\ss}
ℵℵ\alefsymCC\cnumsNN\natnumsa˚a˚\text{\aa}ıı\text{\i}
ℶℶ\bethCC\ComplexRR\RA˚A˚\text{\AA}ȷȷ\text{\j}
ℷℷ\gimelℓℓ\ellℜℜ\Reææ\text{\ae}
ℸℸ\dalethℏℏ\hbarℜℜ\realÆÆ\text{\AE}
ðð\ethℏℏ\hslashRR\realsœœ\text{\oe}

Accents

a′a′a'a\~a\~\tilde{a}g˚g˚\mathring{g}
a′′a′′a''ac\~ac\widetilde{ac}AB⏠AB\overgroup{AB}
a′a′a^{\prime}AB\~AB\utilde{AB}AB⏡AB\undergroup{AB}
aˊaˊ\acute{a}F⃗F\vec{F}AB⇒AB\Overrightarrow{AB}
yˉyˉ\bar{y}AB←AB\overleftarrow{AB}AB→AB\overrightarrow{AB}
a˘a˘\breve{a}AB←AB\underleftarrow{AB}AB→AB\underrightarrow{AB}
aˇaˇ\check{a}ac↼ac\overleftharpoon{ac}ac⇀ac\overrightharpoon{ac}
a˙a˙\dot{a}AB↔AB\overleftrightarrow{AB}AB⏞AB\overbrace{AB}
a¨a¨\ddot{a}AB↔AB\underleftrightarrow{AB}AB⏟AB\underbrace{AB}
a...a...\dddot{a}AB‾AB\overline{AB}ABundefinedAB\overlinesegment{AB}
a....a....\ddddot{a}AB‾AB\underline{AB}ABundefinedAB\underlinesegment{AB}
aˋaˋ\grave{a}acˇac\widecheck{ac}X‾X\underbar{X}
θ^θ^\hat{\theta}ac^ac\widehat{ac}

Accent functions inside \text{…}

aˊaˊ\'{a}a˜a˜\~{a}a˙a˙\.{a}a˝a˝\H{a}
aˋaˋ\{a}`aˉaˉ\={a}a¨a¨\"{a}aˇaˇ\v{a}
aˆaˆ\^{a}a˘a˘\u{a}a˚a˚\r{a}

See also letters and unicode.

Delimiters

( )( )( )( )( )\lparen<br/> \rparen⌈ ⌉⌈ ⌉⌈ ⌉⌈ ⌉⌈ ⌉\lceil<br/> \rceil↑↑\uparrow
[ ] \lbrack<br/> \rbrack⌊ ⌋⌊ ⌋⌊ ⌋⌊ ⌋⌊ ⌋\lfloor<br/> \rfloor↓↓\downarrow
{}{}\{ \}{}{}\lbrace<br/> \rbrace⎰⎱⎰⎱⎰⎱⎰⎱⎰⎱\lmoustache<br/> \rmoustache↕↕\updownarrow
⟨ ⟩⟨ ⟩⟨ ⟩⟨ ⟩⟨ ⟩\langle<br/> \rangle⟮ ⟯⟮ ⟯⟮ ⟯⟮ ⟯⟮ ⟯\lgroup<br/> \rgroup⇑⇑\Uparrow
∣∣``∣∣\vert┌┐┌┐┌ ┐⌜⌝┌┐\ulcorner<br/> \urcorner
∥∥``∥∥\Vert└┘└┘└ ┘⌞⌟└┘\llcorner<br/> \lrcorner
∣ ∣∣ ∣\lvert<br/> \rvert∥ ∥∥ ∥\lVert<br/> \rVert\left.\right.\\`\backslash`
⟨ ⟩⟨ ⟩\lang<br/> \rang< >< >\lt \gt⟦ ⟧[[ ]]⟦ ⟧⟦ ⟧[[ ]]\llbracket<br/> \rrbracket⦃ ⦄{[ ]}\lBrace \rBrace

Delimiter Sizing

(AB)(AB) \left(\LARGE{AB}\right)

(((((((((( ( \big( \Big( \bigg( \Bigg(

\left\big\bigl\bigm\bigr
\middle\Big\Bigl\Bigm\Bigr
\right\bigg\biggl\biggm\biggr
\Bigg\Biggl\Biggm\Biggr

Environments

abcdacbd\begin{matrix}<br/> a & b \\<br/> c & d<br/>\end{matrix}abcdacbd\begin{array}{cc}<br/> a & b \\<br/> c & d<br/>\end{array}
(abcd)(acbd)\begin{pmatrix}<br/> a & b \\<br/> c & d<br/>\end{pmatrix}abcd\begin{bmatrix}<br/> a & b \\<br/> c & d<br/>\end{bmatrix}
∣abcd∣acbd\begin{vmatrix}<br/> a & b \\<br/> c & d<br/>\end{vmatrix}∥abcd∥acbd\begin{Vmatrix}<br/> a & b \\<br/> c & d<br/>\end{Vmatrix}
{abcd}{acbd}\begin{Bmatrix}<br/> a & b \\<br/> c & d<br/>\end{Bmatrix}abcdefghiadgbehcfi\def\arraystretch{1.5}<br/> \begin{array}{c:c:c}<br/> a & b & c \\ \hline<br/> d & e & f \\<br/> \hdashline<br/> g & h & i<br/>\end{array}
x={aifbcifdx={acifbifdx = \begin{cases}<br/> a &\text{if } b \\<br/> c &\text{if } d<br/>\end{cases}aifbcifd}⇒…acifbifd}⇒…\begin{rcases}<br/> a &\text{if } b \\<br/> c &\text{if } d<br/>\end{rcases}⇒…
abcdacbd\begin{smallmatrix}<br/> a & b \\<br/> c & d<br/>\end{smallmatrix}∑i∈Λ0<j<ni∈Λ0<j<n∑\sum_{<br/>\begin{subarray}{l}<br/> i\in\Lambda\\<br/> 0<j<n<br/>\end{subarray}}

基础知识

行内公式与行间公式 {#math}

行内公式(Inline Math,即穿插在文本中的公式)两侧分别使用一个美元 $ $ 符号定界。

例如:

文本文本$x \cdot \sin(y)$文本文本

显示为:

文本文本$x \cdot \sin(y)$文本文本

行间公式(Math Blocks,独立成行居中的公式) 前后两行分别使用 $$ $$(每行两个美元符号)定界,Markdown 代码可以跨行写,例如:

$$
H_n = \sum_{i = 1}^{n} \frac{1}{i}
$$

显示为

$$ H_n = \sum_{i = 1}^{n} \frac{1}{i} $$

再例如:

$$
\begin{pmatrix}
  1 & 8 & 4 \\
  7 & 9 & 2 \\
\end{pmatrix}
$$

显示为

$$ \begin{pmatrix} 1 & 8 & 4 \\ 7 & 9 & 2 \\ \end{pmatrix} $$

行内公式的 “大小”(例如分数的大小、巨运算符上下标的位置)会比行间公式小,可以通过 \displaystyle\textstyle 来切换两类模式:

对于行内公式,使用 \displaystyle 的效果:

LaTeX 代码显示效果
\frac{1}{x}$\frac{1}{x}$
\displaystyle \frac{1}{x}$\displaystyle \frac{1}{x}$
\int_0^x f(t) \mathop{}\!\mathrm{d} t$\int_0^x f(t) \mathop{}\!\mathrm{d} t$
\displaystyle \int_0^x f(t) \mathop{}\!\mathrm{d} t$\displaystyle \int_0^x f(t) \mathop{}\!\mathrm{d} t$

对于行间公式,使用 \textstyle 的效果:

$$
 \textstyle \int \frac{\mathop{}\!\mathrm{d} x}{x} = \ln(x) + C 
 $$

显示为

$$ \textstyle \int \frac{\mathop{}\!\mathrm{d} x}{x} = \ln(x) + C $$

LaTeX 控制序列的概念(类似于函数)

控制序列可以视作为命令:以 \ 开头,参数:必需参数 {} 和可选参数 []

控制序列可以实现特定功能,例如 \sin x 显示为 $\sin x$、\Omega \omega 显示为 $\Omega \omega$、\color{red} x 显示为 $\color{red} x$、\mathbb{Q} 显示为 $\mathbb{Q}$、\sqrt[5]{x} 显示为 $\sqrt[5]{x}$。

LaTeX 环境的概念

环境的格式为 \begin{环境名} 环境内部 \end{环境名},即 \begin\end 以及它们中间的部分。

环境有比控制序列更加灵活的用法,例如:

\begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix}

显示为

$$ \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} $$

f(x) = \begin{cases}
  2 & x \in \mathbb Q \\
  1 & x \notin \mathbb Q \land x \in \mathbb A \\
  0 & x \notin \mathbb A
\end{cases}

显示为

$$ f(x) = \begin{cases} 2 & x \in \mathbb{Q} \\ 1 & x \notin \mathbb{Q} \land x \in \mathbb{A} \\ 0 & x \notin \mathbb{A} \end{cases} $$

基本语法

二元关系 / 运算符

二元关系符:

LaTeX 代码:x = yx > yx < yx \ge yx \le y
显示效果:$x = y$$x > y$$x < y$$x \ge y$$x \le y$
LaTeX 代码:x \perp yx \parallel yx \mid yx \nparallel yx \nmid y
显示效果:$x \perp y$$x \parallel y$$x \mid y$$x \nparallel y$$x \nmid y$
LaTeX 代码:x \approx yx \in yx \ni yx \ne yx \sim y
显示效果:$x \approx y$$x \in y$$x \ni y$$x \ne y$$x \sim y$

二元运算符:

LaTeX 代码:x + yx - yx \times yx \div yx \cdot yx \bmod y
显示效果:$x + y$$x - y$$x \times y$$x \div y$$x \cdot y$$x \bmod y$
LaTeX 代码:x \circ yx * yx \ast yx / yx \oplus yx \otimes y
显示效果:$x \circ y$$x * y$$x \ast y$$x / y$$x \oplus y$$x \otimes y$
LaTeX 代码:x \cup yx \cap yx \land yx \lor yx \pm yx \mp y
显示效果:$x \cup y$$x \cap y$$x \land y$$x \lor y$$x \pm y$$x \mp y$

上标与下标

上标命令是 ^{角标},下标命令是 _{角标}。当角标是单个字符时可以不用花括号(在 LaTeX 中,花括号是用于分组,即花括号内部文本为一组)。

例:x_1x^2x_1^2x^2_1x_{22}^{(n)}{}^*\!x^* 的显示效果分别为:

LaTeX 代码:x_1x^2x_1^2x^2_1x_{22}^{(n)}{}^*\!x^*
显示效果:$x_1$$x^2$$x_1^2$$x^2_1$$x_{22}^{(n)}$${}^*\!x^*$

分式

输入较短的分式时,最简单的方法是使用斜线,譬如输入 $(x + y) / 2$,可得到 $(x + y) / 2$。

要输入带有水平分数线的公式,可用命令:\frac{分子}{分母}

LaTeX 代码显示效果
\frac{x + y}{2}$\frac{x + y}{2}$
\frac{1}{1 + \frac{1}{2}}$\frac{1}{1 + \frac{1}{2}}$

根式

排版根式的命令是:开平方:\sqrt{表达式};开 $n$ 次方:\sqrt[n]{表达式}

LaTeX 代码显示效果
\sqrt{2} < \sqrt[3]{3}$\sqrt{2} < \sqrt[3]{3}$
\sqrt{1 + \sqrt[p]{1 + a^2}}$\sqrt{1 + \sqrt[p]{1 + a^2}}$

求和与积分

排版求和符号与积分符号的命令分别为 \sum\int,它们通常都有上下限,在排版上就是上标和下标。

LaTeX 代码显示效果
\sum_{k = 1}^{n} \frac{1}{k}$\sum_{k = 1}^{n} \frac{1}{k}$
\sum_{k = 1}^n \frac{1}{k}$\sum_{k = 1}^n \frac{1}{k}$
\int_a^b f(x) d x$\int_a^b f(x) d x$
\int_a^b f(x) \mathop{} \! \mathrm{d} x$\int_a^b f(x) \mathop{} \! \mathrm{d} x$

为了使行内公式$\sum_{}^{}{}$的上下标正常显示,可以使用$\sum \limits_{}^{}{}$

例如:$\sum \limits_{k=1}^{n}{\frac{1}{k}}$

公式中的空格

LaTeX 能够自动处理公式中的大多数字符之间的空格,但是有时候需要自己手动进行控制。除了常见的几个空格命令外,可以通过 \hspace{长度} 自定义空格长度。

LaTeX 代码显示效果
\Box \! \Box$\Box \! \Box$
\Box \Box$\Box \Box$
\Box \, \Box$\Box \, \Box$
\Box \: \Box$\Box \: \Box$
\Box \; \Box$\Box \; \Box$
\Box \ \Box$\Box \ \Box$
\Box \quad \Box$\Box \quad \Box$
\Box \qquad \Box$\Box \qquad \Box$
\Box \hspace{1cm} \Box$\Box \hspace{1cm} \Box$
\Box \hspace{1.5cm} \Box$\Box \hspace{1.5cm} \Box$
\Box \hspace{2cm} \Box$\Box \hspace{2cm} \Box$
\Box \Box$\Box \Box$
\Box \hspace{-.1cm} \Box$\Box \hspace{-0.1cm} \Box$
\Box \hspace{-.2cm} \Box$\Box \hspace{-0.2cm} \Box$
\Box \hspace{-.3cm} \Box$\Box \hspace{-0.3cm} \Box$
\Box \hspace{-.4cm} \Box$\Box \hspace{-0.4cm} \Box$

插入文本

在公式中插入文本可以通过 \text{文字} 在公式中添加文字,比如:

\text{对任意的 } x > 0 \text{,有 } f(x) > 0 \text{。}

显示为

$$ \text{对任意的 } x > 0 \text{,有 } f(x) > 0 \text{。} $$

多行的数学公式

使用 aligned 环境对齐多行公式。

\begin{aligned}
  \cos(2 \theta) &= \cos^2(\theta) - \sin^2(\theta) \\
                 &= 2 \cos^2(\theta) - 1
\end{aligned}

显示为

$$ \begin{aligned} \cos(2 \theta) &= \cos^2(\theta) - \sin^2(\theta) \\ &= 2 \cos^2(\theta) - 1 \end{aligned} $$

字体、字号与颜色

字体

对于英文的字体,LaTeX 给出了三个层级,其中 KaTeX 支持的有:

  1. 族(family):有罗马(roman)、无衬线(sans-serif)、打字机(teletype)三族,改变字体的基本外观。
  2. 形状(shape):有直立(upright)、意大利(italic)两种形状。
  3. 重量(weight):有中等(medium)、粗体(boldface)两种重量。

在某些时候,KaTeX 允许这些层级叠加使用:

直立中等意大利中等直立粗体意大利粗体
\textup{\textmd\textit{\textmd\textup{\textbf\textit{\textbf
罗马\textrm$\textup{{\textrm{Butterfly96}}}$$\textit{{\textrm{Butterfly96}}}$$\textup{\textbf{\textrm{Butterfly96}}}$$\textit{\textbf{\textrm{Butterfly96}}}$
无衬线\textsf$\textup{{\textsf{Butterfly96}}}$$\textit{{\textsf{Butterfly96}}}$$\textup{\textbf{\textsf{Butterfly96}}}$不可用
打字机\texttt$\textup{{\texttt{Butterfly96}}}$$\textit{{\texttt{Butterfly96}}}$不可用不可用
经过验证,\textmd 在 $\text{SiYuan}$ 中==不可用==。

在文本模式下(即 \text 内部),默认情况下,族使用罗马、形状使用直立、重量使用中等。

在数学模式下(即 KaTeX 的默认),默认情况下,族使用罗马、形状使用意大利、重量使用中等。

特别地,在数学模式下,提供了 \mathbb\mathcal\mathscr\mathfrak 以供特殊数学字体使用:

\mathbb:$\mathbb{ZQNR}$ 和 $\mathbb{k}$。
\mathcal:$\mathcal{ABCDE}$ 和 $\mathcal{0123456789}$。
\mathscr:$\mathscr{ABCDE}$。
\mathfrak:$\begin{aligned} & \mathfrak{ABCDEF} \\ & \mathfrak{abcde \ 0123456789} \end{aligned}$。

前文的改变字体的命令对这些特殊字体无效。

对于中文,我们有:

直立中等意大利中等直立粗体意大利粗体
\textup{\textmd\textit{\textmd\textup{\textbf\textit{\textbf
默认$\textup{{你好,世界!}}$$\textit{{你好,世界!}}$$\textup{\textbf{你好,世界!}}$$\textit{\textbf{你好,世界!}}$
罗马\textrm$\textup{{\textrm{你好,世界!}}}$$\textit{{\textrm{你好,世界!}}}$$\textup{\textbf{\textrm{你好,世界!}}}$$\textit{\textbf{\textrm{你好,世界!}}}$
经过验证,\textmd 在 $\text{SiYuan}$ 中==不可用==。

对于中文,族设置为无衬线或打字机时,要么不可用,要么与设置为罗马时无区别。
可以看出,族默认时是宋体,族为罗马时是黑体。

字号

LaTeX 内置了从大到小的下列字号:

\Huge$\Huge \sum_{i = 1}^{n} \frac{1}{i}$\normalsize$\normalsize \sum_{i = 1}^{n} \frac{1}{i}$
\huge$\huge \sum_{i = 1}^{n} \frac{1}{i}$\small$\small \sum_{i = 1}^{n} \frac{1}{i}$
\LARGE$\LARGE \sum_{i = 1}^{n} \frac{1}{i}$\footnotesize$\sum_{i = 1}^{n} \frac{1}{i}$
\Large$\Large \sum_{i = 1}^{n} \frac{1}{i}$\scriptsize$\scriptsize \sum_{i = 1}^{n} \frac{1}{i}$
\large$\large \sum_{i = 1}^{n} \frac{1}{i}$\tiny$\tiny \sum_{i = 1}^{n} \frac{1}{i}$
经过验证,\footnotesize 在 $\text{Obsidian}$ 中==不可用==。

颜色

可以通过 {\color{颜色} 文字或公式}\textcolor{颜色}{文字或公式} 改变字体颜色。例如:

a + {\color{red} a + {}} a 显示为 $a + {\color{red} a + {}} a$。
a + \textcolor{red}{a + {}} a 显示为 $a + \textcolor{red}{a + {}} a$。
a + {\color{#22AB22} a + {}} a 显示为 $a + {\color{#22AB22} a + {}} a$。
a + \textcolor{#22AB22}{a + {}} a 显示为 $a + \textcolor{#22AB22}{a + {}} a$。

最后修改:2025 年 12 月 14 日
如果觉得我的文章对你有用,请随意赞赏