← 返回学习中心ARC LAB / LEARNING NOTES

建立共同基础

Markdown 学习教程

从标题与代码块,到公式、图片和完整学习笔记。

展开本篇目录

一、什么是 Markdown?

Markdown 是一种轻量级标记语言。它通过少量、容易记忆的符号来表示标题、列表、代码、链接、表格等内容。Markdown 文件通常以 .md 作为扩展名。

例如,下面几行文字:

# 我的学习笔记

今天学习了 **Markdown**。

- 学会标题
- 学会列表

在支持 Markdown 的软件中,会显示为一个标题、一段文字和一个列表。

Markdown 有什么用?

  • 写课程笔记、实验报告和学习总结。
  • 编写 GitHub 项目的 README.md 文件。
  • 整理技术文档、代码示例和数学公式。
  • 在支持 Markdown 的平台上发布文章或知识库内容。

注意: Markdown 有不同的实现版本。标题、列表、代码块等属于常见基础语法;表格、任务列表、数学公式等功能是否可用,取决于编辑器或平台。下文会标明需要注意的地方。

二、创建和预览 Markdown 文件

  1. 使用 VS Code、Typora、Obsidian 或其他文本编辑器新建文件。
  2. 将文件保存为 学习笔记.md 等以 .md 结尾的文件名。
  3. 在编辑器中切换到 Markdown 预览模式,检查最终显示效果。
  4. 修改内容后再次预览,确认格式没有问题。

Markdown 源文件本质上是普通文本。即使没有预览功能,也可以直接编辑;只是需要支持 Markdown 的软件才能把语法符号渲染成排版后的效果。

三、标题

在文字前添加 # 表示标题。# 后面建议留一个空格。

# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

说明:

  • # 的数量越多,标题层级越低。
  • 一般按层级组织内容,不要为了让文字变大而随意跳级。
  • 一个文档通常只设置一个一级标题,后续章节使用二级、三级标题。

四、段落、换行和分隔线

4.1 段落

段落之间空一行:

这是第一段。

这是第二段。

4.2 换行

不同编辑器对换行的处理可能不同。常见写法是在行尾添加两个空格,或者使用空行开始新段落。

第一行文字。  
第二行文字。

4.3 分隔线

单独一行输入三个或更多的短横线,可以生成分隔线:

---

分隔线适合分隔较大的内容区域,不建议频繁使用。

五、文字强调与特殊格式

效果 Markdown 写法 显示效果示例
粗体 **重点内容** 重点内容
斜体 *需要强调的文字* 需要强调的文字
粗体和斜体 ***非常重要*** 非常重要
删除线 ~~已删除内容~~ 已删除内容
行内代码 `printf()` printf()
  • 加粗:**加粗文本** 或 __加粗文本__ → 加粗文本

  • 斜体:*斜体文本* 或 _斜体文本_ → 斜体文本

  • 粗斜体:***粗斜体文本*** 或 ___粗斜体文本___ → 粗斜体文本

行内代码常用于表示变量名、函数名、命令、文件名或短代码,例如 main.c、git status、printf()。

注意: 删除线通常属于扩展语法;在一些平台上可能无法显示。

六、列表

6.1 无序列表

可以使用 -、* 或 + 创建无序列表。一个文档中建议统一使用一种符号。

- 计算机基础
- 编程基础
- 项目实践

6.2 有序列表

使用数字和英文句点创建有序列表:

1. 安装开发工具
2. 创建项目文件
3. 编写并运行程序

6.3 嵌套列表

子列表前面添加缩进:

- 编程语言
- C 语言
- Python
- 开发工具
- VS Code
- Git

6.4 任务列表

在支持任务列表的平台(例如 GitHub)中,可以使用以下写法:

- [x] 安装编辑器
- [x] 学习标题和列表
- [ ] 练习表格和公式

其中 [x] 表示已完成,[ ] 表示未完成。

七、引用

在一行前添加 > 可以创建引用块。

> 学习编程要重视实践。
>
> 不仅要看懂代码,还要尝试自己编写和调试。

引用可以用来突出名言、说明、提示或资料摘录。部分 Markdown 平台支持引用块中嵌套标题、列表等内容。

八、代码:行内代码和代码块

8.1 行内代码

用一对反引号包住短代码:

使用 `printf()` 输出内容。

显示效果:使用 printf() 输出内容。

8.2 多行代码块

在代码前后各写三个反引号:

```
这里是多行代码。
第二行代码。
```

8.3 指定代码语言

在开头的三个反引号后写语言名称,部分编辑器会提供语法高亮。

C 语言示例:

