本文由两篇博客整理得到:
在博客、论坛等需要大量编辑文字以及排版的时候
往往会采用一些语言或者格式进行美化
例如HTML、MD
最近写博比较多
用到了大量的公式
在写博的过程当中查了好多
突发奇想整合一下,方便以后自己查找
也利于小伙伴们学习
蟹蟹
Markdown学习
简介
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。
Markdown 语言在 2004 由约翰·格鲁伯(英语:John Gruber)创建。
Markdown 编写的文档可以导出 HTML 、Word、图像、PDF、Epub 等多种格式的文档。
Markdown 编写的文档后缀为 .md, .markdown。
我们可以用中文叫他“记下来”。
标题
使用 # 号标记
使用 # 号可表示 1-6 级标题,一级标题对应一个 # 号,二级标题对应两个 # 号,以此类推。
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
一级标题
二级标题
三级标题
四级标题
五级标题
六级标题
段落
Markdown 段落没有特殊的格式,直接编写文字就好,段落的换行是使用两个以上空格加上回车。其实一个回车即可。
换行
换行
字体
Markdown 可以使用以下几种字体:
*斜体文本*
_斜体文本_
**粗体文本**
__粗体文本__
***粗斜体文本***
___粗斜体文本___
斜体文本
斜体文本
粗体文本
粗体文本
粗斜体文本
粗斜体文本
分隔线
你可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。你也可以在星号或是减号中间插入空格。下面每种写法都可以建立分隔线:
***
* * *
*****
- - -
----------
删除线
如果段落上的文字要添加删除线,只需要在文字的两端加上两个波浪线 ~~ 即可,实例如下:
~~删除线~~
删除线
下划线
下划线可以通过 HTML 的 标签来实现:
<u>带下划线文本</u>
带下划线文本
脚注
脚注是对文本的补充说明。
Markdown 脚注的格式如下
[^要注明的文本]
列表
Markdown 支持有序列表和无序列表。
无序列表使用星号(*)、加号(+)或是减号(-)作为列表标记:
* 第一项
+ 第二项
- 第三项
- 第一项
- 第二项
- 第三项
有序列表使用数字并加上 . 号来表示,如:
- 第一项
- 第二项
- 第三项
列表嵌套只需在子列表中的选项添加四个空格即可:
1. 第一项
+ 第一项
- 第一项
* 第一项
- 第一项
- 第一项
- 第一项
- 第一项
区块
Markdown 区块引用是在段落开头使用 > 符号 ,然后后面紧跟一个空格符号:
> 区块引用
> 区块引用
> 区块引用
区块引用
区块引用
区块引用
另外区块是可以嵌套的,一个 > 符号是最外层,两个 > 符号是第一层嵌套,以此类推:
> 区块引用
>> 区块引用
>>> 区块引用
区块引用
区块引用
区块引用
区块中使用列表,列表中使用区块
代码
如果是段落上的一个函数或片段的代码可以用反引号把它包起来,例如:
printf();
你也可以用 ``` 包裹一段代码,并指定一种语言(也可以不指定):
int
链接
[链接名称](链接地址)
或者
<链接地址>
这是一个链接 链接
https://www.cnblogs.com/Srand-X/
高级链接
我们可以通过变量来设置一个链接,变量赋值在文档末尾进行:
[链接a][a]
[a]: https://www.cnblogs.com/Srand-X/
图片
Markdown 图片语法格式如下
![RUNOOB](http://www.runoob.com/wp-content/uploads/2019/03/iconfinder_markdown_298823.png)
![RUNOOB 图标](http://www.runoob.com/wp-content/uploads/2019/03/iconfinder_markdown_298823.png "RUNOOB")
Markdown 还没有办法指定图片的高度与宽度,如果你需要的话,你可以使用普通的
标签。<img src="http://www.runoob.com/wp-content/uploads/2019/03/iconfinder_markdown_298823.png" width="50%">
表格
Markdown 制作表格使用 | 来分隔不同的单元格,使用 - 来分隔表头和其他行。
| 表头 | 表头 |
| ---- | ---- |
| 单元格 | 单元格 |
| 单元格 | 单元格 |
表头 | 表头 |
---|---|
单元格 | 单元格 |
单元格 | 单元格 |
对齐方式
我们可以设置表格的对齐方式:
- -: 设置内容和标题栏居右对齐。
- :- 设置内容和标题栏居左对齐。
- :-: 设置内容和标题栏居中对齐。
| 左对齐 | 右对齐 | 居中对齐 |
| :-----| ----: | :----: |
| 单元格 | 单元格 | 单元格 |
| 单元格 | 单元格 | 单元格 |
左对齐 | 右对齐 | 居中对齐 |
---|---|---|
单元格 | 单元格 | 单元格 |
单元格 | 单元格 | 单元格 |
技巧
不在 Markdown 涵盖范围之内的标签,都可以直接在文档里面用 HTML 撰写。
目前支持的 HTML 元素有:<kbd> <b> <i> <em> <sup> <sub> <br>
使用 <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>Del</kbd> 重启电脑
使用 Ctrl+Alt+Del 重启电脑
转义
Markdown 使用了很多特殊符号来表示特定的意义,如果需要显示特定的符号则需要使用转义字符,Markdown 使用反斜杠转义特殊字符:
Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号:
反斜线
` 反引号
* 星号
_ 下划线
{} 花括号
[] 方括号
() 小括号
# 井字号
+ 加号
- 减号
. 英文句点
! 感叹号
公式
当你需要在编辑器中插入数学公式时,可以使用两个美元符 $$ 包裹 TeX 或 LaTeX 格式的数学公式来实现。提交后,问答和文章页会根据需要加载 Mathjax 对数学公式进行渲染。如:
$$
mathbf{V}_1 imes mathbf{V}_2 = egin{vmatrix}
mathbf{i} & mathbf{j} & mathbf{k} \
frac{partial X}{partial u} & frac{partial Y}{partial u} & 0 \
frac{partial X}{partial v} & frac{partial Y}{partial v} & 0 \
end{vmatrix}
${$tep1}{style{visibility:hidden}{(x+1)(x+1)}}
$$
音频
HTML:
<div class="video">
<iframe src="地址" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>
</div>
视频
HTML:
<div class="music">
<iframe src="地址" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>
</div>
代码折叠
<details>
<summary>摘要</summary>
<pre>
<code class="language-cpp hljs">代码
</code>
</pre>
</details>
注意:代码中不包含makedown语法
LaTex学习
简介
本文公式较多可能有加载较慢。
使用 LaTeX 的主要原因之一是它可以方便地排版公式。我们使用数学模式来排版公式。
公式
插入公式
可以用一对$
来启用数学模式。(钱,钱,钱,(❤ ω ❤))
行中公式可以用如下方法: $数学公式$
独立公式可以用如下方法: $$数学公式$$
。
自动编号的公式可以用如下方法
egin{equation}
数学公式
label{eq:当前公式名}
end{equation}
自动编号的公式在可以在全文任意处使用eqref{eq:公式名}
语句引用
在公式中
上标和下标
上标(Powers)使用 ^ 来表示,比如$n^2$
生成的效果为。
下标(Indices)使用 _ 表示,比如$2_a$
生成的效果为。
如果上标或下标的内容包含多个字符,请使用花括号包裹起来。比如$b_{a-2}$
的效果为。
如果要在左右两边都有上下标,可以用sideset
命令
例如:
$$sideset{^1_2}{^3_4}$$
括号和分隔符
()、[] 和 | 表示符号本身,使用 {}
来表示 {} 。
一些特殊的括号:
输入 | 显示 | 输入 | 显示 |
---|---|---|---|
langle | angle | ||
lceil | ceil | ||
lfloor | floor | ||
lbrace | brace |
当要显示大号的括号或分隔符时,要用 left
和
ight
命令。
例如:
$$f(x)=left(frac{x}{2}
ight)$$
有时候要用 left.
和
ight.
不显示本身
例如:
$$left|frac{x}{2}
ight.$$
分数
分数使用 frac{numerator}{denominator}
命令插入。
分数可以嵌套。比如$$frac{y}{frac{3}{x}+b}$$
的生成效果为
如果分式很复杂,亦可使用 分子 over 分母
命令,此时分数仅有一层。
例如:
$$frac{a-1}{b-1} and {a+1over b+1}$$
开方
使用sqrt[根指数,省略时为2]{被开方数}
命令来输入开方
例子:
$$sqrt{2} quad and quad sqrt[n]{3}$$
省略号
数学公式中常见的省略号有两种,ldots
表示与文本底线对齐的省略号,cdots
表示与文本中线对齐的省略号
例子:
$$1+2+ldots+n$$
矢量
矢量是一种既有大小又有方向的量,又称为向量。一般来说,在物理学中称作矢量,例如速度、加速度、力等
等就是这样的量。舍弃实际含义,就抽象为数学中的概念──向量。
使用vec{矢量}
来自动产生一个矢量,也可以使用overrightarrow
等命令定义字母上的符号。
例如:
$$vec{a} cdot vec{b}=0$$
$$overleftarrow{xy} quad and quad overleftrightarrow{xy} quad and quad overrightarrow{xy}$$
积分
积分是微积分学与数学分析里的一个核心概念。通常分为定积分和不定积分两种。直观地说,对于一个给定的正实值函数,在一个实数区间上的定积分可以理解为在坐标平面上,由曲线、直线以及轴围成的曲边梯形的面积值(一种确定的实数值)。
使用int_积分下限^积分上限{被积表达式}
来输入一个积分
例如:
$$int_0^1 {x^2dx}$$
极值运算
使用lim_{变量 o 表达式} 表达式
来输入一个极限。如有需求,可以更改 o
符号至任意符号。
例如:
$$ lim_{n o +infty} frac{1}{n(n+1)} quad and quad lim_{xleftarrow{示例}} frac{1}{n(n+1)} $$
累加、累乘运算
使用sum_{下标表达式}^{上标表达式}{累加表达式}
来输入一个累加表达式。
与之类似的是,使用prod
igcup
igcap
来分别输入累乘,并集,交集。
此类符号在行内显示时上下标表达式将会移至右上角和右下角。
例如:
$$sum_{i=1}^n frac{1}{i^2} quad and quad prod_{i=1}^n frac{1}{i^2} quad and quad igcup_{i=1}^{2} R$$
希腊字母
我禁不住喝了一口希腊风味的酸奶。
输入小写希腊字母英文全称
,首字母大写希腊字母英文全称
来分别输入小写和大写希腊字母
对于大写希腊字母与现有字母相同的,直接输入大写字母即可。
输入 | 显示 | 输入 | 显示 | 输入 | 显示 | 输入 | 显示 |
---|---|---|---|---|---|---|---|
alpha | A | eta | B | ||||
gamma | Gamma | delta | Delta | ||||
epsilon | E | zeta | Z | ||||
eta | H | heta | Theta | ||||
iota | I | kappa | K | ||||
lambda | Lambda | mu | M | ||||
u | N | xi | Xi | ||||
o | O | pi | Pi | ||||
ho | P | sigma | Sigma | ||||
au | T | upsilon | Upsilon | ||||
phi | Phi | chi | X | ||||
psi | Psi | omega | Omega |
部分字母有变量专用形式,以 var-
开头。
小写 | 大写 | 变量 | 显示 |
---|---|---|---|
epsilon | E | varepsilon | |
heta | Theta | vartheta | |
ho | P | varrho | |
sigma | Sigma | varsigma | |
phi | Phi | varphi |
其他特殊字符
若需要显示更大或更小的字符,在符号前面插入large
或small
命令
关系运算符
输入 | 显示 | 输入 | 显示 | 输入 | 显示 | 输入 | 显示 |
---|---|---|---|---|---|---|---|
pm | imes | div | mid | ||||
imd | cdot | circ | ast | ||||
igodot | igotimes | igoplus | leq | ||||
geq | eq | approx | equiv | ||||
sum | prod | coprod | ackslash |
集合运算符
输入 | 显示 | 输入 | 显示 | 输入 | 显示 |
---|---|---|---|---|---|
emptyset | in | otin | |||
subset | supset | subseteq | |||
supseteq | igcap | igcup | |||
igvee | igwedge | iguplus |
对数运算符
输入 | 显示 | 输入 | 显示 | 输入 | 显示 |
---|---|---|---|---|---|
log | lg | ln |
三角运算符
输入 | 显示 | 输入 | 显示 | 输入 | 显示 |
---|---|---|---|---|---|
30^circ | ot | angle A | |||
sin | cos | an | |||
csc | sec | cot |
微积分运算符
输入 | 显示 | 输入 | 显示 | 输入 | 显示 |
---|---|---|---|---|---|
int | iint | iiint | |||
iiiint | oint | prime | |||
lim | infty | abla |
逻辑运算符
输入 | 显示 | 输入 | 显示 | 输入 | 显示 |
---|---|---|---|---|---|
ecause | herefore | ||||
forall | exists | otsubset | |||
ot< | ot> | ot= |
戴帽符号
输入 | 显示 | 输入 | 显示 |
---|---|---|---|
hat{xy} | widehat{xyz} | ||
ilde{xy} | widetilde{xyz} | ||
check{x} | reve{y} | ||
grave{x} | acute{y} |
连线符号
输入 | --显示-- |
---|---|
fbox{a+b+c+d} | |
overleftarrow{a+b+c+d} | |
overrightarrow{a+b+c+d} | |
overleftrightarrow{a+b+c+d} | |
underleftarrow{a+b+c+d} | |
underrightarrow{a+b+c+d} | |
underleftrightarrow{a+b+c+d} | |
overline{a+b+c+d} | |
underline{a+b+c+d} | |
overbrace{a+b+c+d}^{Sample} | |
underbrace{a+b+c+d}_{Sample} | |
overbrace{a+underbrace{b+c}_{1.0}+d}^{2.0} | |
underbrace{acdot acdots a}_{b ext{ times}} |
箭头符号
推荐使用符号:
输入 | 显示 | 输入 | 显示 | 输入 | 显示 |
---|---|---|---|---|---|
o | mapsto | underrightarrow{1℃/min} | |||
implies | iff | impliedby |
其他可用符号:
输入 | 显示 | 输入 | 显示 |
---|---|---|---|
uparrow | Uparrow | ||
downarrow | Downarrow | ||
leftarrow | Leftarrow | ||
ightarrow | Rightarrow | ||
leftrightarrow | Leftrightarrow | ||
longleftarrow | Longleftarrow | ||
longrightarrow | Longrightarrow | ||
longleftrightarrow | Longleftrightarrow |
字体转换
若对公式的某部分字符进行字体转换,可以用{字体{需要转换的部分字符}}
命令,其中字体
部分可以参照下表选择合适的字体。一般情况下,公式默认为意大利体。
示例中全部大写的字体仅大写可用:
输入 | 说明 | 显示 | 输入 | 说明 | 显示 |
---|---|---|---|---|---|
m | 罗马体 | cal | 花体 | ||
it | 意大利体 | Bbb | 黑板粗体 | ||
f | 粗体 | mit | 数学斜体 | ||
sf | 粗体 | scr | 手写体 | ||
t | 打印机体 | ||||
frak | 旧德式字体 |
大括号和行标
使用left
和
ight
来创建自动匹配高度的 (圆括号),[方括号] 和 {花括号} 。
在每个公式末尾前使用 ag{行标}
来实现行标。
例如:
$$
fleft(
left[
frac{
1+left{x,y
ight}
}{
left(
frac{x}{y}+frac{y}{x}
ight)
left(u+1
ight)
}+a
ight]^{3/2}
ight)
ag{行标}
$$
如果你需要在不同的行显示对应括号,可以在每一行对应处使用left.
或
ight.
来放一个"影子"括号:
例如:
$$
egin{aligned}
a=&left(1+2+3+ cdots
ight. \
& cdots+ left. infty-2+infty-1+infty
ight)
end{aligned}
$$
如果你需要将行内显示的分隔符也变大,可以使用middle
命令:
例如:
$$
leftlangle
q
middle|
frac{frac{x}{y}}{frac{u}{v}}
middle|
p
ight
angle
$$
其他命令
定义新的符号operatorname
别问我,我也不知到这是干什么的
例如:
$$ operatorname{Symbol} A $$
添加注释文字
在 ext {文字}
中仍可以使用$公式$
插入其它公式。
例如:
$$
f(n)= egin{cases} n/2, & ext {if $n$ is even} \
3n+1, & ext{if $n$ is odd} end{cases}
$$
加入空格
有四种宽度的空格可以使用:\,
、;
、quad
和qquad
。
例如:
$$ a \, b mid a ; b mid a quad b mid a qquad b $$
当然,使用 ext {n个空格}
也可以达到同样效果。
更改文字颜色
使用color{颜色}{文字}
来更改特定的文字颜色。
更改文字颜色需要浏览器支持,如果浏览器不知道你所需的颜色,那么文字将被渲染为黑色。
对于较旧的浏览器(HTML4与CSS2),以下颜色是被支持的:
输入 | 显示 | 输入 | 显示 |
---|---|---|---|
black | grey | ||
silver | white | ||
maroon | red | ||
yellow | lime | ||
olive | green | ||
teal | auqa | ||
blue | navy | ||
purple | fuchsia |
对于较新的浏览器(HTML5与CSS3),额外的124种颜色将被支持:
输入color {#rgb} {text}
来自定义更多的颜色,其中#rgb
的r
g
b
可输入0-9
和a-f
来表示红色、绿色和蓝色的纯度(饱和度)。
例如:
egin{array}{|rrrrrrrr|}
hline
verb+#000+ & color{#000}{text} & verb+#005+ & color{#005}{text} & verb+#00A+ & color{#00A}{text} & verb+#00F+ & color{#00F}{text} \
verb+#500+ & color{#500}{text} & verb+#505+ & color{#505}{text} & verb+#50A+ & color{#50A}{text} & verb+#50F+ & color{#50F}{text} \
verb+#A00+ & color{#A00}{text} & verb+#A05+ & color{#A05}{text} & verb+#A0A+ & color{#A0A}{text} & verb+#A0F+ & color{#A0F}{text} \
verb+#F00+ & color{#F00}{text} & verb+#F05+ & color{#F05}{text} & verb+#F0A+ & color{#F0A}{text} & verb+#F0F+ & color{#F0F}{text} \
hline
verb+#080+ & color{#080}{text} & verb+#085+ & color{#085}{text} & verb+#08A+ & color{#08A}{text} & verb+#08F+ & color{#08F}{text} \
verb+#580+ & color{#580}{text} & verb+#585+ & color{#585}{text} & verb+#58A+ & color{#58A}{text} & verb+#58F+ & color{#58F}{text} \
verb+#A80+ & color{#A80}{text} & verb+#A85+ & color{#A85}{text} & verb+#A8A+ & color{#A8A}{text} & verb+#A8F+ & color{#A8F}{text} \
verb+#F80+ & color{#F80}{text} & verb+#F85+ & color{#F85}{text} & verb+#F8A+ & color{#F8A}{text} & verb+#F8F+ & color{#F8F}{text} \
hline
verb+#0F0+ & color{#0F0}{text} & verb+#0F5+ & color{#0F5}{text} & verb+#0FA+ & color{#0FA}{text} & verb+#0FF+ & color{#0FF}{text} \
verb+#5F0+ & color{#5F0}{text} & verb+#5F5+ & color{#5F5}{text} & verb+#5FA+ & color{#5FA}{text} & verb+#5FF+ & color{#5FF}{text} \
verb+#AF0+ & color{#AF0}{text} & verb+#AF5+ & color{#AF5}{text} & verb+#AFA+ & color{#AFA}{text} & verb+#AFF+ & color{#AFF}{text} \
verb+#FF0+ & color{#FF0}{text} & verb+#FF5+ & color{#FF5}{text} & verb+#FFA+ & color{#FFA}{text} & verb+#FFF+ & color{#FFF}{text} \
hline
end{array}
添加删除线
使用删除线功能必须在$$
中声明。
在公式内使用
equire{cancel}
来允许片段删除线的显示。
声明片段删除线后,使用cancel{字符}
、cancel{字符}
、xcancel{字符}
和cancelto{字符}
来实现各种片段删除线效果。
例如:
$$
equire{cancel}
egin{array}{rl}
verb|y+cancel{x}| & y+cancel{x}\
verb|cancel{y+x}| & cancel{y+x}\
verb|y+cancel{x}| & y+cancel{x}\
verb|y+xcancel{x}| & y+xcancel{x}\
verb|y+cancelto{0}{x}| & y+cancelto{0}{x}\
verb+frac{1cancel9}{cancel95} = frac15+& frac{1cancel9}{cancel95} = frac15 \
end{array}
$$
使用
equire{enclose}
来允许整段删除线的显示。
声明整段删除线后,使用enclose{删除线效果}{字符}
来实现各种整段删除线效果。
其中,删除线效果有horizontalstrike
、verticalstrike
、updiagonalstrike
和downdiagonalstrike
,可叠加使用。
例如:
$$
equire{enclose}
egin{array}{rl}
verb|enclose{horizontalstrike}{x+y}| & enclose{horizontalstrike}{x+y}\
verb|enclose{verticalstrike}{frac xy}| & enclose{verticalstrike}{frac xy}\
verb|enclose{updiagonalstrike}{x+y}| & enclose{updiagonalstrike}{x+y}\
verb|enclose{downdiagonalstrike}{x+y}| & enclose{downdiagonalstrike}{x+y}\
verb|enclose{horizontalstrike,updiagonalstrike}{x+y}| & enclose{horizontalstrike,updiagonalstrike}{x+y}\
end{array}
$$
此外,enclose
命令还可以产生包围的边框和圆等
例如:
输入 | 显示 | 输入 | 显示 |
---|---|---|---|
enclose{longdiv}{xyz} | enclose{actuarial}{xyz} | ||
enclose{radical}{xyz} | enclose{box}{xyz} | ||
enclose{roundedbox}{xyz} | enclose{circle}{xyz} | ||
enclose{left}{xyz} | enclose{right}{xyz} | ||
enclose{top}{xyz} | enclose{bottom}{xyz} | ||
enclose{updiagonalstrike}{xyz} | enclose{downdiagonalstrike}{xyz} | ||
enclose{verticalstrike}{xyz} | enclose{horizontalstrike}{xyz} | ||
enclose{madruwb}{xyz} | enclose{updiagonalarrow}{xyz} | ||
enclose{phasorangle}{xyz} |
矩阵
无框矩阵
在开头使用begin{matrix}
,在结尾使用end{matrix}
,在中间插入矩阵元素,每个元素之间插入&
,也可以说是空格,并在每行结尾处使用\
。
使用矩阵时必须有$$
符号。
例如:
$$
begin{matrix}
1 & x & x^2 \
1 & y & y^2 \
1 & z & z^2 \
end{matrix}
$$
边框矩阵
在开头将matrix
替换为pmatrix
,bmatrix
,Bmatrix
,vmatrix
,Vmatrix
。
例如:
$$ begin{matrix} 1 & 2 \ 3 & 4 \ end{matrix} $$
$$ begin{pmatrix} 1 & 2 \ 3 & 4 \ end{pmatrix} $$
$$ begin{bmatrix} 1 & 2 \ 3 & 4 \ end{bmatrix} $$
$$ begin{Bmatrix} 1 & 2 \ 3 & 4 \ end{Bmatrix} $$
$$ begin{vmatrix} 1 & 2 \ 3 & 4 \ end{vmatrix} $$
$$ begin{Vmatrix} 1 & 2 \ 3 & 4 \ end{Vmatrix} $$
带省略符号的矩阵
使用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}
$$
带分割符号的矩阵
详见"一个数组或表格"。
例如:
$$
left[
egin{array}{cc|c}
1&2&3\
4&5&6
end{array}
right]
$$
其中cc|c
代表在一个三列矩阵中的第二和第三列之间插入分割线。
行中矩阵
若想在一行内显示矩阵,使用igl(egin{smallmatrix} ... end{smallmatrix}igr)
。
例如:
这是一个行中矩阵的示例 $igl( begin{smallmatrix} a & b \ c & d end{smallmatrix} igr)$ 。
这是一个行中矩阵的示例 。
方程式序列
方程式序列
人们经常想要一列整齐且居中的方程式序列。使用egin{align}…end{align}
来创造一列方程式,其中在每行结尾处使用\
。
请注意 {align} 语句是 自动编号 的,使用 {align*} 声明停止自动编号。
例如:
$$
begin{align*}
sqrt{37} & = sqrt{frac{73^2-1}{12^2}} \
& = sqrt{frac{73^2}{12^2}cdotfrac{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}{2cdot73^2}right)
end{align*}
$$
在一个方程式序列的每一行中注明原因
在{align}
中灵活组合 ext
和 ag
语句。 ag
语句编号优先级高于自动编号。
$$
begin{align}
v + w & = 0 & ext{Given} ag 1\
-w & = -w + 0 & ext{additive identity} ag 2\
-w + 0 & = -w + (v + w) & ext{equations $(1)$ and $(2)$} ag 3
end{align}
$$
条件表达式
条件表达式
使用begin{cases}
来创造一组条件表达式,在每一行条件中插入&
来指定需要对齐的内容,并在每一行结尾处使用\
,以end{cases}
结束。
例如:
$$
f(n) =
begin{cases}
n/2, & ext{if $n$ is even} \
3n+1, & ext{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}, & ext{if $n$ is even} \
3n+1, & ext{if $n$ is odd}
end{cases}
$$
显示:
$$
f(n) =
begin{cases}
frac{n}{2}, & ext{if $n$ is even} \[2ex]
3n+1, & ext{if $n$ is odd}
end{cases}
$$
一个[ex]
指一个 "X-Height",即x字母高度。可以根据情况指定多个[ex]
,如[3ex]
、[4ex]
等。
其实可以在任何地方使用\[2ex]
语句,只要你觉得合适。
数组与表格
数组或表格
通常,一个格式化后的表格比单纯的文字或排版后的文字更具有可读性。数组和表格均以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}
$$
嵌套的数组或表格
多个数组/表格可互相嵌套并组成一组数组/一组表格。
使用嵌套前必须声明$$
符号。
例如:
$$
% 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}
$$
方程组
使用egin{array}…end{array}
和left{…
ight.
来创建一个方程组。
例如:
$$
left{
egin{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.
$$
或者使用条件表达式组egin{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}
$$
连分数
连分数
就像输入分式时使用frac
一样,使用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
或over
来创建,否则会看起来很恶心。
例如:
$$
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
$$
连分数通常都太大以至于不易排版,所以建议在连分数前后声明$$
符号。
交换图表
交换图表
使用一行
equire{AMScd}
语句来允许交换图表的显示。
声明交换图表后,语法与矩阵相似,在开头使用begin{CD}
,在结尾使用end{CD}
,在中间插入图表元素,每个元素之间插入&
,并在每行结尾处使用\
。
例如:
$$
require{AMScd}
begin{CD}
A @>a>> B\
@V b V V# @VV c V\
C @>>d> D
end{CD}
$$
其中,@>>>
代表右箭头、@<<<
代表左箭头、@VVV
代表下箭头、@AAA
代表上箭头、@=
代表水平双实线、@|
代表竖直双实线、@.
代表没有箭头。
在@>>>
的>>>
之间任意插入文字即代表该箭头的注释文字。
例如:
$$
begin{CD}
A @>>> B @>{ ext{very long label}}>> C \
@. @AAA @| \
D @= E @<<< F
end{CD}
$$
在本例中, "very long label"自动延长了它所在箭头以及对应箭头的长度。