Markdown 常用语法

455 阅读6分钟

简介

Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。

Markdown 语言在 2004 由约翰·格鲁伯(英语:John Gruber)创建。

Markdown 编写的文档可以导出 HTML 、Word、图像、PDF、Epub 等多种格式的文档。

Markdown 编写的文档后缀为 .md, .markdown。

标题

Markdown 标题有两种格式:

  • 使用 =- 标记一级和二级标题
我展示的是一级标题
=================

我展示的是二级标题
-----------------

image.png

  • 使用 # 号标记: 使用 # 号可表示 1-6 级标题,一级标题对应一个 # 号,二级标题对应两个 # 号,以此类推。
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

image.png

段落格式

1)段落

Markdown 段落没有特殊的格式,直接编写文字即可,段落的换行是使用两个以上空格加上回车。


段落1  
段落2  
段落3  

image.png

当然也可以在段落后面使用一个空行来表示重新开始一个段落

段落1

段落2

段落3

image.png

2)字体

Markdown 可以使用以下几种字体:

*斜体文本*  

_斜体文本_  

**粗体文本**  

__粗体文本__  

***粗斜体文本*** 

___粗斜体文本___

image.png

3)分割线

可以在一行中用三个以上的星号(*)、减号(-)、下划线(_)来建立一个分割线。行内不能有其它内容,但可以在星号或减号中间插入空格。

*** 

* * * 

****

--- 

- - -

### 下划线
___

image.png

4)删除线

如果段落上的文字需要添加删除线,只需要在文字的两端分别加上两个波浪线(~~)即可。

张三

李四

~~删除的文字~~

image.png

5)下划线

下划线可以通过HTML标签 <u> 来实现。

不带下滑线的文本 

<u>带下划线的文本</u>

image.png

6)脚注

脚注是对文本的补充说明。语法如下:

[^要注释的内容]
反射被视为动态语言的关键。[^1]

[^1]: 陈国军.Java程序设计基础(第六版):清华大学出版社,2019—01:P595

image.png

列表

Markdown支持 有序列表无序列表

  1. 无序列表使用星号(*)、加号(+)或是减号(-)作为列表标记,这些标记后面要添加一个空格,然后再填写内容。
* 第一项
* 第二项
* 第三项

+ 第一项
+ 第二项
+ 第三项

- 第一项
- 第二项
- 第三项

image.png

  1. 有序列表 使用数字并加上 . 号来表示。
1. 第一项 
2. 第二项
3. 第三项

image.png

  1. 列表嵌套:列表嵌套只需要在子列表中的选项前面添加四个空格即可。
1. 第一项 
   * first
   * second
   * third
2. 第二项
    + element1
    + element2
    + element3

image.png

引用

基本语法

Markdown 引用是在段落开头使用 > 符号,然后后面紧跟一个空格符号。

> 区块引用  
> PaddlePaddle API 接口

image.png

引用嵌套

引用可以嵌套,一个>符号是最外层,两个 > 符号是第一层嵌套,以此类推。

> 最外层  
>> 第一层嵌套  
>>> 第二层嵌套  

image.png

引用中使用列表

> 引用中使用列表
> 1. 第一项
> 2. 第二项
> + 无序一
> + 无序二

image.png

列表中使用引用

如果在列表中使用引用,需要在引用(>)之前添加四个空格缩进。

1. PaddlePaddle
   > 飞桨开源框架(PaddlePaddle)是一个易用、高效、灵活、可扩展的深度学习框架。  
   > PaddlePaddle 提供丰富的官方支持模型集合。

2. PaddleFL
   > PaddleFL是一个基于PaddlePaddle的开源联邦学习框架。  
   > 研究人员可以很轻松地用PaddleFL复制和比较不同的联邦学习算法。

image.png

代码

行内代码块

