本文转自洛谷的GitHub仓库
不支持部分特性
编写者注释:为了保证查看的美观及便捷,请在所有的公式前使用\displaystyle{}包裹或者使用行间公式
示例:$\displaystyle{\frac{1}{2}}$显示为:
综上:公式模板为$\displaystyle{}$
是一种基于 的排版系统,能够很方便的生成数学公式。
这里的大多数地方使用 进行渲染,可以参照文档:
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 \Alpha | BB \Beta | ΓΓ \Gamma | ΔΔ \Delta |
|---|---|---|---|
| EE \Epsilon | ZZ \Zeta | HH \Eta | ΘΘ \Theta |
| II \Iota | KK \Kappa | ΛΛ \Lambda | MM \Mu |
| NN \Nu | ΞΞ \Xi | OO \Omicron | ΠΠ \Pi |
| PP \Rho | ΣΣ \Sigma | TT \Tau | ΥΥ \Upsilon |
| ΦΦ \Phi | XX \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 | ℑℑ \Im | RR \Reals | ŒŒ \text{\OE} |
|---|---|---|---|---|
| ȷ \jmath | ∂∂ \partial | ℑℑ \image | ℘℘ \wp | øø \text{\o} |
| ℵℵ \aleph | ⅁⅁ \Game | kk \Bbbk | ℘℘ \weierp | ØØ \text{\O} |
| ℵℵ \alef | ℲℲ \Finv | NN \N | ZZ \Z | ßß \text{\ss} |
| ℵℵ \alefsym | CC \cnums | NN \natnums | a˚a˚ \text{\aa} | ıı \text{\i} |
| ℶℶ \beth | CC \Complex | RR \R | A˚A˚ \text{\AA} | ȷȷ \text{\j} |
| ℷℷ \gimel | ℓℓ \ell | ℜℜ \Re | ææ \text{\ae} | |
| ℸℸ \daleth | ℏℏ \hbar | ℜℜ \real | ÆÆ \text{\AE} | |
| ðð \eth | ℏℏ \hslash | RR \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 \rparen |
⌈ ⌉⌈ ⌉ ⌈ ⌉ | ⌈ ⌉⌈ ⌉ \lceil \rceil |
↑↑ \uparrow |
|---|---|---|---|---|
| [ ][ ] [ ] | [ ][ ] \lbrack \rbrack |
⌊ ⌋⌊ ⌋ ⌊ ⌋ | ⌊ ⌋⌊ ⌋ \lfloor \rfloor |
↓↓ \downarrow |
| {}{} \{ \} | {}{} \lbrace \rbrace |
⎰⎱⎰⎱ ⎰⎱ | ⎰⎱⎰⎱ \lmoustache \rmoustache |
↕↕ \updownarrow |
| ⟨ ⟩⟨ ⟩ ⟨ ⟩ | ⟨ ⟩⟨ ⟩ \langle \rangle |
⟮ ⟯⟮ ⟯ ⟮ ⟯ | ⟮ ⟯⟮ ⟯ \lgroup \rgroup |
⇑⇑ \Uparrow |
| ∣∣ | | ∣∣ \vert | ┌┐┌┐ ┌ ┐ | ⌜⌝┌┐ \ulcorner \urcorner |
⇓⇓ \Downarrow |
| ∥∥ | | ∥∥ \Vert | └┘└┘ └ ┘ | ⌞⌟└┘ \llcorner \lrcorner |
⇕⇕ \Updownarrow |
| ∣ ∣∣ ∣ \lvert \rvert |
∥ ∥∥ ∥ \lVert \rVert |
\left. | \right. | \\ \backslash |
| ⟨ ⟩⟨ ⟩ \lang \rang |
< >< > \lt \gt | ⟦ ⟧[[ ]] ⟦ ⟧ | ⟦ ⟧[[ ]] \llbracket \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} a & b \\ c & d \end{matrix} |
abcdacbd | \begin{array}{cc} a & b \\ c & d \end{array} |
|---|---|---|---|
| (abcd)(acbd) | \begin{pmatrix} a & b \\ c & d \end{pmatrix} |
[abcd][acbd] | \begin{bmatrix} a & b \\ c & d \end{bmatrix} |
| ∣abcd∣acbd | \begin{vmatrix} a & b \\ c & d \end{vmatrix} |
∥abcd∥acbd | \begin{Vmatrix} a & b \\ c & d \end{Vmatrix} |
| {abcd}{acbd} | \begin{Bmatrix} a & b \\ c & d \end{Bmatrix} |
abcdefghiadgbehcfi | \def\arraystretch{1.5} \begin{array}{c:c:c} a & b & c \\ \hline d & e & f \\ \hdashline g & h & i \end{array} |
| x={aifbcifdx={acifbifd | x = \begin{cases} a &\text{if } b \\ c &\text{if } d \end{cases} |
aifbcifd}⇒…acifbifd}⇒… | \begin{rcases} a &\text{if } b \\ c &\text{if } d \end{rcases}⇒… |
| abcdacbd | \begin{smallmatrix} a & b \\ c & d \end{smallmatrix} |
∑i∈Λ0<j<ni∈Λ0<j<n∑ | \sum_{ \begin{subarray}{l} i\in\Lambda\\ 0<j<n \end{subarray}} |
基础知识
行内公式与行间公式 {#math}
行内公式(Inline Math,即穿插在文本中的公式)两侧分别使用一个美元 $ $ 符号定界。
例如:
文本文本$x \cdot \sin(y)$文本文本
显示为:
文本文本文本文本
行间公式(Math Blocks,独立成行居中的公式) 前后两行分别使用 $$ $$(每行两个美元符号)定界,Markdown 代码可以跨行写,例如:
$$
H_n = \sum_{i = 1}^{n} \frac{1}{i}
$$
显示为
再例如:
$$
\begin{pmatrix}
1 & 8 & 4 \\
7 & 9 & 2 \\
\end{pmatrix}
$$
显示为
行内公式的 “大小”(例如分数的大小、巨运算符上下标的位置)会比行间公式小,可以通过 \displaystyle 和 \textstyle 来切换两类模式:
对于行内公式,使用 \displaystyle 的效果:
| LaTeX 代码 | 显示效果 |
|---|---|
| \frac{1}{x} | |
| \displaystyle \frac{1}{x} | |
| \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
$$
显示为
LaTeX 控制序列的概念(类似于函数)
控制序列可以视作为命令:以 \ 开头,参数:必需参数 {} 和可选参数 []。
控制序列可以实现特定功能,例如 \sin x 显示为 、\Omega \omega 显示为 、\color{red} x 显示为 、\mathbb{Q} 显示为 、\sqrt[5]{x} 显示为 。
LaTeX 环境的概念
环境的格式为 \begin{环境名} 环境内部 \end{环境名},即 \begin 和 \end 以及它们中间的部分。
环境有比控制序列更加灵活的用法,例如:
\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}
显示为
基本语法
二元关系 / 运算符
二元关系符:
| LaTeX 代码: | x = y | x > y | x < y | x \ge y | x \le y |
|---|---|---|---|---|---|
| 显示效果: | | | | | |
| LaTeX 代码: | x \perp y | x \parallel y | x \mid y | x \nparallel y | x \nmid y |
| 显示效果: | | | | | |
| LaTeX 代码: | x \approx y | x \in y | x \ni y | x \ne y | x \sim y |
| 显示效果: | | | | | |
二元运算符:
| LaTeX 代码: | x + y | x – y | x \times y | x \div y | x \cdot y | x \bmod y |
|---|---|---|---|---|---|---|
| 显示效果: | | | | | | |
| LaTeX 代码: | x \circ y | x * y | x \ast y | x / y | x \oplus y | x \otimes y |
| 显示效果: | | | | | | |
| LaTeX 代码: | x \cup y | x \cap y | x \land y | x \lor y | x \pm y | x \mp y |
| 显示效果: | | | | | | |
上标与下标
上标命令是 ^{角标},下标命令是 _{角标}。当角标是单个字符时可以不用花括号(在 LaTeX 中,花括号是用于分组,即花括号内部文本为一组)。
例:x_1、x^2、x_1^2、x^2_1、x_{22}^{(n)}、{}^*\!x^* 的显示效果分别为:
| LaTeX 代码: | x_1 | x^2 | x_1^2 | x^2_1 | x_{22}^{(n)} | {}^*\!x^* |
|---|---|---|---|---|---|---|
| 显示效果: | | | | | | |
分式
输入较短的分式时,最简单的方法是使用斜线,譬如输入 $(x + y) / 2$,可得到 。
要输入带有水平分数线的公式,可用命令:\frac{分子}{分母}。
| LaTeX 代码 | 显示效果 |
|---|---|
| \frac{x + y}{2} | |
| \frac{1}{1 + \frac{1}{2}} | |
根式
排版根式的命令是:开平方:\sqrt{表达式};开 次方:\sqrt[n]{表达式}。
| LaTeX 代码 | 显示效果 |
|---|---|
| \sqrt{2} < \sqrt[3]{3} | |
| \sqrt{1 + \sqrt[p]{1 + a^2}} | |
求和与积分
排版求和符号与积分符号的命令分别为 \sum 和 \int,它们通常都有上下限,在排版上就是上标和下标。
| LaTeX 代码 | 显示效果 |
|---|---|
| \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) \mathop{} \! \mathrm{d} x | |
为了使行内公式$\sum_{}^{}{}$的上下标正常显示,可以使用$\sum \limits_{}^{}{}$。
例如:
公式中的空格
LaTeX 能够自动处理公式中的大多数字符之间的空格,但是有时候需要自己手动进行控制。除了常见的几个空格命令外,可以通过 \hspace{长度} 自定义空格长度。
| LaTeX 代码 | 显示效果 |
|---|---|
| \Box \! \Box | |
| \Box \Box | |
| \Box \, \Box | |
| \Box \: \Box | |
| \Box \; \Box | |
| \Box \ \Box | |
| \Box \quad \Box | |
| \Box \qquad \Box | |
| \Box \hspace{1cm} \Box | |
| \Box \hspace{1.5cm} \Box | |
| \Box \hspace{2cm} \Box | |
| \Box \Box | |
| \Box \hspace{-.1cm} \Box | |
| \Box \hspace{-.2cm} \Box | |
| \Box \hspace{-.3cm} \Box | |
| \Box \hspace{-.4cm} \Box | |
插入文本
在公式中插入文本可以通过 \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}
显示为
字体、字号与颜色
字体
对于英文的字体,LaTeX 给出了三个层级,其中 KaTeX 支持的有:
- 族(family):有罗马(roman)、无衬线(sans-serif)、打字机(teletype)三族,改变字体的基本外观。
- 形状(shape):有直立(upright)、意大利(italic)两种形状。
- 重量(weight):有中等(medium)、粗体(boldface)两种重量。
在某些时候,KaTeX 允许这些层级叠加使用:
| 直立中等 | 意大利中等 | 直立粗体 | 意大利粗体 | ||
|---|---|---|---|---|---|
| \textup{\textmd | \textit{\textmd | \textup{\textbf | \textit{\textbf | ||
| 罗马 | \textrm | | | | |
| 无衬线 | \textsf | | | | 不可用 |
| 打字机 | \texttt | | | 不可用 | 不可用 |
经过验证,\textmd 在 中不可用。
在文本模式下(即 \text 内部),默认情况下,族使用罗马、形状使用直立、重量使用中等。
在数学模式下(即 KaTeX 的默认),默认情况下,族使用罗马、形状使用意大利、重量使用中等。
特别地,在数学模式下,提供了 \mathbb、\mathcal、\mathscr 和 \mathfrak 以供特殊数学字体使用:
\mathbb: 和 。
\mathcal: 和 。
\mathscr:。
\mathfrak:。
前文的改变字体的命令对这些特殊字体无效。
对于中文,我们有:
| 直立中等 | 意大利中等 | 直立粗体 | 意大利粗体 | ||
|---|---|---|---|---|---|
| \textup{\textmd | \textit{\textmd | \textup{\textbf | \textit{\textbf | ||
| 默认 | 无 | | | | |
| 罗马 | \textrm | | | | |
经过验证,\textmd 在 中不可用。
对于中文,族设置为无衬线或打字机时,要么不可用,要么与设置为罗马时无区别。
可以看出,族默认时是宋体,族为罗马时是黑体。
字号
LaTeX 内置了从大到小的下列字号:
| \Huge | | \normalsize | |
|---|---|---|---|
| \huge | | \small | |
| \LARGE | | \footnotesize | |
| \Large | | \scriptsize | |
| \large | | \tiny | |
经过验证,\footnotesize 在 中不可用。
颜色
可以通过 {\color{颜色} 文字或公式} 或 \textcolor{颜色}{文字或公式} 改变字体颜色。例如:
a + {\color{red} a + {}} a 显示为 。
a + \textcolor{red}{a + {}} a 显示为 。
a + {\color{#22AB22} a + {}} a 显示为 。
a + \textcolor{#22AB22}{a + {}} a 显示为 。