Markdown 常用语法#

Markdown 是一种轻量级的标记语言,相较于 HTML 或 RST 等语言,Markdown 具有语法简单、易读易写、兼容性强等特点,可以令读者见文知意,是如今世界上最受欢迎的标记语言之一。

在我们软件的 Notebook 中支持新增和编辑 Markdown 单元格。使用 Markdown 可以更好的结合文本与 Python 代码块,生成美观大方的研究报告。本用户文档的绝大多数内容也是由 Markdown 编写的。

以下将简单介绍几类常用的 Markdown 语法,若你想更深入地了解 Markdown,可以参考:Markdown Guide

标题#

使用井号 #一个空格 开头来创建一个标题。# 数量的多少决定了标题的级别,最多支持 6 个 #。合理地使用标题可以使文档的层级与排版更为清晰美观。

试试如下的代码:

# H1
## H2
### H3
#### H4
##### H5
###### H6

它们的渲染效果如 图 547 所示:

../_images/pre-md-header.png

图 547 Markdown 不同级别标题的渲染效果示意图#

段落#

在空白行中键入文本即可生成段落。

在两个段落之间插入一个空行即可更换自然段。

试试如下的代码:

我会使用 Markdown。

渲染效果

我会使用 Markdown。

我会使用 Markdown。

我也会使用 Python。

渲染效果

我会使用 Markdown。

我也会使用 Python。

加粗与斜体#

使用不同数量(一至三个)的星号 * 或者下划线 _ 包裹字符两侧可以控制字符的加粗或斜体。使用这些样式可以强调突出某些文字。

有如下样例:

*这是斜体*

_这也是斜体_

**这是加粗**

__这也是加粗__

***这是加粗斜体***

___这也是加粗斜体___

渲染效果

这是斜体

这也是斜体

这是加粗

这也是加粗

这是加粗斜体

这也是加粗斜体

列表#

使用列表可以清晰地罗列一些具有先后优先级(例如操作步骤)或平级(例如产品清单)的项目。

有序列表#

使用 数字. 的方式即可创建一个有序列表。数字应当是从 1 开始的。注意 . 后需要一个空格

1. 第一项
2. 第二项
3. 第三项

渲染效果

  1. 第一项

  2. 第二项

  3. 第三项

无序列表#

使用 *. +. -. 的方式即可创建一个无序列表。同样的,注意 . 后的空格

* 列表项
+ 列表项
- 列表项

渲染效果

  • 列表项

  • 列表项

  • 列表项

重要

出于兼容性考虑,不要在一个无序列表中混用标识符(*+-)。应当选择其中一个并在整个文档中使用同一个符号。以上代码仅适用于演示和教学。

列表的嵌套#

将需要嵌套在列表内的元素缩进 两个或四个空格 就可以在保持原列表连续性的情况下完成嵌套。

以下代码展示了如何在一个有序列表中嵌套一个无序列表:

1. 第一项
2. 第二项
  - 嵌套项
  - 嵌套项
  - 嵌套项
3. 第三项

渲染效果

  1. 第一项

  2. 第二项

    • 嵌套项

    • 嵌套项

    • 嵌套项

  3. 第三项

表格#

Markdown 中的表格由表头和单元格构成:每一行代表一个表格行,位于第一行的文本为表头,表头下需要增加一列由 --- 填充的行;列于列之间由 | 隔开。样例如下:

| 标题 1 | 标题 2 | 标题 3 |
|--------|---------|--------|
| 单元格 1 | 单元格 2 | 单元格 3 |
| 单元格 4 | 单元格 5 | 单元格 6 |

渲染效果

标题 1

标题 2

标题 3

单元格 1

单元格 2

单元格 3

单元格 4

单元格 5

单元格 6

我们可以在 --- 两端加上冒号 : 来控制此列文本的对齐方式:

 左对齐 | 居中对齐 | 右对齐 |
|:--------|:--------:|--------:|
| 单元格 1 | 单元格 2 | 单元格 3 |
| 单元格 4 | 单元格 5 | 单元格 6 |

渲染效果

左对齐

居中对齐

右对齐

单元格 1

单元格 2

单元格 3

单元格 4

单元格 5

单元格 6

代码#

行内代码#

使用反引号 ` 包裹单词或句子就可以将其表示为代码。这个语法可以方便我们随时随地在段落中插入代码。

在 Python 中, 我们使用 `print()` 来打印字符串。

渲染效果

在 Python 中, 我们使用 print() 来打印字符串。

代码块#

若需要插入整段的代码,可以使用围栏代码块。在代码块前后的空行上使用三个反引号 ``` 或波浪号 ~~~ 包裹即可:

以下为 Python 中的循环结构:

```python
sum = 0
for i in range(0, 11):
    sum += i
print(sum)
```

渲染效果

以下为 Python 中的循环结构:

sum = 0
for i in range(0, 11):
    sum += i
print(sum)

小技巧

在代码块前的反引号后标注代码的语言类型就可以获取对应的语法高亮提示,例如上述例子中的 python

分割线#

使用 ---***___ 来创建一个分割线:

第一个分割线:

---

第二个分割线:

***

第三个分割线:

___

注意留有前后空行

渲染效果

第一个分割线:


第二个分割线:


第三个分割线:


注意留有前后空行

重要

出于兼容性考虑,分割线前后各需要一个空行。

插入图片#

可以使用以下语法插入本地图片:

![替换文本](图片路径 "图片标题")

![软件 logo](../../_static/logo.png "Maspectra Logo")

其中 替换文本 为图片不能被显示时出现的替代文字;图片路径 可以是相对路径、绝对路径或网址;图片标题 为鼠标悬停于图片上出现的标题文字。

渲染效果

软件 logo

超链接#

可以使用以下语法来插入一个网址的超链接:

[超链接显示文本](超链接路径 "超链接标题")

[Maspectra 官网](https://www.maspectra.com/ "Maspectra")

其中 超链接显示文本 为超链接显示于文档中的文本;超链接路径 为所需要链接至的网址;超链接标题 为鼠标悬停于超链接上出现的标题文字。

渲染效果

Maspectra 官网

删除线#

如果你想用删除线划去某些字符以指出它们是错误的,可以使用两个波浪号 ~~ 包裹这些字符:

在 Python 中,我们使用 ~~{something: value}~~ [something, ...] 来创建一个列表。

其渲染效果如 图 548 所示:

../_images/pre-md-strike-through.png

图 548 Markdown 删除线的渲染效果示意图#

转义字符#

如果想要显示那些原本用于格式化 Markdown 文档的字符(例如 *# 等),可以在它们前面添加转义字符 \

在 Python 中,类的实例被创建时将会调用 \_\_init\_\_ 方法。

使用 \ 我们可以正常渲染上述文本中的 __init__(试试去掉转义字符会发生什么?),如下所示:

渲染效果

在 Python 中,类的实例被创建时将会调用 __init__ 方法。