欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Markdown:常用语法、数学公式、特殊符号、流程图

程序员文章站 2024-03-14 09:52:40
...

在编写文档的过程中,常常遇到输入法无法输入的数学符号,数学公式,还有流程框图等,因此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](图片链接 "optional title") 
Alt text:图片的Alt标签,用来描述图片的关键词,可以不写。 
图片链接:可以是图片的本地地址或者是网址。
"optional title":鼠标悬置于图片上会出现的标题文字,可以不写。

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±b24ac2ax = \dfrac{-b \pm \sqrt{b^2 - 4ac}}{2a}
[1(ϕ5ϕ)e25π=1+e2π1+e4π1+e6π1+e8π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} } } }]

2.4 分割线

代码:

* * *
***
*****
- - -
-----------

显示效果:






3. 数学公式

3.1 变量上下标

  • 上标
    $x^2$x2x^2
  • 下标
    $x_i$xix_i
  • 上下标
    $x_i^2$xi2x_i^2
    默认情况下,上下标符号仅仅对下一个字符作用。一组字符使用{}包裹起来的内容。例如:
    $x^{12}_{34}$x3412x^{12}_{34} ; ${x^5}^6$x56{x^5}^6
  • 左右标
    ${^1_2}A{^3_4}$21A43{^1_2}A{^3_4}

3.2 公式中的各类括号

  • 小括号和方括号:使用初始的()和[]即可
    () ⇒ () ; [] ⇒ []
  • 大括号:由于大括号{}被用来分组,因此需要使用""转义字符{和}表示大括号。如:$\{a*b\}${ab}\{a*b\}
  • 尖括号:使用\langle\rangle分别表示左尖括号和右尖括号。如 $\langle x \rangle$x\langle x \rangle
  • 上取整:使用\lceil\rceil表示。如$\lceil x \rceil$x\lceil x \rceil
  • 下取整:使用\lfloor\rfloor表示。如 $\lfloor x \rfloor$x\lfloor x \rfloor
    需要注意的是,原始括号并不会随着公式的大小自动缩放。如$(\frac12)$(12)(\frac12)。可以使用\left( …\right)来自适应的调整括号。如$\left( \frac12 \right)$(12)\left( \frac12 \right) 。可以明显看出,后一组公式中的括号是经过缩放的。

3.3 求和、积分、交并集、累积

\sum用来表示求和符号,其下标表示求和下限,上标表示上线。如$\sum_1^n$ ==1n\sum_1^n
\int用来表示积分符号,同样地,其上下标表示积分的上下限。如$\int_1^\infty$ ==1\int_1^\infty

与此类似的符号还有:
$\prod$ == \prod
$\bigcup$ == \bigcup
$\bigcap$ == \bigcap
$\iint$ == \iint

3.3 分式/根式

分式有两种表示方法。
第一种:使用$\frac ab$,结果为ab\frac ab。如果分子或分母不是单个字符,需要使用{}来分组。
第二种:使用\over来分隔一个组的前后两部分,如${a+1\over b+1}$ == a+1b+1{a+1\over b+1}

根式使用$\sqrt[a]b$来表示。其中,方括号内的值用来表示开几次方,省略方括号则表示开方,如$\sqrt[4]{\frac xy}$ == xy4\sqrt[4]{\frac xy}$\sqrt{x^3}$ == x3\sqrt{x^3}

3.4 特殊字符

名称 写法 语法
alpha α\alpha \alpha
beta β\beta \beta
gamma γ\gamma \gamma
delta δ\delta \delta
epsilon ϵ\epsilon \epsilon
zeta ζ\zeta \zeta
eta η\eta \eta
theta θ\theta \theta
iota ι\iota \iota
kappa κ\kappa \kappa
lambda λ\lambda \lambda
mu μ\mu \mu
nu ν\nu \nu
xi ξ\xi \xi
omicron ο\omicron \omicron
pi π\pi \pi
rho ρ\rho \rho
sigma σ\sigma \sigma
tau τ\tau \tau
upsilon υ\upsilon \upsilon
phi ϕ\phi \phi
chi χ\chi \chi
psi ψ\psi \psi
omega ω\omega \omega

一些符号有大写格式,只需要将语法中第一个字母改为大写。如:\OmegaΩ\Omega\omegaω\omega

4. 流程图

4.1 横向流程图

```mermaid
graph LR  
A[方形] -->B(圆角)
      	B --> C{条件a}
      	C -->|a=1| D[结果1]
      	C -->|a=2| E[结果2]
      	F[横向流程图]

显示结果:

a=1
a=2
方形
圆角
条件a
结果1
结果2
横向流程图

4.2 竖向流程图

```mermaid 
graph LR   
A[方形] -->B(圆角)       	
B --> C{条件a}       	
C -->|a=1| D[结果1]       	
C -->|a=2| E[结果2]       	
F[横向流程图] 

显示结果:

a=1
a=2
方形
圆角
条件a
结果1
结果2
竖向流程图

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

显示结果:

Created with Raphaël 2.2.0开始框处理框判断框(是或否?)输入输出框结束框子流程yesno

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

显示结果:

Created with Raphaël 2.2.0开始框处理框判断框(是或否?)输入输出框结束框子流程yesno

4.5 UML时序图源码样例

```mermaid
sequence
对象A->对象B: 对象B你好吗?(请求) 
Note right of 对象B: 对象B的描述 
Note left of 对象A: 对象A的描述(提示) 
对象B-->对象A: 我很好(响应) 
对象A->对象B: 你真的好吗?

显示结果:

对象A对象B对象B你好吗?(请求)对象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: 没人陪我玩 

显示结果:

对象A对象B小三C对象B你好吗?(请求)对象B的描述对象A的描述(提示)我很好(响应)你好吗对象B找我了你真的好吗?我们是朋友没人陪我玩对象A对象B小三C标题:复杂使用

4.7 UML标准时序图样例

```mermaid
%% 时序图例子,-> 直线,-->虚线,->>实线箭头
  sequenceDiagram
    participant 张三
    participant 李四
    张三->王五: 王五你好吗?
    loop 健康检查
        王五->王五: 与疾病战斗
    end
    Note right of 王五: 合理 食物 <br/>看医生...
    李四-->>张三: 很好!
    王五->李四: 你怎么样?
    李四-->王五: 很好!

显示结果:

张三李四王五王五你好吗?与疾病战斗loop[ 健康检查 ]合理 食物 看医生...很好!你怎么样?很好!张三李四王五标题:复杂使用

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输出)
Markdown:常用语法、数学公式、特殊符号、流程图

参考:
https://www.jianshu.com/p/ebe52d2d468f
https://blog.csdn.net/weixin_42546496/article/details/88115095
https://www.runoob.com/markdown/md-advance.html

相关标签: 文档编写