0x00 前言简述
为了打牢机器学习、人工智能等领域的基础知识(数学),为了在 Markdown 中记录一些数学基础知识,便于日后复习回顾,将 Markdown 对数学公式的支持进行了一个简单的总结,便于在后续学习时对相关算法的数学公式进行记录展示
在 Markdown 写作中可以利用 MathJax 、KaTeX 插件实现数学公式的渲染(格式化),它们之间核心差异在于“对LaTex复杂公式语法的完全支持”和“对现代Web应用的轻量高效”之间的权衡。
MathJax 是一个跨平台的 JavaScript 库用于在网页上显示数学公式。它支持支持完整的 LaTeX、MathML、AsciiMath 语法,项目地址:https://github.com/mathjax/MathJax。
KaTeX 是一个专为网页设计的快速数学公式渲染 JavaScript 库,主流子集,支持大部分常用 LaTeX 语法,但不支持全部(如某些复杂环境),其开源代码托管于 GitHub: https://github.com/KaTeX/KaTeX。
下表清晰展示了两者的关键区别,帮你快速定位哪个更符合你的需求:
| 对比维度 | MathJax | KaTeX |
|---|---|---|
| 语法支持范围 | 极其广泛,支持完整的 LaTeX、MathML、AsciiMath 语法 | 主流子集,支持大部分常用LaTeX语法,但不支持全部(如某些复杂环境) |
| 渲染速度 | 较慢,首次渲染约为KaTeX的5倍 | 极快,渲染无需页面重排,适合动态内容 |
| 输出格式 | 灵活(HTML+CSS、SVG、MathML) | 主要为HTML+CSS |
| 体积大小 | 较大(约600KB) | 轻量(约160KB) |
| 浏览器兼容性 | 非常广泛(包括老旧IE9+) | 支持所有现代浏览器及IE11+ |
| 易用与集成 | 配置相对复杂,功能强大 | 配置简单,易于集成和服务器端渲染 |
现在问题来了,该如何选择?🤔 接下来,我将从几个维度帮你分析两者的差异,并给出一些使用建议。
优先选择 MathJax 的场景:
需要渲染复杂、全面的LaTeX公式,例如学术论文、科技期刊。
必须兼容非常老旧的浏览器(如IE9)。
需要高级功能,如公式的自动换行、或对无障碍访问(屏幕朗读器) 有严格要求。
优先选择 KaTeX 的场景:
追求极致的页面加载速度与性能,例如博客、技术文档、在线教程。
项目面向现代浏览器和移动设备。
需要在服务器端预先渲染公式以提高首屏性能。
项目对资源体积敏感,希望更轻量。
作者习惯在 vscode 编辑器中利用 Markdown 文档格式写作,由于使用了 Markdown Preview Enhanced 插件对 Markdown 文档进行可视化,其对 KaTeX 支持较好,加之 KaTeX 体积较小,渲染速度快,当然了由于 KaTeX 支持部分 LaTeX 语法,所以主要对 Latex 语法进行讲解,在不同插件中显示可能不一样,不过大多数基础是一致,这一点大家须知。
当然,也考虑到各位看友们想直接学习验证 LaTex 语法,对于没有安装 vscode 编辑器的朋友可通过网页在线访问 LaTeX 公式编辑器 进行实践,网址:https://www.latexlive.com/
好了,废话有点多了,耽误大家学习了。
更多知识,可查询维基百科文档:https://zh.wikipedia.org/wiki/Help:数学公式
0x01 公式渲染
当下在网站中展示数学公式有三种方式,原始HTML、使用数学模板的HTML(简称为{{math}})以及用HTML标记实现的LaTeX子集(本文中称为LaTeX),每种方法都有其优点和缺点,随着时间的推移和改进,这些优缺点也在不断发展。
原始 HTML: 变量名和符号在原始HTML格式下的显示效果与其他格式差异很大。当同一条目混用多种公式展示方式时,读者可能会感到困惑。特别是对于习惯阅读LaTeX的数学家来说,纯HTML的渲染效果往往难以接受,所以在新的网站中,通常不推荐使用原始HTML格式。
模板 HTML({{math}}): 这种格式在早期非常流行,但在现代网页设计中已经很少使用。它依赖于特定的标记语言来描述公式结构,长公式的源代码标记冗长,可读性较差,这种方式虽然在一些旧的系统中仍然存在,但并不推荐作为首选方案。
LaTeX子集: 这是目前最受欢迎的格式,因为它在数学领域得到了广泛的应用和认可。它允许用户使用类似于LaTeX的语法来编写公式,并通过MathJax或KaTeX等库将其渲染为美观且易于阅读的图形。
下表比较了模板 HTML和LaTeX子集两种方法可以实现相似的结果,可以看出,LaTeX子集在可读性、灵活性、兼容性方面都优于模板HTML,并且渲染后使用<math>与</math>标签组包含。
1.1 基本语法
如何插入公式?
LaTeX 语法允许你在 Markdown 中插入数学公式,其有两种类型的公式:行内(行中)公式和块级(独立)公式,使用 % 字符作为注释,如需使用 % 字符表示百分比,则需其前加上转义字符 。
在行(行中)内公式中,数学表达式被包裹在一对美元符号 $ 之间。例如:以爱因斯坦质能等价公式 为例
纯文本
行内公式格式:$ 数学公式 % 注释信息 $
LaTeX 行内公式示例:$E = mc^2 % 爱因斯坦质能等价公式 $
KaTeX 行内公式示例:(E = mc^2 % 爱因斯坦质能等价公式)
渲染结果:
在块级(独立)公式中,主要显示较长的或需要单独显示的公式,可以使用双美元符号 $$ 来包围它们。例如:
块级公式格式:$$ 数学公式 $$
复杂块级公式示例:$$
% 复杂块级公式示例
F(x) = int_{-infty}^{infty} hat f(xi) e^{2 pi i xi x} , dxi
$$
渲染结果:
基础运算符
+ 表示加法(正数)、- 表示减法(负数), times 表示乘法,div 表示除法,
语法格式:
加法:$a+b$
减法:$a-b$
乘法:$a times b$
除法:$a div b$
渲染结果:
pi 表示圆周率,语法格式$pi$
渲染结果:*π*
pm 表示正负号,mp 表示负正号,dotplus 表示带点的加法,cdot 表示点乘。
语法格式:
正负号:$pm 2$
负正号:$mp 2$
带点的加法:$dotplus {2^4}$
点乘: $a cdot b$
渲染结果:
divideontimes 表示两种不确定的除法运算之一,常见于抽象代数。
/ 表示 商(quotient)、集合理赔(差集)。
backslash 表示 集合理赔(差集)、商(特定方向)、线性代数(解空间),方向与 / 相反,含义完全不同。
高级代数中的特殊除法: $divideontimes,$
表示群 G 模掉正规子群 H 得到的商群: $G/H$
在群论中,gH 表示右陪集:$g backslash H$
在群论中,Hg 表示左陪集:$H backslash G$
渲染效果:
其它运算符:
$* ast, star, circ, bullet$
$boxplus, boxminus, boxtimes, boxdot $
$oplus, ominus, otimes, oslash, odot $
$circleddash, circledcirc, circledast $
$bigoplus, bigotimes, bigodot $
渲染效果:
∗∗,⋆,∘,∙∗∗,⋆,∘,∙
⊞,⊟,⊠,⊡⊞,⊟,⊠,⊡
⊕,⊖,⊗,⊘,⊙⊕,⊖,⊗,⊘,⊙
⊝,⊚,⊛⊝,⊚,⊛
⨁,⨂,⨀⨁,⨂,⨀
温馨提示:Latex 没有直接表示角度的符号,可以用符号 ∘∘(circ)的上标表示。例如:∠A=90∘∠*A*=90∘ angle A = 90^circ
(园)括号、方括号、花括号
() 圆括号、[] 方括号 和 | 表示符号本身,使用 {} 来表示 {} 花括号 。
另外,使用 left 和 right 来创建自动匹配高度的 (圆括号),[方括号] 和 {花括号} 。
短括号:${displaystyle ({frac {1}{2}})}$
长括号:${displaystyle left({frac {1}{2}}right)}$
圆括号,小括号: ${displaystyle left({frac {a}{b}}right)}$
方括号,中括号: ${displaystyle left[{frac {a}{b}}right]}$
花括号,大括号: ${displaystyle left{{frac {a}{b}}right}}$
角括号:${displaystyle leftlangle {frac {a}{b}}rightrangle }$
单竖线,绝对值:${displaystyle left| frac{a}{b} right|}$
双竖线,范数:${displaystyle left |{frac {a}{b}}right | }$
渲染效果:
撇号
数学公式中的 ′′ 号(一个英文单引号 ')就是一种特殊的上标,撇号可以与下标混用,也可以连续使用(普通的上标不能连续使用),但不能与上标直接混用。
关系符号
主要用于表示数学中的相等、不等关系,包括等号(=)、大于等于(geq)、小于等于(leq)、约等于(approx)等。
# 常用关系符
=, ne, neq, equiv, notequiv
doteq, doteqdot, overset{underset{mathrm{def}}{}}{=}, :=
sim, nsim, backsim, thicksim, simeq, backsimeq, eqsim, cong, ncong
approx, thickapprox, approxeq, asymp, propto, varpropto
<, nless, ll, notll, lll, notlll, lessdot
>, ngtr, gg, notgg, ggg, notggg, gtrdot
le, leq, lneq, leqq, nleq, nleqq, lneqq, lvertneqq
ge, geq, gneq, geqq, ngeq, ngeqq, gneqq, gvertneqq
lessgtr, lesseqgtr, lesseqqgtr, gtrless, gtreqless, gtreqqless
leqslant, nleqslant, eqslantless
geqslant, ngeqslant, eqslantgtr
# 非常用关系符
lesssim, lnsim, lessapprox, lnapprox
gtrsim, gnsim, gtrapprox, gnapprox
prec, nprec, preceq, npreceq, precneqq
succ, nsucc, succeq, nsucceq, succneqq
preccurlyeq, curlyeqprec
succcurlyeq, curlyeqsucc
precsim, precnsim, precapprox, precnapprox
succsim, succnsim, succapprox, succnapprox
上标、下标
^ 表示上标,_ 表示下标,如果上下标的内容多于一个字符,需用 {} 将这些内容括成一个整体,此外,上下标可以嵌套,也可以同时使用,以 ! 结束上下标。
语法格式:
行内公式:$a^b_c$
块级公式: $${displaystyle a^{b+b}_{c+c}}$$
结合上下标:$a^{b_c}$ $a_{i,j}$
前置上下标: ${{}{1}^{2}!X{3}^{4}}$
上下标错开: ${x_1}^2=x_1 times x_1$
渲染结果:
分数
使用 frac {分子} {分母} 命令产生一个分数,分数可嵌套。便捷情况可直接输入 frac ab 来快速生成一个 ab*ba* 。如果分式很复杂,亦可使用 分子 over 分母 命令,此时分数仅有一层。
语法格式:
分数:${displaystyle {frac {2}{4}}=0.5}$ 简写:$frac 24$ $frac 123$
小型分数:${displaystyle {tfrac {2}{4}}=0.5}$
使用 over 关键字:${displaystyle 1 over 3}$
连分式(大型嵌套分式): ${displaystyle {cfrac {2}{c+{cfrac {2}{d+{cfrac {2}{4}}}}}}=a}$
大型不嵌套分式: ${displaystyle {dfrac {2}{4}}=0.5qquad {dfrac {2}{c+{dfrac {2}{d+{dfrac {2}{4}}}}}}=a}$
二项式系数:${displaystyle {dbinom {n}{r}}={binom {n}{n-r}}=mathrm {C} _{n}^{r}=mathrm {C} _{n}^{n-r}}$
小型二项式系数: ${displaystyle {tbinom {n}{r}}={tbinom {n}{n-r}}=mathrm {C} _{n}^{r}=mathrm {C} _{n}^{n-r}}$
渲染结果:
温馨提示:上述的 displaystyle 参数用于调整公式大小,使其与文本行高一致,通常仅用于独立公式,语法格式及效果:
三分之m:( {frac {m}{3}} )
三分之m:( {displaystyle -{frac {m}{3}}} )
三分之m(登高):${displaystyle {frac {m}{3}}}$
渲染效果:
空格
虽然 TeX 能够自动处理大多数的空格,但是您有时候需要自己来控制。
| 功能 | 语法 | 显示 | 宽度 |
|---|---|---|---|
| 2个quad空格 | alphaqquadbeta |
αβαβ | 2m2m |
| 1个quad空格 | alphaquadbeta |
αβαβ | mm |
| 大空格 | alpha beta |
α βα β | m33m |
| 中等空格 | alpha;beta |
α βαβ | 2m772m |
| 小空格 | alpha,beta |
α βαβ | m66m |
| 没有空格 | alphabeta |
αβ αβ | 00 |
| 紧贴 | alpha!beta |
α βαβ | −m6−6m |
定界符、绝对值、范数
vert 表示绝对值(与 | 效果相同),lvert rvert 配对使用的左右定界符,语法上更严谨,是表示绝对值或范数的首选,而 lVert rVert 表示双竖线,用于表示范数(norm),例如向量、矩阵的模。
另外,在数学公式中,竖线经常需要根据内容自动调整高度,你可以配合 left、right 来使用, 当然亦可使用 使用 big、Big、bigg、Bigg 等命令手动控制定界符大小。
# 绝对值与范数(推荐写法)
$lvert -5 rvert = 5$
$lVert vec{v} rVert = 1$
# 自动调整高度的定界符
$left. frac{df}{dx} rightvert_{x=0} % 导数在x=0处的值$
$f(x) = left{ begin{array}{ll} 0, & x<0 \ 1, & x geq 0 end{array} right.$
# 手动控制定界符大小
$E Bigl( X Bigmvert Y Bigr) % 用于条件期望,间距可能更合适$
渲染效果:
根号、平方根、立方根
surd 表示根号, sqrt{x} 表示平方根, sqrt[3]{x} 表示 立方根, sqrt[n]{x} 表示n次根号。
纯文本
根号: $surd x$
平方根: $sqrt{x}$
立方根: $sqrt[3]{x}$
n次根号: $sqrt[n]{x}$
立方根与分数联合:$sqrt[3]{frac{x^3+y^3}{2}}$
渲染效果:
标准函数
最大、最小值:min(x,y), max(x,y)
指数函数(exponential function):exp_a b = a^b, exp b = e^b, 10^m
对数函数(logarithmic function):ln c, lg d = log e, log_{10} f
三角函数(trigonometric function):sin g, cos h, tan i, csc j, sec k, cot l
反三角函数(inverse trigonometric function):arcsin m, arccos n, arctan o, arccsc p, arcsec q, arccot r
双曲三角函数(hyperbolic trigonometric function):sinh x, cosh y, tanh z
双曲三角函数(hyperbolic trigonometric function):operatorname{sh}k, operatorname{ch}l, operatorname{th}m, operatorname{coth}n
反双曲三角函数(inverse hyperbolic trigonometric function):arcsinh x, arccosh y, arctanh z
反双曲三角函数(inverse hyperbolic trigonometric function): operatorname{argsh}o, operatorname{argch}p, operatorname{argth}q
符号函数(signum function): sgn r, leftvert s rightvert
字体
TeX 目前支持多种字体,包括罗马体、黑体、斜体和打字机字体,包含了在后续学习机器学习中一些希腊符号变量,每种字体的语法略有不同,如下所示:
小型手写体: scriptstyletext{abcdefghijklm} 显示为:abcdefghijklmabcdefghijklm
希伯来符号: aleph beth gimel daleth 显示为:ℵℶℷℸℵℶℷℸ
希腊字母
| 语法 | 显示 |
|---|---|
Alpha Beta Gamma Delta Epsilon Zeta Eta Theta |
ABΓΔEZHΘABΓΔEZHΘ |
Iota Kappa Lambda Mu Nu Xi Omicron Pi |
IKΛMNΞOΠIKΛMNΞOΠ |
Rho Sigma Tau Upsilon Phi Chi Psi Omega |
PΣTΥΦXΨΩPΣTΥΦXΨΩ |
alpha beta gamma delta epsilon zeta eta theta |
αβγδϵζηθαβγδϵζηθ |
iota kappa lambda mu nu xi omicron pi |
ικλμνξoπικλμνξoπ |
rho sigma tau upsilon phi chi psi omega |
ρστυϕχψωρστυϕχψω |
varepsilon digamma varkappa varpi |
εϝϰϖεϝϰϖ |
varrho varsigma vartheta varphi |
ϱςϑφϱςϑφ |
boldsymbol: 粗体希腊字母
纯文本
$boldsymbol{AlphaBetaGammaDeltaEpsilonZetaEtaTheta} $
$boldsymbol{IotaKappaLambdaMuNuXiPiRho} $
$boldsymbol{SigmaTauUpsilonPhiChiPsiOmega} $
$boldsymbol{alphabetagammadeltaepsilonzetaetatheta} $
$boldsymbol{iotakappalambdamunuxipirho} $
$boldsymbol{sigmatauupsilonphichipsiomega} $
$boldsymbol{varepsilondigammavarkappavarpi} $
$boldsymbol{varrhovarsigmavarthetavarphi} $
渲染效果:
ABΓΔEZHΘ
IKΛMNΞΠP
ΣTΥΦXΨΩ
αβγδϵζηθ
ικλμνξπρ
στυϕχψω
εϝϰϖ
ϱςϑφ
mathit: 斜体(拉丁字母默认) 、斜体希腊字母(小写字母默认)
纯文本
$mathit{0123456789} $
$mathit{AlphaBetaGammaDeltaEpsilonZetaEtaTheta} $
$mathit{IotaKappaLambdaMuNuXiPiRho} $
$mathit{SigmaTauUpsilonPhiChiPsiOmega} $
渲染效果:
01234567890123456789
ABΓΔEZHΘABΓΔEZHΘ
IKΛMNΞΠPIKΛMNΞΠP
ΣTΥΦXΨΩΣTΥΦXΨΩ
mathbf: 粗体
mathbb:黑板报粗体
纯文本
粗体
$mathbf{ABCDEFGHIJKLMNOPQRSTUVWXYZ} $
$mathbf{abcdefghijklmnopqrstuvwxyz} $
$mathbf{0123456789} $
黑板报粗体
$mathbb{ABCDEFGHIJKLMNOPQRSTUVWXYZ} $
$mathbb{abcdefghijklmnopqrstuvwxyz} $
$mathbb{0123456789} $
渲染效果:
粗体
ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
01234567890123456789
黑板报粗体
ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
01234567890123456789
mathrm: 罗马体
mathsf: 无衬线体
mathcal: 手写体/花体
mathtt: 打字机字体
mathfrak: Fraktur体
纯文本
罗马体
$mathrm{ABCDEFGHIJKLMNOPQRSTUVWXYZ} $
$mathrm{abcdefghijklmnopqrstuvwxyz} $
$mathrm{0123456789} $
无衬线体
$mathsf{ABCDEFGHIJKLMNOPQRSTUVWXYZ} $
$mathsf{abcdefghijklmnopqrstuvwxyz} $
$mathsf{0123456789} $
手写体/花体
$mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ} $
$mathcal{abcdefghijklmnopqrstuvwxyz} $
打字机字体
$mathtt{ABCDEFGHIJKLMNOPQRSTUVWXYZ} $
$mathtt{abcdefghijklmnopqrstuvwxyz} $
Fraktur体
$mathfrak{ABCDEFGHIJKLMNOPQRSTUVWXYZ} $
$mathfrak{abcdefghijklmnopqrstuvwxyz} $
渲染效果:
罗马体
ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
01234567890123456789
无衬线体
ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
01234567890123456789
手写体/花体
ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
打字机字体
ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
Fraktur体
ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
颜色
目前 TeX 语法支持在公式中使用颜色,语法格式如下:{color{色调}表达式},其中输入时第一个字母必需以大写输入,如color{OliveGreen},不过经过测试小写也是可以的,不过为了严谨,建议使用大写开头。
纯文本
示例1: ${color{Blue}x^2}+{color{Brown}2x} - {color{OliveGreen}1}$
示例2: $x_{color{Maroon}1,2}=frac{-bpmsqrt{{color{Maroon}b^2-4ac}}}{2a}$
首字母小写也是正常的:${color{red} a + b }$
渲染结果:
目前支持的色调表如下图所示:
1.2 进阶语法
导数、导数点
' 表示导数,dot{} 表示导数点。
纯文本
导数(HTML): ${displaystyle x'}$
导数(PNG) : ${displaystyle x^{prime}}$
导数(错误):${displaystyle xprime}$
导数点(单): $dot{x}$
导数点(双): $ddot{x}$
渲染结果:
向量
vec{} 表示向量,overleftarrow 与 overrightarrow{} 表示箭头方向,widehat{} 表示波浪线。
纯文本
X向量: $vec{X}$
左箭头:${displaystyle {overleftarrow {ab}}}$
右箭头:${displaystyle {overrightarrow {ab}}}$
双向箭头:${displaystyle {overleftrightarrow {ab}}}$
波浪线:${displaystyle {widehat {efg}}}$
渲染结果:
1.3 高阶语法
矩阵 matrix pmatrix bmatrix Bmatrix vmatrix Vmatrix、条件表达式 cases、多行对齐方程式 aligned、数组 array,在公式内容中:在每一行中插入 & 来指定需要**对齐**的内容,在每行结尾处使用 \ **换行**。
无框矩阵
在开头使用 begin{matrix},在结尾使用 end{matrix},在中间插入矩阵元素,每个元素之间插入 & ,并在每行结尾处使用 \ 。
纯文本
begin{matrix} x & y \ z & v end{matrix}
有框矩阵
在开头将 matrix 替换为 pmatrix 或 bmatrix 或 Bmatrix 或 vmatrix 或 Vmatrix 。
纯文本
${displaystyle {begin{vmatrix}x&yz&vend{vmatrix}}}$
${displaystyle {begin{Vmatrix}x&yz&vend{Vmatrix}}}$
使用 cdots ⋯⋯ , ddots ⋱⋱ , vdots ⋮⋮ 来输入**省略符号**。
纯文本
begin{bmatrix} 0 & cdots & 0 \ vdots & ddots & vdots \ 0 & cdots & 0 end{bmatrix}
{displaystyle {begin{bmatrix}0 &cdots &0 \ vdots &ddots &vdots &0 &cdots &0end{bmatrix}}}
纯文本
begin{Bmatrix} x & y \ z & v end{Bmatrix}
纯文本
begin{pmatrix} x & y \ z & v end{pmatrix}
条件表达式
纯文本
f(n) = begin{cases} n/2, & text{if }ntext{ is even} \ 3n+1, & text{if }ntext{ is odd} end{cases}
多行等式、同余式
若要一列整齐且居中的方程式序列,可使用 begin{aligned}…end{aligned}。
纯文本
begin{aligned} f(x) & = (m+n)^2 \ & = m^2+2mn+n^2 \ end{aligned}
纯文本
begin{aligned} 3^{6n+3}+4^{6n+3} & equiv (3^3)^{2n+1}+(4^3)^{2n+1}\ & equiv 27^{2n+1}+64^{2n+1}\ & equiv 27^{2n+1}+(-27)^{2n+1}\ & equiv 27^{2n+1}-27^{2n+1}\ & equiv 0 pmod{91}\ end{aligned}
纯文本
begin{alignedat}{3} f(x) & = (m-n)^2 \ f(x) & = (-m+n)^2 \ & = m^2-2mn+n^2 \ end{alignedat}
方程组
纯文本
left{begin{aligned} 3x + 5y + z \ 7x - 2y + 4z \ -6x + 3y + 2z end{aligned}right.
数组与表格
通常,一个格式化后的表格比单纯的文字或排版后的文字更具有可读性。数组和表格均以 begin{array} 开头,并在其后定义列数及每一列的文本对齐属性,c l r 分别代表居中、左对齐及右对齐。若需要插入垂直分割线,在定义式中插入 | ,若要插入水平分割线,在下一行输入前插入 hline 。与矩阵相似,每行元素间均须要插入 & ,每行元素以 \ 结尾,最后以 end{array} 结束数组。
纯文本
begin{array}{c|lcr} n & text{左对齐} & text{居中对齐} & text{右对齐} \ hline 1 & 0.24 & 1 & 125 \ 2 & -1 & 189 & -8 \ 3 & -20 & 2000 & 1+10i end{array}
纯文本
begin{array}{lcl} z & = & a \ f(x,y,z) & = & x + y + z end{array}
begin{array}{lcr} z & = & a \ f(x,y,z) & = & x + y + z end{array} #对其
纯文本
begin{array}{ccc} a & b & S \ hline 0&0&1\ 0&1&1\ 1&0&1\ 1&1&0\ end{array
嵌套数组与表格
多个数组/表格可 互相嵌套 并组成一组数组/一组表格,使用嵌套前必须声明 $$ 符号。
纯文本
% outer vertical array of arrays 外层垂直表格
begin{array}{c}
% inner horizontal array of arrays 内层水平表格
begin{array}{cc}
% inner array of minimum values 内层"最小值"数组
begin{array}{c|cccc}
text{min} & 0 & 1 & 2 & 3\
hline
0 & 0 & 0 & 0 & 0\
1 & 0 & 1 & 1 & 1\
2 & 0 & 1 & 2 & 2\
3 & 0 & 1 & 2 & 3
end{array}
&
% inner array of maximum values 内层"最大值"数组
begin{array}{c|cccc}
text{max}&0&1&2&3\
hline
0 & 0 & 1 & 2 & 3\
1 & 1 & 1 & 2 & 3\
2 & 2 & 2 & 2 & 3\
3 & 3 & 3 & 3 & 3
end{array}
end{array}
% 内层第一行表格组结束
\
% inner array of delta values 内层第二行 Delta 值数组
begin{array}{c|cccc}
Delta&0&1&2&3\
hline
0 & 0 & 1 & 2 & 3\
1 & 1 & 0 & 1 & 2\
2 & 2 & 1 & 0 & 1\
3 & 3 & 2 & 1 & 0
end{array}
% 内层第二行表格组结束
end{array}
纯文本
% inner array of minimum values 内层"最小值"数组
begin{array}{c|cccc}
text{min} & 0 & 1 & 2 & 3\
hline
0 & 0 & 0 & 0 & 0\
1 & 0 & 1 & 1 & 1\
2 & 0 & 1 & 2 & 2\
3 & 0 & 1 & 2 & 3
end{array}
% inner array of maximum values 内层"最大值"数组
begin{array}{c|cccc}
text{max}&0&1&2&3\
hline
0 & 0 & 1 & 2 & 3\
1 & 1 & 1 & 2 & 3\
2 & 2 & 2 & 2 & 3\
3 & 3 & 3 & 3 & 3
end{array}
纯文本
begin{array}{c|cccc}
Delta&0&1&2&3\
hline
0 & 0 & 1 & 2 & 3\
1 & 1 & 0 & 1 & 2\
2 & 2 & 1 & 0 & 1\
3 & 3 & 2 & 1 & 0
end{array}
% 内层第二行表格组结束
数组实现带分割符号的矩阵
其中 cc|c 代表在一个三列矩阵中的第二和第三列之间插入分割线,同理 c|c|c 表示分别插入分割线。
纯文本
$$
left[
begin{array}{cc|c}
1&2&3\
4&5&6
end{array}
right]
$$
0x02 实践演示
小学
四则运算
加减乘除 +−×÷+−×÷ ,+ - times div
点乘 ⋅⋅ cdot
小数
无限小数 3.1415926⋯3.1415926⋯ ,3.1415926 cdots
循环节
1.3˙1.3˙ 1.dot{3}或者1.dot 3
1.1˙23˙1.1˙23˙ 1.dot{1}2dot{3}或者1.dot 12dot 3
分数
1331 frac{1}{3}或frac 13或1 over 3
215521 frac{21}{5}或21 over 5
大小比较
大于号、小于号、等号 ><=><= > < =
大于等于 ≥≥ ge或geq
⩾⩾ geqslant
小于等于 ≤≤ le或leq
⩽⩽ leqslant
约等号 ≈≈ approx
括号
【小型的】小括号、中括号、大括号 ()[] ()[]{}
【自动放大的】小括号、中括号、大括号 left( right) left[ right] left{ right}
两种括号对比:
(13)(31) (frac 13) ⇔⇔ (13)(31) left( dfrac 13 right)
括号内有分数时,建议使用第二种括号。
圆周率
ππ pi
初中
运算符号,函数符号
绝对值 ∣s∣∣s∣ leftvert s rightvert
乘方,指数,上标
单字符:anan a^n 或 a^{n}
多字符:a10a10 a^{10}
方根/根号
平方根 x,x2x,2x sqrt{x},sqrt[2]{x}
立方根,n 次方根 x+y3,xn3x+y,nx sqrt[3]{x+y},sqrt[n]{x}
根号 √√ surd
三角函数
正弦 sinxsinx sin x
余弦 cos(x+π2)cos(x+2π) cos left( x+frac{pi}{2} right)
正切 tanxtanx tan x
方程(一元一次方程、一元二次方程)
一元一次方程是只含有一个未知数(元),且未知数的最高次数为1的方程,例如 ax+b=0ax+b=0
一元二次方式是只含有一个未知数且未知数的最高次数为2的整式方程。例如 ax2+bx+c=0ax2+bx+c=0 ,其中判别式(德尔塔) Δ=b2−4ac⩾0Δ=b2−4ac⩾0 Delta = b^2-4ac leglant 0 ,即通过判别式可以判断方程的解的类型。
Δ > 0:有两个不同的实数解
Δ = 0:有两个相同的实数解
Δ < 0:没有实数解,只有复数解
方程组,不等式组
纯文本
# 方式1
$$begin{cases}3x+5y+z\7x-2y+4z\-6x+3y+2zend{cases}$$
# 方式2
left{begin{aligned} 3x + 5y + z \ 7x - 2y + 4z \ -6x + 3y + 2z end{aligned}right.
几何
因为 ∵∵ because,所以 ∴∴ therefore
角的符号 ∠A∠A angle A
平行符号
自带的是竖直样式 ∥∥ parallel
用斜杆 + 紧贴造一个倾斜的平行符号 /!//!/ /!/
垂直 ⊥⊥ perp
平行且相等 LaTeX 暂时没有此符号
三角形符号 △△ triangle(注意和一元二次方程的判别式 ΔΔ Delta 不同)
平行四边形的符号 LaTeX 中没有这个符号,只能用 Unicode 字符 ▱
全等
自带的与国内教科书方向相反 ≅≅ cong
想要 ≌≌ 只能用 Unicode 字符 ≌
相似
国内教科书写法 ∽∽ backsim
国外常见写法 ∼∼ sim
圆的符号 ⊙,⨀⊙,⨀ odot,bigodot
弧的符号 MathJax 里没有现成的符号,只能造一个 AB⌢ overset {frown}{AB}
统计
平均数(共轭) xˉxˉ bar{x}
希腊字母
数学常用符号:
表示角的字母:阿尔法,贝塔,伽马 αβγαβγ alpha beta gamma
前面谈到的一元二次方程的判别式,德尔塔 ΔΔ Delta
物理常用符号:
密度 ρρ rho
电阻单位 欧姆 ΩΩ Omega
效率,机械效,热效率 η*η* eta
电磁波 c=λν*c*=*λν*:波长 λ*λ* lambda;频率 ν*ν* nu
高中
分数/分式
通常使用 frac {分子} {分母} 表示分数,分数可嵌套。
如果分子和分母都只有一个字符,可直接输入 frac ab 来快速生成 ab*ba*。
如果分式很复杂,亦可使用 分子 over 分母 命令,此时分数仅有一层,如 1221。
分数:
行内公式显示效果 ${frac {2}{4}}=0.5$: 24=0.542=0.5
行间公式显示效果 $${frac {2}{4}}=0.5$$:24=0.542=0.5
小型分数 24=0.542=0.5 tfrac{2}{4} = 0.5
连分式(大型嵌套分式)2c+2d+24=ac+d+4222=a cfrac{2}{c + cfrac{2}{d + cfrac{2}{4}}} = a
大型不嵌套分式 24=0.542=0.5 dfrac{2}{4} = 0.5,2c+2d+24=a*c*+*d*+4222=*a* dfrac{2}{c + dfrac{2}{d + dfrac{2}{4}}} = a
特别注意:在指数、极限和积分中尽量不要使用 frac 符号:它会使整段函数看起来很怪,而且可能产生歧义。也正是因此它在专业数学排版中几乎从不出现。 横着写这些分式,中间使用斜线间隔 /(用斜线代替分数线)。
begin{array}{cc}
mathrm{Bad} & mathrm{Better} \
hline \
e^{ifrac{pi}2} quad e^{frac{ipi}2}& e^{ipi/2} \
int_{-fracpi2}^fracpi2 sin x,dx & int_{-pi/2}^{pi/2}sin x,dx \
end{array}
集合
特殊的集合
空集 ∅∅ varnothing
正整数集 N+,N∗,Z+,Z∗N+,N∗,Z+,Z∗ mathbb{N^+},mathbb{N^*},mathbb{Z^+},mathbb{Z^*}
自然数集 NN mathbb{N}
整数集 ZZ mathbb{Z}
有理数集 QQ mathbb{Q}
实数集 RR mathbb{R}
复数集 CC mathbb{C}
元素与集合的关系
属于与不属于 ∈,∉,∉,∋,∌∈,∈/,∈,∋,∋ in, notin, notin, ni, notni
集合与集合的关系
包含于,子集 ⊆⊆ subseteq
真包含于,真子集 ⫋⫋ subsetneqq
不包含于,不是子集 ⊈⊈ nsubseteq
立体几何中常把 ⫋⫋ 简写作 ⊂⊂。
集合运算
交集,并集 ∩,∪∩,∪ cap,cup
初等函数
对数函数 logx,lnx,lgxlogx,lnx,lgx log x,ln x,lg x
三角函数 sinxcosytanxsinxcosytanx sin x cos y tan x
立体几何
点、线、面的位置关系
向量
向量符号
逻辑
或、与、非
全称量词 (对于所有)
存在量词
充分条件/可推出
必要条件
充分必要条件/充要条件/等价于
统计与概率
最小二乘法/线性回归方程
微积分基础
无穷大/无限 ∞∞ infty
极限
导数/导函数
积分
复数
begin{aligned}
z_1 &= a_1 + b_1 i \
z_2 &= a_2 + b_2 i \
z_1 + z_2 &= (a_1 + a_2) + (b_1 + b_2)i
end{aligned}
计数原理
排列
组合
物理
正比于
希腊字母
正弦型函数 y=Asin(ωx+φ)y=Asin(ωx+φ) y=Asin(omega x+varphi):ω*ω* 圆频率或角频率,φ*φ* 称为初相位或初相角,周期为 T=2πω*T*=*ω*2*π*。
辅助角公式常用字母 φφ varphi
摩擦因数/动摩擦因数 μμ mu
平行板电容器的电容 C=εS4πkd*C*=4*πkdεS*:介电常数 ε*ε* varepsilon
参考来源:
LaTeX维基百科
LaTex语法介绍
MathJax 在 Markdown 环境下的语法指引
LaTex 手画符号生成器
END
467