```c
#include <stdio.h>

int main(void)
{
printf("Hello, Markdown!\n");
return 0;
}
```

渲染效果:

#include <stdio.h>

int main(void)
{
printf("Hello, Markdown!\n");
return 0;
}

Python 示例:

```python
def add(a, b):
return a + b

print(add(2, 3))
```

渲染效果:

def add(a, b):
return a + b

print(add(2, 3))

常见语言标识包括:c、cpp、python、java、javascript、bash、html、css、sql、json、text。

代码块使用建议:

  • 示例程序要尽量完整,方便读者理解和运行。
  • 使用正确的语言标识,便于阅读。
  • 代码缩进要保持一致。
  • 代码块只负责显示代码,不会自动运行代码。

九、数学公式

数学公式通常使用 LaTeX 风格的语法。公式语法并非所有 Markdown 编辑器都默认支持;请确认平台是否支持数学公式渲染。

9.1 行内公式

使用一对 $ 包住公式:

圆的面积为 S=πr2S = \pi r^2。

显示效果示例:圆的面积为 S=πr2S = \pi r^2。

9.2 独立公式

使用一对 $$ 将公式单独放在一行或多行中:

<br>a2+b2=c2<br><br>a^2 + b^2 = c^2<br>

显示效果示例:

a2+b2=c2a^2 + b^2 = c^2

9.3 常用公式写法

内容 LaTeX 写法 含义
上标 x^2 x2x^2
下标 a_n ana_n
分数 \frac{a}{b} ab\frac{a}{b}
平方根 \sqrt{x} x\sqrt{x}
c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429
c69,-144,104.5,-217.7,106.5,-221
l0 -0
c5.3,-9.3,12,-14,20,-14
H400000v40H845.2724
s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7
c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z
M834 80h400000v40h-400000z”/>​
n 次根 \sqrt[n]{x} xn\sqrt[n]{x}
c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429
c69,-144,104.5,-217.7,106.5,-221
l0 -0
c5.3,-9.3,12,-14,20,-14
H400000v40H845.2724
s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7
c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z
M834 80h400000v40h-400000z”/>​
求和 \sum_{i=1}^{n} i ∑i=1ni\sum_{i=1}^{n} i
积分 \int_a^b f(x)\,dx ∫abf(x) dx\int_a^b f(x),dx
希腊字母 \alpha, \beta, \pi α,β,π\alpha, \beta, \pi
约等于 \approx ≈\approx
不等于 \ne ≠\ne
大于等于 \ge ≥\ge
小于等于 \le ≤\le

9.4 矩阵示例

<br>A = \begin&#123;bmatrix&#125;<br>1 &amp; 2 \\<br>3 &amp; 4<br>\end&#123;bmatrix&#125;<br>

在支持 LaTeX 数学公式的环境中,它会显示为一个矩阵:

A=[1234]A = \begin{bmatrix} 1 & 2 \ 3 & 4 \end{bmatrix}

9.5 公式中的常见规则

  • 下标使用 _,上标使用 ^。

  • 如果上标或下标包含多个字符,通常要用花括号,例如 x_{max}、2^{10}。

  • 公式里的命令通常以反斜杠 \ 开头,例如 \frac、\sqrt。

  • 如果公式显示为普通文字,先检查编辑器或平台是否支持数学公式。

  • 在行间公式嵌入 LaTeX 公式环境,示例:

