【MathJax】语法总结 ⟳
基础语法⟳
1.显示公式⟳
在行中显示的 (inline mode),就用 $...$
单独一行显示 (display mode),则用 $$...$$
2.希腊字母⟳
要显示希腊字母,可以用 \alpha, \beta, …, \omega
,输出
想要显示大写的话,就用 \Gamma, \Delta, …, \Omega
, 输出
3. 上下标⟳
上下标可用 ^
和 _
, 比如\log_2 x
显示
上下标符号只能用于接下来一个 Group,即 单个字符,或一组花括号内的东西,比如 要写成10^{10}
4. 括号⟳
小括号、方括号直接输,花括号要用 \{
和 \}
括号不会伸缩,如写 (\frac{\sqrt x}{y^3})
会得到
如果需要伸缩,就需要用 \left(…\right)
来进行自动伸缩,如写 \left(\frac{\sqrt x}{y^3}\right)
得到
\left
和 \right
的用法在这些中有用:三种括号,绝对值符号,范数符号 \vert x \vert
,\Vert x \Vert
,尖角符号 \langle
和 \rangle
,向上下取整符号 \lceil
\rceil
和 \lfloor
\rfloor
。如果只需显示一半的符号,可以用 .
来表示另一边为空,如\left. \frac 1 2 \right \rbrace
就是
当然也可以手动调整括号的大小,如\Biggl(\biggl(\Bigl(\bigl((x)\bigr)\Bigr)\biggr)\Biggr)
会得到
5. 求和与积分⟳
\sum_1^n
显示 , \int_1^n
显示 ,当然也有Group的概念,不止一位时需要花括号。
类似的还有连乘号 \prod
、并集\bigcup
、交集\bigcap
、多重积分 \iint
等。
6. 分数⟳
有两种方法来显示分数,一种是 \frac a b
来显示,另一种是用 \over
, 如{a+1 \over b+1}
显示
7. 字体⟳
用 \mathbb
或 \Bbb
选择blackboard bold 字体,如\mathbb {ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ \\ abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz}
:
用 \mathbf
选择 boldface 字体:
用 \mathtt
选择 typewriter 字体:
用 \mathrm
选择 roman 字体:
用 \mathsf
选择 sans-serif字体:
用 \mathcal
选择 calligraphic 字体:
用 \mathscr
选择 script 字体:
用 \mathfrak
选择 Fraktur 字体:
8. 根号⟳
\sqrt {x^3}
可显示根号,\sqrt[3] {\frac x y}
显示三次根号
9. 三角函数、极限和对数⟳
像 “lim”, “sin”, “max”, “ln”等符号,已包括在roman 字体中,用 \lim
等即可,极限可用\lim_{x\to 0}
来表示:
10. 特殊符号和记号⟳
有很多,以下是一小部分:
\lt \gt \le \ge \neq
表示,还可以在不等号上加\not
,如\not\lt
表示\times \div \pm \mp
表示 ,点乘用\cdot
表示,如x \cdot y
表示- 集合类符号,
\cup \cap \setminus \subset \subseteq \subsetneq \supset \in \notin \emptyset \varnothing
表示 - 组合数,
{n+1 \choose 2k}
或\binom{n+1}{2k}
表示 - 箭头,
\to \rightarrow \leftarrow \Rightarrow \Leftarrow \mapsto
表示 \land \lor \lnot \forall \exists \top \bot \vdash \vDash
表示\star \ast \oplus \circ \bullet
表示\approx \sim \simeq \cong \equiv \prec \lhd
表示\infty \aleph_0
表示 ,\nabla \partial
表示 ,\Im \Re
表示- 取模,用
\pmod
,如a \equiv b\pmod n
表示 - 省略号,底一点的中的省略用
\ldots
,如a_1, a_2, \ldots ,a_n
表示 ,中间位置的的省略用\cdots
,如a_1 + a_2 + \ldots + a_n
表示
11. 空格⟳
MathJax中加入空格不会改变表达式,如果想在表达式中加空格,根据空格的不同,可用\, \; \quad \qquad
,如
如果想加入一段文字,可用\text{…}
,如\{x \in s \mid x \text{ is extra large}\}
表示 ,在\text{…}
里面还可以嵌套$…$
12. Accents (重音符) and diacritical (变音符) marks⟳
重音符可用\hat
,如\hat x
表示
变音符可用\widehat
,如\widehat {xy}
表示
\bar x
表示 ,\overline {xyz}
表示
\vec x
表示,\overrightarrow {xy}
表示 ,\overleftrightarrow {xy}
表示
如果用点号,可用\dot
和\ddot
,如可用\frac d{dx}x\dot x = \dot x^2 + x\ddot x
表示
13. 转义符⟳
一般情况下可用\
来作转义,但如果想要表示\
本身,需要用\backslash
,因为\\
表示换行。
矩阵⟳
1. 矩阵表示⟳
可以用 $$\begin{matrix}…\end{matrix}$$
来表示矩阵。将矩阵元素放在 \begin
和 \end
之间即可。 用 \\
来分割行,用 &
来分割同一行的矩阵元素。如:
$$
\begin{matrix}
1 & x & x^2 \\
1 & y & y^2 \\
1 & z & z^2 \\
\end{matrix}
$$
表示:
MathJax 会自动调整行列的尺寸。
2. 矩阵两端的括号⟳
$$
\begin{matrix}
1 & 2 \\
3 & 4 \\
\end{matrix}
$$
给矩阵两端加上括号,可以用\left…\right
或者把 {matrix}
替换为 {pmatrix}
, 变成
替换为 {bmatrix}
,变成
替换为{Bmatrix}
变成
替换为 {vmatrix}
变成
替换为 {Vmatrix}
变成
3. 在中间省略一些项⟳
可以用 \cdots
、\ddots
、\vdots
来在中间省略一些项。
比如:
\begin {pmatrix}
1 & a_1 & a_1^2 & \cdots & a_1^n \\
1 & a_2 & a_2^2 & \cdots & a_2^n \\
\vdots & \vdots& \vdots & \ddots & \vdots \\
1 & a_m & a_m^2 & \cdots & a_m^n
\end {pmatrix}
显示:
4. 增广矩阵 augmented matrix⟳
对于增广矩阵,要用到 {array}
语句。如:
\left [
\begin {array} {cc|c}
1&2&3\\
4&5&6
\end {array}
\right ]
可以得到:
{cc|c}
的作用是,在第二列和第三列之间画一条垂直线,c表示列中心对齐。
5. 在行内画小矩阵⟳
如果只是需要在行内画个小矩阵,可以用 \bigl(\begin{smallmatrix} ... \end{smallmatrix}\bigr)
来画。
如 $\bigl( \begin{smallmatrix} a & b \\ c & d \end{smallmatrix} \bigr)$
可以画出
对齐等式⟳
如果有一系列的等式需要写,并且等号需要对齐,那么可以用 \begin{align}…\end{align}
。
每次换行都要用 \\
,新的一行需要在需要对齐的地方使用 &
。
下面是一个例子:
\begin{align}
\sqrt{37} & = \sqrt{ \frac{73^2-1}{12^2}} \\
& = \sqrt{ \frac{73^2}{12^2} \cdot \frac{73^2-1}{73^2}} \\
& = \sqrt{ \frac{73^2}{12^2}}\sqrt{ \frac{73^2-1}{73^2}} \\
& = \frac{73}{12} \sqrt{1 - \frac{1}{73^2}} \\
& \approx \frac{73}{12} \left(1 - \frac{1}{2 \cdot73^2} \right)
\end{align}
写出来是这样的:
在这里,$$
符号可以省略。
分段函数 piecewise functions⟳
怎么写分段函数呢?用关键词 {case}
。
主要格式是 \begin{cases}…\end{cases}
,用\\
来换行,用&
来对齐。
举个例子:
f(n) =
\begin{cases}
n/2, & \text{if $n$ is even} \\
3n+1, & \text{if $n$ is odd}
\end{cases}
可以得到:
如果想把括号放右边,就这样写:
\left.
\begin{array}{l}
\text{if $n$ is even:}&n/2\\
\text{if $n$ is odd:}&3n+1
\end{array}
\right\}
=f(n)
得到:
如果想让两行之间的间隔变得更大一些,就可以用 \\[2ex]
代替 \\
,接着举例子:
f(n) =
\begin{cases}
\frac{n}{2}, & \text{if $n$ is even} \\[2ex]
3n+1, & \text{if $n$ is odd}
\end{cases}
得到:
注:ex
是指字母x的高度,\\[2ex]
就表示两倍的字母x的高度。
Array⟳
用 MathJax 来表示 array 或 table 比用 “文本+空格”的方式方便得多。
在 \begin{array}
之后,要再用一个 {}
格式写出每一列应该如何对齐, 在花括号里面,用 c
表示列中心对齐,用 r
表示右对齐,l
表示左对齐,|
表示垂直线。
和矩阵一样,用 &
来分割单元,用 \\
来换行。
如果要作水平线,在当前行的前面加上 \hline
即可。
下面是一个例子:
$$
\begin{array} {c|lcr}
n & \text{Left} & \text{Center} & \text{Right} \\
\hline
1 & 0.24 & 1 & 125 \\
2 & -1 & 189 & -8 \\
3 & -20 & 2000 & 1+10i
\end{array}
$$
显示出来是这样的:
Array可嵌套,形成一个 “array of tables”,例子如下:
源代码是这样的:
% 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
\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}
方程组⟳
在需要建立方程组的时候,可以用 \begin{array}…\end{array}
和 \left\{…\right.
,如:
$$
\left \{
\begin{array}{c}
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{array}
\right.
$$
就可以显示:
另外,也可以使用 \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{aligned}...\end{aligned}
和 \left\{…\right.
,如:
$$
\left\{
\begin{aligned}
a_1x+b_1y+c_1z &= d_1+e_1 \\
a_2x+b_2y &= d_2 \\
a_3x+b_3y+c_3z &= d_3
\end{aligned}
\right.
$$
显示:
如果想要等号对齐,并左右两边左对齐,就可以用 array 中的 l
参数:
$$
\left\{
\begin{array}{ll}
a_1x+b_1y+c_1z &=d_1+e_1 \\
a_2x+b_2y &=d_2 \\
a_3x+b_3y+c_3z &=d_3
\end{array}
\right.
$$
显示:
连续分式⟳
如果要书写连续分式,请使用 \cfrac
,如:
x = a_0 + \cfrac{1^2}{a_1
+ \cfrac{2^2}{a_2
+ \cfrac{3^2}{a_3 + \cfrac{4^4}{a_4 + \cdots}}}}
显示为
如果用 \frac
,会怎么样呢?
x = a_0 + \frac{1^2}{a_1
+ \frac{2^2}{a_2
+ \frac{3^2}{a_3 + \frac{4^4}{a_4 + \cdots}}}}
显示为:
看起来就很奇怪。
如果非要用\frac
,那就写成这样吧:
x = a_0 + \frac{1^2}{a_1+}
\frac{2^2}{a_2+}
\frac{3^2}{a_3 +} \frac{4^4}{a_4 +} \cdots
显示为:
打 Tag 和引用公式⟳
如果在某个公式之后,又想要引用原公式并说明原公式的出处,该怎么办呢?
可以用 tagging/labelling/referencing system来做。
可以用 \tag{yourtag}
来给原公式打 Tag。如果在后面需要引用它,就在 \tag
后面加上 \label{somelabel}
,yourtag
和 somelabel
不一定要一样,但最好一样。
下面是一个例子。
比如我先对原公式打 Tag:
$$ a := x^2-y^3 \tag{*}\label{*} $$
显示为:
需要引用该公式时,就可以用 \eqref{somelabel}
:
$$ a+y^3 \stackrel{\eqref{*}}= x^2 $$
显示为:
也可以用 \ref{somelabel}
,这样的话就没有括号,$$ a+y^3 \stackrel{\ref{*}}= x^2 $$
,显示为:
Commutative diagrams⟳
AMScd 图一定要以”require”开头。
例子:
\require{AMScd}
\begin{CD}
A @>a>> B\\
@V b V V= @VV c V\\
C @>>d> D
\end{CD}
显示为:
符号说明如下:
@>>>
向右箭头
@<<<
向左箭头
@VVV
向下箭头
@AAA
向上箭头
@=
水平的 double line
@|
垂直的 double line
@.
没有箭头
另一个例子:
\begin{CD}
A @>>> B @>{\text{very long label}}>> C \\
@. @AAA @| \\
D @= E @<<< F
\end{CD}
显示为:
这招可以用来写化学方程式:
\require{AMScd}
\begin{CD}
RCOHR'SO_3Na @>{\text{Hydrolysis,$\Delta, Dil.HCl$}}>> (RCOR')+NaCl+SO_2+ H_2O
\end{CD}
显示为:
让括号变大⟳
用 \left
和 \right
可以让三种括号(圆括号、方括号、花括号)的尺寸适应公式的大小。
比如:
$$
f\left(
\left[
\frac{
1+\left\{x,y\right\}
}{
\left(
\frac{x}{y}+\frac{y}{x}
\right)
\left(u+1\right)
}+a
\right]^{3/2}
\right)
$$
显示为:
注意,花括号,要用 \{
\}
.
如果左边括号用了 \left
,并需要在另一行用 \right
的右括号,那么就要先使用 \right.
和 \left.
,来当成“隐形的”括号。
例子如下:
$$
\begin{aligned}
a=&\left(1+2+3+ \cdots \right. \\
& \cdots+ \left. \infty-2+\infty-1+\infty\right)
\end{aligned}
$$
显示为:
如果是对称的符号(如绝对值符号,没有左右之分)要伸缩,那就用 \middle
,例子如下:
$$
\left\langle
q
\middle\|
\frac{\frac{x}{y}}{\frac{u}{v}}
\middle|
p
\right\rangle
$$
显示为:
但是,用 \left|
和 \left|
也是可以的。
任意运算符⟳
有时候想打某个运算符,但它又不在 built-in command 中,这时候该怎么办?
可以用 \operatorname{…}
将它打出来。
比如, \operatorname{arsinh}(x)
可以打出
如果用 \arsinh(x)
的话,\arsinh(x)
是不合规则的
如果直接写 arsinh(x)
,会显示 ,它的字体又不符合函数的要求。
如果需要在运算符的上面或下面添加一些限制,可以用 \operatorname*{…}
,如 \operatorname*{Res}_{z=1}\left(\frac1{z^2-z}\right)=1
会显示:
极限符号⟳
怎样在一行内写出一个像 一样的极限符号?
如果用MathJax基础(1)中的方法,在一行内,$\lim_{x \to 1}$
,会渲染成,只有独立成一行时,这种写法才会渲染正常。
下面说详细步骤:
- 用
$\lim
开头,它会被渲染成 ,注意要加反斜杠,防止lim倾斜。 - 在后面再写
\limits_{x \to 1}
,就会渲染成 . - 最后,写上要求极限的函数即可。
所以最后的源代码为 $\lim \limits_{x \to 1} \frac{x^2-1}{x-1}$
,写出来就是.
笔者将不定期更新【考研或就业】的专业相关知识以及自身理解,希望大家能【关注】我。
如果觉得对您有用,请点击左下角的【点赞】按钮,给我一些鼓励,谢谢!
如果有更好的理解或建议,请在【评论】中写出,我会及时修改,谢谢啦!
本文来自博客园,作者:Nemo&
转载请注明原文链接:https://www.cnblogs.com/blknemo/p/16745637.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)