文章目录
Markdown是一种让你能专心写作,而不是费心排版的“轻量级标记语言”。它的核心语法非常简洁,20分钟内就能掌握。
为了便于你快速上手,我把最常用的语法整理在下面的速查表里了。特别留意我新增的 “格式化文本” 和 “链接与图片” 的写法,这能帮你更好地排版文档。
✍️ Markdown 语法速查表
常用公式:
字母右上方加上标: $K^T$ =>
K
T
K^T
KT
字母正上方加帽子: $\hat{h}$ =>
h
^
\hat{h}
h^
字母右下方加下标: $h_0$ => h 0 h_0 h0
字母外面加根号:$\sqrt{A}$ => A \sqrt{A} A
分式A除以B: $\frac{A}{B}$ => A B \frac{A}{B} BA
| 分类 | 语法 | 示例 | 预览效果 |
|---|---|---|---|
| 标题 | # 一级标题 到 ###### 六级标题 ( #与文本间有空格) | ## 二级标题 | 二级标题 |
| 段落与换行 | 1. 段落: 两个文本块之间空一行。 2. 换行: 在行末敲两个空格再回车。 | 第一段 第二段 | 第一段 第二段 |
| 格式化文本 | - 斜体: *文本* 或 _文本_。 - 粗体: **文本** 或 __文本__。 - 粗斜体: ***文本***。 - 删除线: ~~文本~~。 | **粗体**和*斜体* | 粗体和斜体 |
| 列表 | - 无序列表: - , * , + 后加空格。 - 有序列表: 1. , 2. 后加空格。 - 嵌套列表: 子项前加2-4个空格或1个Tab。 | - 水果 - 苹果 1. 第一步 1. 子步骤 | • 水果 ◦ 苹果 1. 第一步 1. 子步骤 |
| 链接与图片 | - 链接: [链接文本](URL "可选标题")。 - 图片: 。 - 自动链接: <URL>。 | [百度](https://www.baidu.com) | 百度 |
| 代码 | - 行内代码: 用反引号 ` ` 包裹。 - 代码块: 用三个反引号 ` ````包裹,可在开头指定语言。 | `print("hello")` ```````python ```` | print("hello")
print(“hello”)
|
| 表格 | 使用竖线 ` | 分隔单元格,横线—` 分隔表头与内容。 | ``` |
| 区块引用 | 行首加 > 符号,可嵌套(多个>)。 | > 一级引用 >> 二级引用 | > 一级引用 >> 二级引用 |
| 分隔线 | 单独一行使用三个或更多 -, *, _。 | --- | *** |
| 转义字符 | 在Markdown特殊字符前加 \ 显示其原本含义。 | \*\*不是粗体\*\* | 不是粗体 |
小提示:在不同平台(如GitHub、论坛、笔记软件)使用Markdown时,同一种语法可能会有细微差异,建议以平台的预览效果为准。
🚀 拓展语法:不止于排版
除了上述基础功能,Markdown还能通过“拓展语法”实现更丰富的功能,让文档变得“可交互”。
-
数学公式:借助 MathJax 或 KaTeX 插件,Markdown 可以渲染复杂的数学公式。
- 行内公式:用单个
$ ... $包裹。例如,代码$E = mc^2$会渲染为 (E = mc^2)。 - 独立段落公式:用两个
$$ ... $$包裹。这在你最初提问的LaTeX场景中非常有用。
- 行内公式:用单个
-
图表绘制 (Mermaid):用代码块并标记语言为
mermaid,可以直接编写文本绘制流程图、时序图、甘特图等。这对于技术文档和项目规划很有帮助。 -
复选框 (Task Lists):在GitHub等平台,可使用
- [ ]和- [x]来创建待办事项列表。- [x] 已完成的任务 - [ ] 待办的任务1 - [ ] 待办的任务2
💡 常用技巧与注意事项
- 列表连续性:在有编号的列表(如“1. 第一步”)中,如果内容需要分段,可以用换行和缩进来保持列表的连续性。
- ⚠️ 换行是个 “坑”:在Markdown中,直接按回车键并不会换行,而是会产生一个空格。需要在行末敲两个空格,然后按回车,才能实现真正的换行。这是新手最容易忽略的地方,但理解后会大幅提升排版流畅度。
- HTML 救场:当Markdown语法无法满足排版需求时(如复杂的表格对齐、改变文字颜色和大小),可以直接在文档中 “插入HTML代码” 。
问题1:段落开头要空两格怎么做?
在 Markdown 中,段落默认没有首行缩进(每个段落都顶格写)。如果你需要实现“空两格”的效果(例如中文文章常见的首行缩进),可以借助 HTML 实体 或 内联样式 来实现。
方法一:使用空格实体(最通用)
直接在段落开头插入  (全角空格,相当于一个中文字符的宽度),中文首行缩进通常使用两个全角空格:
  这是一个段落。在 Markdown 中,段落开头没有自动缩进,我们使用两个 ` ` 实体来实现首行空两格的效果。这种方法几乎在所有支持 Markdown 的地方都能正常工作(GitHub、Typora、VS Code 预览等)。
效果预览:
这是一个段落。在 Markdown 中,段落开头没有自动缩进,我们使用两个   实体来实现首行空两格的效果。
也可以使用 (不换行空格,半角),但需要四个 才相当于两个中文字符的宽度(不推荐,不易阅读)。
方法二:嵌入 HTML 与 CSS(更优雅,但部分环境不兼容)
如果你的 Markdown 渲染器支持内联样式(例如 Typora、HTML 输出的网站),可以用 <p> 标签配合 CSS text-indent 属性:
<p style="text-indent: 2em;">
这个段落整体会首行缩进 2 个字符宽度,不需要手动添加空格。每一段都需要单独包裹,或者通过全局样式设定。
</p>
⚠️ 注意:在 GitHub README、GitLab、大多数论坛等纯 Markdown 环境中,内联样式会被过滤掉,此时 方法一(
 )最可靠。
补充说明
- Markdown 本质:Markdown 最终会被转换为 HTML,而 HTML 段落(
<p>)默认无缩进。因此手动加空格或修改样式是唯一途径。 - 写作习惯:在中文技术文档、笔记中,很多人已经习惯顶格写(屏幕阅读不强调首行缩进)。如需严格符合排版规范,建议用
  。 - 全局设置:如果你使用本地 Markdown 编辑器(如 Typora、Obsidian),可以在主题 CSS 中添加
p { text-indent: 2em; }让所有段落自动首行缩进,无需每次手动操作。
问题2:那我要让这个公式居中怎么办
要让这个公式在文档中居中显示,最简单的方法是把原来的 $...$(行内公式)改为 $$...$$(独立行公式)。大多数支持 LaTeX 数学渲染的环境(如 Markdown + MathJax、Jupyter Notebook、Typora 等)都会自动将 $$...$$ 中的公式居中且单独成行。
✅ 修改前(行内,不居中)
$\mathcal{L}_\epsilon = \mathbb{E}_{x_t, \epsilon, t} [||\epsilon_\theta(x_t, t) - \epsilon||^2]$
效果:(公式与文字混排,例如:损失函数定义为 L ϵ = E x t , ϵ , t [ ∣ ∣ ϵ θ ( x t , t ) − ϵ ∣ ∣ 2 ] \mathcal{L}_\epsilon = \mathbb{E}_{x_t, \epsilon, t} [||\epsilon_\theta(x_t, t) - \epsilon||^2] Lϵ=Ext,ϵ,t[∣∣ϵθ(xt,t)−ϵ∣∣2],这样不够突出。)
✅ 修改后(独立行,居中)
$$
\mathcal{L}_\epsilon = \mathbb{E}_{x_t, \epsilon, t} [||\epsilon_\theta(x_t, t) - \epsilon||^2]
$$
效果:
L
ϵ
=
E
x
t
,
ϵ
,
t
[
∣
∣
ϵ
θ
(
x
t
,
t
)
−
ϵ
∣
∣
2
]
\mathcal{L}_\epsilon = \mathbb{E}_{x_t, \epsilon, t} [||\epsilon_\theta(x_t, t) - \epsilon||^2]
Lϵ=Ext,ϵ,t[∣∣ϵθ(xt,t)−ϵ∣∣2]
📌 其他环境中的写法
- LaTeX 文档:使用
\[ ... \]或\begin{equation} ... \end{equation}(后者会自动编号)。 - GitHub README:GitHub 原生不支持 LaTeX 渲染,需借助外部服务(如
https://latex.codecogs.com/...),但基础 Markdown 的$$不会生效。 - 微信公众号:部分排版工具支持用
$$或特定的“公式块”按钮。
💡 提示
- 如果
$$...$$在您的环境里没有居中,请检查是否正确启用了数学渲染引擎(如 MathJax、KaTeX)。 - 对于较长的公式,
$$...$$还会自动增大上下间距,使排版更清晰。
问题3:如何生成目录?
@[TOC] (这里写目录标题)
# 一级目录
## 二级目录
### 三级目录
问题3:如何引用多段内容?
> 这个是区间引用,可是这只能让一段进入引用,我想引入很多段内容呢?
你说得对,单个 > 只能让后面的一行(或一个段落)进入引用。想要让连续的多段内容都变成引用,只需要在每一段(包括段落之间的空行)的开头都加上 > 符号。
具体方法:
1. 连续多段落引用
> 这是第一段引用内容。
>
> 这是第二段引用内容(与上一段之间有一个空行,空行处也需要写 `>` 才能保持引用不中断)。
>
> 这是第三段。
效果:
这是第一段引用内容。
这是第二段引用内容(与上一段之间有一个空行,空行处也需要写
>才能保持引用不中断)。这是第三段。
关键点:段落之间的空行也要用 > 占位(可以只写一个 >,后面不加文字),否则引用会断开。
2. 引用内嵌套其他元素(列表、代码块等)
引用块内部还可以继续使用 Markdown 语法,只需在每一行(包括列表项、代码块的行)前都加上 >。
> 这是一个引用块,里面包含列表:
>
> - 列表项一
> - 列表项二
>
> 以及一个代码块:
>
> ```python
> print("hello")
> ```
效果:
这是一个引用块,里面包含列表:
- 列表项一
- 列表项二
以及一个代码块:
print("hello")
3. 简化写法:使用 > 后自动续行(仅限同一段落)
如果你只是要引用一个很长的段落(跨多行,但中间没有空行),只需要在第一行写一个 >,后面的行即使不加 > 也会被视为同一引用段落。
> 这是一个很长的引用段落,
> 我可以在第二行继续写,前面不需要再次加 `>`,
> 只要中间没有空行,它们都会属于同一个引用块。
效果:
这是一个很长的引用段落,
我可以在第二行继续写,前面不需要再次加>,
只要中间没有空行,它们都会属于同一个引用块。
但是一旦出现空行(表示新段落),就必须在新段落的第一行重新加上 >。
总结
| 情况 | 做法 |
|---|---|
| 引用一个段落(可跨多行) | 只在段落第一行写 > |
| 引用连续多个段落 | 每个段落(包括段落间的空行)都以 > 开头 |
| 引用中包含列表/代码块 | 列表的每一行、代码块的每一行前面都加 > |
你之前觉得只能引用一段,可能是因为没有在段落间的空行处加 >。试一下这个方法,就能轻松引入很多段内容了。
问题4:
p
(
s
1
∣
s
1
,
a
2
)
=
0
,
p(s_1|s_1, a_2) = 0,
p(s1∣s1,a2)=0,
p
(
s
2
∣
s
1
,
a
2
)
=
1
,
p(s_2|s_1, a_2) = 1,
p(s2∣s1,a2)=1,
p
(
s
3
∣
s
1
,
a
2
)
=
0
,
p(s_3|s_1, a_2) = 0,
p(s3∣s1,a2)=0,
p
(
s
4
∣
s
1
,
a
2
)
=
0
,
p(s_4|s_1, a_2) = 0,
p(s4∣s1,a2)=0,
p
(
s
5
∣
s
1
,
a
2
)
=
0
,
p(s_5|s_1, a_2) = 0,
p(s5∣s1,a2)=0,
这样每行分得很开,怎么让它们靠近点
你这种写法,每一条公式都单独用了一对 $$ ... $$,相当于每行都是一个独立的段落。段落之间受 \parskip 或 Markdown 段落间距影响,自然就像“隔了几行”一样,看起来特别稀疏。
要让它们靠近,核心思路是:把这几条公式放进同一个数学环境里。
✅ 最推荐:用 aligned 环境(可对齐等号)
把它们放在一个 $$ ... $$ 里,内部用 \begin{aligned} 和 \\ 换行,再用 & 对齐等号:
$$
\begin{aligned}
p(s_1 \mid s_1, a_2) &= 0,\\
p(s_2 \mid s_1, a_2) &= 1,\\
p(s_3 \mid s_1, a_2) &= 0,\\
p(s_4 \mid s_1, a_2) &= 0,\\
p(s_5 \mid s_1, a_2) &= 0.
\end{aligned}
$$
效果(渲染大致样子):
p
(
s
1
∣
s
1
,
a
2
)
=
0
,
p
(
s
2
∣
s
1
,
a
2
)
=
1
,
p
(
s
3
∣
s
1
,
a
2
)
=
0
,
p
(
s
4
∣
s
1
,
a
2
)
=
0
,
p
(
s
5
∣
s
1
,
a
2
)
=
0.
\begin{aligned} p(s_1 \mid s_1, a_2) &= 0,\\ p(s_2 \mid s_1, a_2) &= 1,\\ p(s_3 \mid s_1, a_2) &= 0,\\ p(s_4 \mid s_1, a_2) &= 0,\\ p(s_5 \mid s_1, a_2) &= 0. \end{aligned}
p(s1∣s1,a2)p(s2∣s1,a2)p(s3∣s1,a2)p(s4∣s1,a2)p(s5∣s1,a2)=0,=1,=0,=0,=0.
这样既有了紧凑的行间距,等号也对齐了。
⚠️ 我顺便把条件概率的竖线
|改成了\mid,能自动加一点间距,看起来更舒服。不改也没关系。
如果想不带对齐,单纯垂直居中排列
可以用 gathered 环境(每行都居中):
$$
\begin{gathered}
p(s_1|s_1, a_2) = 0,\\
p(s_2|s_1, a_2) = 1,\\
p(s_3|s_1, a_2) = 0,\\
p(s_4|s_1, a_2) = 0,\\
p(s_5|s_1, a_2) = 0.
\end{gathered}
$$
🔧 还想再紧一点?可以手动压缩行距
在各个 \\ 后面加一个可选间距,比如 \\[2pt](正数反而拉大,负数可收紧,但不建议太小),或者直接用 \\[-2pt]:
$$
\begin{aligned}
p(s_1 \mid s_1, a_2) &= 0,\\[-2pt]
p(s_2 \mid s_1, a_2) &= 1,\\[-2pt]
p(s_3 \mid s_1, a_2) &= 0,\\[-2pt]
p(s_4 \mid s_1, a_2) &= 0,\\[-2pt]
p(s_5 \mid s_1, a_2) &= 0.
\end{aligned}
$$
如果不需要这么细致,用默认间距就已经比独立 $$ 紧凑非常多了。
明白原因就好:单个 $$ 是段落,聚合到一个 $$ 就是一个整体,行间距自然受控。

6万+

被折叠的 条评论
为什么被折叠?