在段落内的一个函数或片段代码用反引号(`)包起来。

`printf()` 函数

image.png

代码块

可以用  ``` 包裹一段代码,并指定一种语言(也可以不指定); 也可以使用 4 个空格或者一个制表符(Tab 键)

    def print_hi(name):
    # Use a breakpoint in the code line below to debug your script.
    print(f'Hi, {name}')  # Press ⌘F8 to toggle the breakpoint.
    # Press the green button in the gutter to run the script.
    if __name__ == '__main__':
    print_hi('PyCharm')

    # See PyCharm help at https://www.jetbrains.com/help/pycharm/


```python

def print_hi(name):
    # Use a breakpoint in the code line below to debug your script.
    print(f'Hi, {name}')  # Press ⌘F8 to toggle the breakpoint.


# Press the green button in the gutter to run the script.
if __name__ == '__main__':
    print_hi('PyCharm')

# See PyCharm help at https://www.jetbrains.com/help/pycharm/

```

image.png

链接

语法

链接的使用方法如下:


[链接名称](链接地址)

或者

<链接地址>

image.png

高级链接

可以通过设置一个链接,变量赋值放在文档末尾进行。


这个链接用 1 作为网址变量 [PaddlePaddle][1]

这个链接用 param 作为网址变量 [PaddlePaddle][param]

然后在文档的结尾为变量赋值。


[1]: https://www.paddlepaddle.org.cn

[param]: https://www.paddlepaddle.org.cn

image.png

图片

Markdown 图片语法格式如下:

![alt 属性文本](图片地址)

![alt 属性文本](图片地址 "可选标题")
  • 开头一个感叹号
  • 接着一个方括号,里面放上图片的替代文字
  • 接着一个普通括号,里面放上图片的网址,最后还可以用引号包住并加上选择性的 title 属性文字。

Markdown 还没有办法指定图片的高度与宽度,如果你需要的话,你可以使用普通的 <img> 标签。

<img src="http://****/images/logo.png" width="50%">

表格

Markdown 制作表格使用 | 来分隔不同的单元格,使用 - 来分隔表头和其它行。


| 表头     | 表头     |
|--------|--------|
| 第一行第一列 | 第一行第二列 |
| 第二行第一列 | 第二行第二列 |

image.png

表格对齐方式:

  • -: 设置内容和标题栏居右对齐
  • :- 设置内容和标题栏居左对齐
  • :-: 设置内容和标题栏居中对齐
| 左对齐  | 右对齐 | 居中对齐 |
| :-----| ----: | :----: |
| 单元格单元格    | 单元格单元格 | 单元格单元格  |
| 单元格单元格    | 单元格单元格 | 单元格单元格  |

image.png

高级技巧

支持的 HTML 标签

不在 Markdown 涵盖范围之内的标签,都可以直接在文档里面用 HTML 撰写。

目前支持的 HTML 元素有:<kbd> <b> <i> <em> <sup> <sub> <br>等 ,如:

image.png

转义

Markdown 使用了很多特殊符号来表示特定的意义,如果需要显示特定的符号则需要使用转义字符,Markdown 使用反斜杠转义特殊字符:

**文本加粗**  
\*\* 正常显示星号 \*\*

image.png

Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号:

\   反斜线
`   反引号
*   星号
_   下划线
{}  花括号
[]  方括号
()  小括号
#   井字号
+   加号
-   减号
.   英文句点
!   感叹号

数学公式语法

Markdown Preview Enhanced 使用 KaTeX 或者 MathJax 来渲染数学表达式。 KaTeX 拥有比 MathJax 更快的性能,但是它却少了很多 MathJax 拥有的特性。可以查看 KaTeX supported functions/symbols 来了解 KaTeX 支持那些符号和函数。

默认下的分隔符:

  • $...$ 或者 \(...\) 中的数学表达式将会在行内显示;
  • $$...$$ 或者 \[...\] 或者  ```math  中的数学表达式将会在块内显示。

常用的数学公式语法

符号语法
<\lt$\lt$
>\gt$\gt$
a3\sqrt[3]{a}$\sqrt[3]{a}$
×\times$\times$
÷\div$\div$
±\pm$\pm$
\mp$\mp$
\ne$\ne$
\infty$\infty$
\ge$\ge$
\perp$\perp$
α\alpha$\alpha$
θ\theta$\theta$
γ\gamma$\gamma$
ϵ\epsilon$\epsilon$
ρ\rho$\rho$
ab\frac{a}{b}$\frac{a}{b}$
sin\sin$\sin$
cos\cos$\cos$
tan\tan$\tan$
\Rightarrow$\Rightarrow$
LeftarrowLeftarrow$Leftarrow$
xyx \in y$x \in y$
xyx \notin y$x \notin y$
xbx \cup b$x \cup b$
xbx \cap b$x \cap b$
limx11x\lim\limits_{x\rightarrow1}\frac{1}{x}$\lim\limits_{x\rightarrow1}\frac{1}{x}$
lim(x,y)(1,1)1xy\lim\limits_{(x,y)\rightarrow(1,1)}\frac{1}{xy}$\lim\limits_{(x,y)\rightarrow(1,1)}\frac{1}{xy}$
limx1limy11xy\lim\limits_{x\rightarrow1}\lim\limits_{y\rightarrow1}\frac{1}{xy}$\lim\limits_{x\rightarrow1}\lim\limits_{y\rightarrow1}\frac{1}{xy}$
  • 行列式

abcaxayazbxbybz\left|\begin{matrix}\vec{a}&\vec{b}&\vec{c}\\\\a_x&a_y&a_z\\\\b_x&b_y&b_z\end{matrix} \right|

$$\left|\begin{matrix}\vec{a}&\vec{b}&\vec{c}\\\\a_x&a_y&a_z\\\\b_x&b_y&b_z\end{matrix} \right|$$

  • 方程组

{a1x+b1y+c1z=d1a2x+b2y+c2z=d2a3x+b3y+c3z=d3\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{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} $$