∣x∣={xif x≥0−xif x<0|x| = \begin{cases} x & \text{if } x \geq 0 \\ -x & \text{if } x < 0 \end{cases}

<br>|x| = \begin&#123;cases&#125;<br>   x &amp; \text&#123;if &#125; x \geq 0 \\\\<br>   -x &amp; \text&#123;if &#125; x &lt; 0<br>\end&#123;cases&#125;<br>
  • 使用 \tag{} 命令为公式手动指定一个编号或标记,用于公式的引用和说明,\tag*{} 命令可以去除包围标签的圆括号,在引用公式时,标签需手动输入,示例:

ex=∑n=0∞xnn!=1+x+x22!+x33!+⋯+xnn!+⋯1-1\begin{aligned} e^x &= \sum_{n=0}^{\infty} \frac{x^n}{n!} \\ &= 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \cdots + \frac{x^n}{n!} + \cdots \end{aligned} \tag*{1-1}

<br>\begin&#123;aligned&#125;<br>    e^x &amp;= \sum_&#123;n=0&#125;^&#123;\infty&#125; \frac&#123;x^n&#125;&#123;n!&#125;  \\\\<br>    &amp;= 1 + x + \frac&#123;x^2&#125;&#123;2!&#125; + \frac&#123;x^3&#125;&#123;3!&#125; + \cdots + \frac&#123;x^n&#125;&#123;n!&#125; + \cdots<br>\end&#123;aligned&#125;<br>\tag*&#123;1-1&#125;<br>

十、表格

Markdown 表格通过竖线 | 分隔列,通过短横线 - 分隔表头与内容行。

| 姓名 | 专业 | 年级 |
|---|---|---|
| 张三 | 通信工程 | 大一 |
| 李四 | 计算机科学与技术 | 大二 |

显示效果:

姓名 专业 年级
张三 通信工程 大一
李四 计算机科学与技术 大二

10.1 设置对齐方式

在分隔线中添加冒号 : 可以设置列的对齐方式。

| 左对齐 | 居中对齐 | 右对齐 |
|:---|:---:|---:|
| 文本 | 文本 | 123 |
| 内容 | 内容 | 456 |

显示效果:

左对齐 居中对齐 右对齐
文本 文本 123
内容 内容 456

10.2 表格编写建议

  • 表头要简短、清楚。
  • 每一行的列数尽量一致。
  • 表格适合呈现简洁、规律的数据,不适合放大段文字或复杂代码。
  • 不同平台对表格的支持可能存在差异。

十一、链接

11.1 网页链接

基本格式为 [显示文字](网址)。

[GitHub 官网](https://github.com)

显示效果:GitHub 官网

11.2 本地文件链接

如果文件与 Markdown 文档放在同一目录,可以使用相对路径链接:

[查看实验说明](实验说明.md)

如果文件位于子目录中,可以写成:

[查看图片](images/example.png)

相对路径是否可点击、如何打开,取决于编辑器或发布平台。

行内链接

行内链接直接在行内定义链接的文本和地址。其格式可表示为[显示文本](链接地址 "可选标题"),显示文本 是页面上显示的文字,链接地址 是链接的实际地址,"可选标题"是鼠标悬停在链接上时出现的提示文字,可以省略。

示例: [微信官网](https://weixin.qq.com/ "微信官网") → 微信官网[1]

参考链接

当同一个链接在文章中出现多次时,使用这种方法可以方便统一管理。语法分为两部分:

  • 链接位置:在文中需要链接的地方写 [链接文字][链接标识]。
  • 链接定义:在文档的任意位置(通常放在末尾)写 [链接标识]: 真实的链接地址。

示例:

打开[微信公众平台][1],可创建自己的公众号。

[1]:https://mp.weixin.qq.com/

自动链接

用尖括号 < > 包裹网址或邮箱地址,Markdown 会自动将其转换为可点击的链接。

锚点链接

锚点链接用于在当前文档内部进行跳转,通常需要为标题定义一个标识符,然后用普通链接语法指向它。语法分两个部分:

  • 定义锚点:在标题后加上 {[#自定义锚点名称]},例如:## 章节标题 {#section1}。
  • 链接到锚点:[跳转到某一章](#section1)。

十二、图片

图片语法与链接相似,只是在最前面增加感叹号 !。

![图片说明](images/circuit.png)

其中:

  • 图片说明 是图片无法显示时可供读者理解的替代文字,也有助于无障碍阅读。
  • images/circuit.png 是图片路径。
  • images 是图片所在文件夹,circuit.png 是图片文件名。

图片路径示例

假设项目目录如下:

my-project/
├── README.md
└── images/
└── circuit.png

那么在 README.md 中可以写:

![电路连接图](images/circuit.png)

提示: 发布到 GitHub 等平台时,优先使用仓库内的相对路径,保证图片文件也一起提交。不要随意移动图片文件,否则可能导致路径失效。

十三、转义特殊字符

有些字符在 Markdown 中有特殊含义。如果想让它直接显示,可以在字符前添加反斜杠 \。

例如:

\*这段文字不会变成斜体\*
\# 这不是标题

常见需要转义的字符包括:\、`、*、_、{}、[]、()、#、+、-、.、!、|。

在表格单元格中,如果需要显示竖线 |,通常可写成 \|;具体表现仍与平台有关。

十四、脚注与目录:按需使用

这两类功能常由编辑器或平台扩展提供,并非所有 Markdown 环境都支持。

14.1 脚注示例

部分平台支持以下写法:

Markdown 易于阅读和编写。[^1]

[^1]: 这里是脚注补充说明。

14.2 目录示例

部分编辑器支持自动生成目录;有些平台支持手动链接到标题。标题锚点的生成规则可能因平台而异,例如:

[跳转到表格章节](#十表格)

若跳转失败,请检查平台生成的标题锚点规则。长文档建议优先使用编辑器提供的自动目录功能。

复杂样式

Markdown 本身不支持复杂样式,但可通过嵌入 HTML 标签并结合 CSS 样式实现个性化排版,核心是利用 HTML 的 style 属性或 <style> 标签定义样式。

Markdown 已实现的文本样式:

  • 加粗文本:<strong> / <b>
  • 倾斜文本:<em> / <i>
  • 删除线:<del>
  • 分割线:<hr>
  • 行内代码:<code>
  • 代码块:<pre>
  • 行内引用:<q>
  • 引用块:<blockquote>

使用 HTML 标签可实现 Markdown 无法实现的文本样式,例如:

  • 上标:<sup>上标</sup>。X<sup>2</sup> → X2
  • 下标:<sub>下标</sub>。Y<sub>2</sub> → Y2
  • 下划线:<u>下划线</u> 或 <ins>下划线</ins> → 下划线
  • 高亮文本:<mark>高亮文本</mark> →高亮文本

使用 <div> 标签下的 align 属性可以设置文本对齐方式,文本对齐示例:

这段文本居左显示

这段文本居中显示

这段文本居右显示

<div align="left">这段文本居左显示</div>
<div align="center">这段文本居中显示</div>
<div align="right">这段文本居右显示</div>

使用 <font> 标签下的 color 属性可以设置文本颜色,face 属性可以设置文本字体,size 属性可以设置文本字号,文本颜色示例: 这是红色文字 这是黄色文字 这是绿色文字 这是蓝色文字

<font color="red">这是红色文字</font>
<font color="yellow">这是黄色文字</font>
<font color="#00FF00">这是绿色文字</font>
<font color="#0000FF">这是蓝色文字</font>

十五、一个综合示例

下面是一份结合标题、列表、代码、公式、表格和图片的 Markdown 文档示例。可以复制后修改内容,作为自己的学习笔记模板。

# 实验报告:计算两个数的和

## 一、实验目的

1. 熟悉 Python 基本语法。
2. 学习使用 Markdown 整理实验报告。

## 二、实验原理

两个数相加的表达式为:

<br>s=a+b<br><br>s = a + b<br>

## 三、实验代码

```python
a = 12
b = 30
s = a + b
print("结果:", s)
```

## 四、运行结果

| 变量 | 数值 |
|---|---:|
| `a` | 12 |
| `b` | 30 |
| `s` | 42 |

## 五、实验总结

本次实验实现了两个整数相加,并使用表格记录运行数据。

> 编写程序后,应实际运行并核对结果。

## 六、相关资料

- [Python 官方网站](https://www.python.org/)
- [Markdown 指南](https://www.markdownguide.org/)

<!-- 如需插入图片,可取消注释并修改图片路径: -->
<!-- ![运行截图](images/result.png) -->

十六、常见问题排查

问题 可能原因 解决方法
标题没有显示为标题 # 后没有空格,或预览模式未开启 写成 # 标题,并打开 Markdown 预览
代码没有高亮 没有指定语言,或平台不支持该语言的高亮 使用 ```python、```c 等语言标识
公式显示成普通文字 当前平台不支持数学公式,或公式符号写错 检查平台功能和 $、$$ 的配对
图片无法显示 图片路径错误,文件不在指定位置 检查相对路径、文件名和大小写
表格错位 列数不一致,分隔符遗漏 检查每一行的 `
符号被解释成格式 使用了 Markdown 特殊字符 在字符前添加 \,或将内容放入代码格式
代码块提前结束 代码内部也包含三个反引号 外层代码围栏可以改用四个反引号

十七、练习

请新建一个 markdown_practice.md 文件,完成以下任务:

  • 写一个一级标题和至少两个二级标题。
  • 写一个无序列表和一个有序列表。
  • 用粗体标出一个重要概念,并添加一段引用。
  • 插入一个 C 语言或 Python 代码块。
  • 写出一个行内数学公式和一个独立数学公式。
  • 创建一个至少三列、两行数据的表格,并设置其中一列右对齐。
  • 添加一个网页链接和一张本地图片。
  • 在预览模式中检查文档效果。

十八、常用语法速查表

功能 写法示例
一级标题 # 标题
二级标题 ## 标题
粗体 **文字**
斜体 *文字*
删除线 ~~文字~~
无序列表 - 内容
有序列表 1. 内容
引用 > 引用内容
行内代码 `print()`
多行代码 ```python ... ```
行内公式 $a+b$
独立公式 $$a+b$$
链接 [显示文字](https://example.com)
图片 ![图片说明](images/a.png)
表格 `
分隔线 ---
转义符号 \#
任务列表 - [ ] 待办事项
← 继续探索学习路径反馈问题 ↗