在编写文档的过程中,常常遇到输入法无法输入的数学符号,数学公式,还有流程框图等,因此markdown可以作为一个有力的工具。本文将介绍markdown可用的常用语法、数学公式、特殊符号、流程图。
1.行内语法
1.1 注释
- HTML注释
<!--哈哈我是注释,不会在浏览器中显示。-->
- hack方法
hack方法是利用markdown的解析原理实现注释的。有的markdown解析器不支持其它的注释方法,可用hack方法。hack方法比上面HTML方法稳定得多,但是语义化太差。
[//]: # (哈哈我是最强注释,不会在浏览器中显示。)
[^_^]: # (哈哈我是最萌注释,不会在浏览器中显示。)
[//]: <> (哈哈我是注释,不会在浏览器中显示。)
[comment]: <> (哈哈我是注释,不会在浏览器中显示。)
1.2 任务列表
- [ ] 任务一 未做任务 `- + 空格 + [ ]`
- [x] 任务二 已做任务 `- + 空格 + [x]`
效果如下:
- 任务一 未做任务
- + 空格 + [ ]
- 任务二 已做任务
- + 空格 + [x]
1.3 对齐方式
<center>行中心对齐</center>
<p align="left">行左对齐</p>
<p align="right">行右对齐</p>
显示效果:
行左对齐
行右对齐
1.4 斜体、粗体、删除线、下划线、背景高亮
*斜体* or _斜体_
**粗体**
***加粗斜体***
~~删除线~~
++下划线++
==背景高亮==
显示效果:
斜体 or 斜体
粗体
加粗斜体
删除线
++下划线++
背景高亮
1.5 列表
- 无序列表
使用 *,+,- 表示无序列表。
代码:
* 无序列表项 一
+ 无序列表项 二
- 无序列表项 三
- 无序列表项 一
- 无序列表项 二
- 无序列表项 三
1.6 多级引用
代码:
>>> 三级引用
>> 二级引用
> 一级引用
显示效果:
三级引用
二级引用
一级引用
1.7 转义字符、字体、字号、颜色
-
转义字符
Markdown中的转义字符为\,转义的有: \ 反斜杠 ` 反引号 * 星号 _ 下划线 {} 大括号 [] 中括号 () 小括号 # 井号 + 加号 - 减号 . 英文句号 ! 感叹号。 -
字体、字号、颜色
代码:
<font face="黑体">我是黑体字</font>
<font face="微软雅黑">我是微软雅黑</font>
<font face="STCAIYUN">我是华文彩云</font>
<font color=#0099ff size=5 face="黑体">黑体</font>
<font color=Blue size=5>我是蓝色</font>
<font color=gray size=5>我是灰色</font>
显示效果:
我是黑体字
我是微软雅黑
我是华文彩云
黑体
我是蓝色
我是灰色
1.8 图片

Alt text:图片的Alt标签,用来描述图片的关键词,可以不写。
图片链接:可以是图片的本地地址或者是网址。
"optional title":鼠标悬置于图片上会出现的标题文字,可以不写。
1.9 括号和分隔符显示
符号 | 代码 | 符号 | 代码 |
---|---|---|---|
⟨ \langle ⟨ | $\langle$ | ⟩ \rangle ⟩ | $\rangle$ |
⌈ \lceil ⌈ | $\lceil$ | ⌉ \rceil ⌉ | $\rceil$ |
⌊ \lfloor ⌊ | $\lfloor$ | ⌋ \rfloor ⌋ | $\rfloor$ |
{ \lbrace { | $\lbrace$ | } \rbrace } | $\rbrace$ |
2. 块语法
2.1 内容目录
代码:
@[toc] 注意:可以不用@,只输入@后面的内容即可。
显示效果见文首。
2.2 表格
代码:
|学号|姓名|序号|
|-|-|-|
|小明|男|5|
|小红|女|79|
|小刚|男|192|
显示效果:
学号 | 姓名 | 序号 |
---|---|---|
小明 | 男 | 1 |
小红 | 女 | 21 |
小刚 | 男 | 666 |
2.3 LaTeX 公式
- 整行公式
代码:
$$整行公式$$
显示效果:
整行公式
整行公式
整行公式
- 行内公式
$行内公式$
显示效果:
行内公式
行内公式
行内公式
- 块级公式
代码:
$x = \dfrac{-b \pm \sqrt{b^2 - 4ac}}{2a}$
$[\frac{1}{\Bigl(\sqrt{\phi \sqrt{5}}-\phi\Bigr) e^{\frac25 \pi}} = 1+\frac{e^{-2\pi}} {1+\frac{e^{-4\pi}} {1+\frac{e^{-6\pi}} {1+\frac{e^{-8\pi}} {1+\ldots} } } }]$
显示效果:
x
=
−
b
±
b
2
−
4
a
c
2
a
x = \dfrac{-b \pm \sqrt{b^2 - 4ac}}{2a}
x=2a−b±b2−4ac
[
1
(
ϕ
5
−
ϕ
)
e
2
5
π
=
1
+
e
−
2
π
1
+
e
−
4
π
1
+
e
−
6
π
1
+
e
−
8
π
1
+
…
]
[\frac{1}{\Bigl(\sqrt{\phi \sqrt{5}}-\phi\Bigr) e^{\frac25 \pi}} = 1+\frac{e^{-2\pi}} {1+\frac{e^{-4\pi}} {1+\frac{e^{-6\pi}} {1+\frac{e^{-8\pi}} {1+\ldots} } } }]
[(ϕ5−ϕ)e52π1=1+1+1+1+1+…e−8πe−6πe−4πe−2π]
2.4 分割线
代码:
* * *
***
*****
- - -
-----------
显示效果(是一样的):
3. 数学公式
3.1 变量上下标
- 上标
$x^2$
⇒ x 2 x^2 x2 - 下标
$x_i$
⇒ x i x_i xi - 上下标
$x_i^2$
⇒ x i 2 x_i^2 xi2
默认情况下,上下标符号仅仅对下一个字符作用。一组字符使用{}包裹起来的内容。例如:
$x^{12}_{34}$
⇒ x 34 12 x^{12}_{34} x3412 ;${x^5}^6$
⇒ x 5 6 {x^5}^6 x56 - 左右标
${^1_2}A{^3_4}$
⇒ 2 1 A 4 3 {^1_2}A{^3_4} 21A43
3.2 公式中的各类括号
- 小括号和方括号:使用初始的()和[]即可
()
⇒ () ;[]
⇒ [] - 大括号:由于大括号{}被用来分组,因此需要使用""转义字符{和}表示大括号。如:
$\{a*b\}$
⇒ { a ∗ b } \{a*b\} {a∗b}。 - 尖括号:使用
\langle
和\rangle
分别表示左尖括号和右尖括号。如$\langle x \rangle$
⇒ ⟨ x ⟩ \langle x \rangle ⟨x⟩。 - 上取整:使用
\lceil
和\rceil
表示。如$\lceil x \rceil$
⇒ ⌈ x ⌉ \lceil x \rceil ⌈x⌉。 - 下取整:使用
\lfloor
和\rfloor
表示。如$\lfloor x \rfloor$
⇒ ⌊ x ⌋ \lfloor x \rfloor ⌊x⌋。
需要注意的是,原始括号并不会随着公式的大小自动缩放。如$(\frac12)$
⇒ ( 1 2 ) (\frac12) (21)。可以使用\left( …\right)
来自适应的调整括号。如$\left( \frac12 \right)$
⇒ ( 1 2 ) \left( \frac12 \right) (21) 。可以明显看出,后一组公式中的括号是经过缩放的。
3.3 求和、积分、交并集、累积
\sum
用来表示求和符号,其下标表示求和下限,上标表示上线。如$\sum_1^n$
==
∑
1
n
\sum_1^n
∑1n。
\int
用来表示积分符号,同样地,其上下标表示积分的上下限。如$\int_1^\infty$
==
∫
1
∞
\int_1^\infty
∫1∞。
与此类似的符号还有:
$\prod$
==
∏
\prod
∏
$\bigcup$
==
⋃
\bigcup
⋃
$\bigcap$
==
⋂
\bigcap
⋂
$\iint$
==
∬
\iint
∬
$\oint$
==
∮
\oint
∮
3.3 分式/根式
分式有两种表示方法。
第一种:使用$\frac ab$
,结果为
a
b
\frac ab
ba。如果分子或分母不是单个字符,需要使用{}来分组。
第二种:使用\over
来分隔一个组的前后两部分,如${a+1\over b+1}$
==
a
+
1
b
+
1
{a+1\over b+1}
b+1a+1。
根式使用$\sqrt[a]b$
来表示。其中,方括号内的值用来表示开几次方,省略方括号则表示开方,如$\sqrt[4]{\frac xy}$
==
x
y
4
\sqrt[4]{\frac xy}
4yx ,$\sqrt{x^3}$
==
x
3
\sqrt{x^3}
x3。
3.4 积分
1.没有底标:
\lim{\frac{1}{x}}
==
lim
1
x
\lim{\frac{1}{x}}
limx1
2.有底标:
$\lim\limits_{x\rightarrow\infty}\frac{1}{x}$
=
lim
x
→
∞
1
x
\lim\limits_{x\rightarrow\infty}\frac{1}{x}
x→∞limx1
3.5 矩阵
1.普通矩阵,不带括号
$$
\begin{matrix}
a & b & c & d & e\\
f & g & h & i & j \\
k & l & m & n & o \\
p & q & r & s & t
\end{matrix}
$$
显示结果:
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
\begin{matrix} a & b & c & d & e\\ f & g & h & i & j \\ k & l & m & n & o \\ p & q & r & s & t \end{matrix}
afkpbglqchmrdinsejot
- 带中括号的矩阵
$$
\left[
\begin{matrix}
a & b & c & d & e\\
f & g & h & i & j \\
k & l & m & n & o \\
p & q & r & s & t
\end{matrix}
\right]
$$
显示结果:
[
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
]
\left[ \begin{matrix} a & b & c & d & e\\ f & g & h & i & j \\ k & l & m & n & o \\ p & q & r & s & t \end{matrix} \right]
afkpbglqchmrdinsejot
- 带大括号的矩阵
$$
\left\{
\begin{matrix}
a & b & c & d & e\\
f & g & h & i & j \\
k & l & m & n & o \\
p & q & r & s & t
\end{matrix}
\right\}
$$
显示结果:
{
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
}
\left\{ \begin{matrix} a & b & c & d & e\\ f & g & h & i & j \\ k & l & m & n & o \\ p & q & r & s & t \end{matrix} \right\}
⎩
⎨
⎧afkpbglqchmrdinsejot⎭
⎬
⎫
- 矩阵等式
$$A=
\left\{
\begin{matrix}
a & b & c & d & e\\
f & g & h & i & j \\
k & l & m & n & o \\
p & q & r & s & t
\end{matrix}
\right\}
$$
显示结果:
A
=
{
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
}
A= \left\{ \begin{matrix} a & b & c & d & e\\ f & g & h & i & j \\ k & l & m & n & o \\ p & q & r & s & t \end{matrix} \right\}
A=⎩
⎨
⎧afkpbglqchmrdinsejot⎭
⎬
⎫
- 高维矩阵
//\cdots为水平方向的省略号
//\vdots为竖直方向的省略号
//\ddots为斜线方向的省略号
$$A=
\left\{
\begin{matrix}
a & b & \cdots & e\\
f & g & \cdots & j \\
\vdots & \vdots & \ddots & \vdots \\
p & q & \cdots & t
\end{matrix}
\right\}
$$
A = { a b ⋯ e f g ⋯ j ⋮ ⋮ ⋱ ⋮ p q ⋯ t } A= \left\{ \begin{matrix} a & b & \cdots & e\\ f & g & \cdots & j \\ \vdots & \vdots & \ddots & \vdots \\ p & q & \cdots & t \end{matrix} \right\} A=⎩ ⎨ ⎧af⋮pbg⋮q⋯⋯⋱⋯ej⋮t⎭ ⎬ ⎫
- 增广矩阵
//array必须为array
//{cccc|c}中的c表示矩阵元素,可以控制|的位置
$$A=
\left\{
\begin{array}{cccc|c}
a & b & c & d & e\\
f & g & h & i & j \\
k & l & m & n & o \\
p & q & r & s & t
\end{array}
\right\}
$$
显示结果:
A
=
{
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
}
A= \left\{ \begin{array}{cccc|c} a & b & c & d & e\\ f & g & h & i & j \\ k & l & m & n & o \\ p & q & r & s & t \end{array} \right\}
A=⎩
⎨
⎧afkpbglqchmrdinsejot⎭
⎬
⎫
3.6 特殊字符
名称 | 写法 | 语法 |
---|---|---|
alpha | α \alpha α | \alpha |
beta | β \beta β | \beta |
gamma | γ \gamma γ | \gamma |
Gamma | Γ \Gamma Γ | \Gamma |
delta | δ \delta δ | \delta |
Delta | Δ \Delta Δ | \Delta |
epsilon | ϵ \epsilon ϵ | \epsilon |
varepsilon | ε \varepsilon ε | \varepsilon |
zeta | ζ \zeta ζ | \zeta |
eta | η \eta η | \eta |
theta | θ \theta θ | \theta |
Theta | Θ \Theta Θ | \Theta |
vartheta | ϑ \vartheta ϑ | \vartheta |
iota | ι \iota ι | \iota |
kappa | κ \kappa κ | \kappa |
lambda | λ \lambda λ | \lambda |
Lambda | Λ \Lambda Λ | \Lambda |
mu | μ \mu μ | \mu |
nu | ν \nu ν | \nu |
xi | ξ \xi ξ | \xi |
omicron | ο \omicron ο | \omicron |
pi | π \pi π | \pi |
rho | ρ \rho ρ | \rho |
sigma | σ \sigma σ | \sigma |
Sigma | Σ \Sigma Σ | \Sigma |
tau | τ \tau τ | \tau |
upsilon | υ \upsilon υ | \upsilon |
phi | ϕ \phi ϕ | \phi |
varphi | φ \varphi φ | \varphi |
Phi | Φ \Phi Φ | \Phi |
chi | χ \chi χ | \chi |
psi | ψ \psi ψ | \psi |
Psi | Ψ \Psi Ψ | \Psi |
omega | ω \omega ω | \omega |
Omega | Ω \Omega Ω | \Omega |
partial | ∂ \partial ∂ | \partial |
varpi | ϖ \varpi ϖ | \varpi |
右上角一撇 | y ′ y\prime y′ | \prime |
期望值 | y ^ \hat{y} y^ | \hat{y} |
平均值 | y ‾ \overline{y} y | \overline |
矢量 | y ⃗ \vec{y} y | \vec{y} |
等价无穷小 | y ~ \widetilde{y} y | \widetilde{y} |
一阶导数 | y ˙ \dot{y} y˙ | $\dot{y} |
二阶导数 | y ¨ \ddot{y} y¨ | $\ddot{y} |
任意 | ∀ \forall ∀ | \forall |
存在 | ∃ \exists ∃ | \exists |
空集 | ∅ \emptyset ∅ | \emptyset |
属于 | ∈ \in ∈ | \in |
不属于 | ∉ \notin ∈/ | \notin |
子集 | ⊂ \subset ⊂ | \subset |
真子集 | ⊆ \subseteq ⊆ | \subseteq |
梯度 | ∇ \nabla ∇ | \nabla |
角 | ∠ \angle ∠ | \angle |
垂直 | ⊥ \bot ⊥ | \bot |
大于等于 | ≥ \ge ≥ | \ge |
小于等于 | ≤ \le ≤ | \le |
远大于 | ≫ \gg ≫ | \gg |
远小于 | ≪ \ll ≪ | \ll |
等于 | = = = | = |
约等于 | ≈ \approx ≈ | \approx |
恒等于 | ≡ \equiv ≡ | \equiv |
不等于 | ≠ \neq = | \neq |
不大于 | ≯ \not> > | \not> |
不小于 | ≮ \not< < | \not< |
因为 | ∵ \because ∵ | \because |
所以 | ∴ \therefore ∴ | \therefore |
无穷大 | ∞ \infty ∞ | \infity |
乘号 | × \times × | \times |
除号 | ÷ \div ÷ | \div |
点积 | ⋅ \cdot ⋅ | \cdot |
水平省略号 | ⋯ \cdots ⋯ | \cdots |
竖直省略号 | ⋮ \vdots ⋮ | \vdots |
斜线方向省略号 | ⋱ \ddots ⋱ | \ddots |
向上箭头 | ↑ \uparrow ↑ | \uparrow |
向下箭头 | ↓ \downarrow ↓ | \downarrow |
向上箭头 | ⇑ \Uparrow ⇑ | \Uparrow |
向下箭头 | ⇓ \Downarrow ⇓ | \Downarrow |
向右箭头 | → \rightarrow → | \rightarrow |
向左箭头 | ← \leftarrow ← | \leftarrow |
长箭头 | ⟵ \longleftarrow ⟵ | \longleftarrow |
长箭头 | ⟸ \Longleftarrow ⟸ | \longleftarrow |
向右推出 | ⇒ \Rightarrow ⇒ | \rightarrow |
向左推出 | ⇐ \Leftarrow ⇐ | \leftarrow |
等价 | ⇔ \Leftrightarrow ⇔ | \Leftrightarrow |
一些符号有大写格式,只需要将语法中第一个字母改为大写。如:\Omega
⇒
Ω
\Omega
Ω ,\omega
⇒
ω
\omega
ω 。
3.7 LaTex 符号大全
论文中的数学公式常用指令:
\mathbf{}
:
X
\mathbf{X}
X (\mathbf{X});多用来表示向量。
\mathcal{}
:
X
\mathcal{X}
X (\mathcal{X});多用于变量较多的情况。
4. 流程图
4.1 横向流程图
```mermaid
graph LR
A[方形] -->B(圆角)
B --> C{条件a}
C -->|a=1| D[结果1]
C -->|a=2| E[结果2]
F[横向流程图]
显示结果:
4.2 竖向流程图
```mermaid
graph LR
A[方形] -->B(圆角)
B --> C{条件a}
C -->|a=1| D[结果1]
C -->|a=2| E[结果2]
F[横向流程图]
显示结果:
4.3标准流程图
```mermaid
flowchat
st=>start: 开始框
op=>operation: 处理框
cond=>condition: 判断框(是或否?) sub1=>subroutine: 子流程
io=>inputoutput: 输入输出框
e=>end: 结束框
st->op->cond
cond(yes)->io->e
cond(no)->sub1(right)->op
显示结果:
4.4 标准流程图源码格式(横向)
```mermaid
flowchat
st=>start: 开始框
op=>operation: 处理框
cond=>condition: 判断框(是或否?)
sub1=>subroutine: 子流程
io=>inputoutput: 输入输出框
e=>end: 结束框
st(right)->op(right)->cond
cond(yes)->io(bottom)->e
cond(no)->sub1(right)->op
显示结果:
4.5 UML时序图源码样例
```mermaid
sequence
对象A->对象B: 对象B你好吗?(请求)
Note right of 对象B: 对象B的描述
Note left of 对象A: 对象A的描述(提示)
对象B-->对象A: 我很好(响应)
对象A->对象B: 你真的好吗?
显示结果:
4.6 UML时序图源码复杂样例
```mermaid
sequenceDiagram
Title: 标题:复杂使用
对象A->对象B: 对象B你好吗?(请求)
Note right of 对象B: 对象B的描述
Note left of 对象A: 对象A的描述(提示)
对象B-->对象A: 我很好(响应)
对象B->小三: 你好吗
小三-->>对象A: 对象B找我了
对象A->对象B: 你真的好吗?
Note over 小三,对象B: 我们是朋友
participant C Note right of C: 没人陪我玩
显示结果:
4.7 UML标准时序图样例
```mermaid
%% 时序图例子,-> 直线,-->虚线,->>实线箭头
sequenceDiagram
participant 张三
participant 李四
张三->王五: 王五你好吗?
loop 健康检查
王五->王五: 与疾病战斗
end
Note right of 王五: 合理 食物 <br/>看医生...
李四-->>张三: 很好!
王五->李四: 你怎么样?
李四-->王五: 很好!
显示结果:
4.8 甘特图样例
```mermaid
%% 语法示例
gantt
dateFormat YYYY-MM-DD
title 软件开发甘特图
section 设计
需求 :done, des1, 2014-01-06,2014-01-08
原型 :active, des2, 2014-01-09, 3d
UI设计 : des3, after des2, 5d
未来任务 : des4, after des3, 5d
section 开发
学习准备理解需求 :crit, done, 2014-01-06,24h
设计框架 :crit, done, after des2, 2d
开发 :crit, active, 3d
未来任务 :crit, 5d
耍 :2d
section 测试
功能测试 :active, a1, after des3, 3d
压力测试 :after a1 , 20h
测试报告 : 48h
输出结果:(在线的编辑器不支持,下图由typora输出)
参考:
https://blog.csdn.net/weixin_42546496/article/details/88115095
https://blog.csdn.net/antony1776/article/details/78615489/
https://blog.csdn.net/katherine_hsr/article/details/79179622
https://blog.csdn.net/zdk930519/article/details/54137476
https://blog.csdn.net/m0_37167788/article/details/78838938
https://www.jianshu.com/p/ebe52d2d468f
https://www.runoob.com/markdown/md-advance.html
https://www.jianshu.com/p/08cbe54a5f33
https://blog.csdn.net/SunshineSki/article/details/84195807 (很全)