场景解决方案2026年8月9日

Markdown 进阶语法:公式、流程图、折叠这些高级写法

会了标题、列表、表格之后,怎么在 Markdown 里写数学公式、用文字画流程图、做可折叠内容、打上下标?本文讲清 6 个进阶语法,每个都给源码 + 真实渲染效果截图,并说明哪些是通用语法、哪些依赖具体渲染器,附可复制到在线编辑器练习的例子。

掌握标题、列表、表格后,Markdown 还有一批进阶语法能让文档更专业:LaTeX 写数学公式、Mermaid 用文字画流程图、<details> 折叠冗长内容、上下标写化学式与幂次。这些属于扩展语法、依赖渲染器支持,用之前要看目标平台。本文每个都给源码 + 真实渲染效果截图,并附可复制练习的例子。

Markdown 进阶语法:公式、流程图、折叠、上下标

什么算「进阶」语法?哪些人需要?

进阶语法指标题、列表、表格这些「核心语法」之外的扩展写法:数学公式、流程图、上标下标、可折叠区块、脚注、高亮等。它们的共同特点是不属于最初的 Markdown 规范,而是各渲染器后来扩展的,所以支持程度参差不齐——同一段源码,有的平台渲染成漂亮的图,有的原样显示一堆符号。

需要它们的通常是特定人群:写论文、做笔记的人要数学公式;程序员和产品要流程图、时序图;写长文档的人要折叠区块。如果你只是写博客正文或周报,多数用不上——这也正是把它们单独归为「进阶篇」的原因。还不会标题、列表、表格的,请先读Markdown 高频语法,再回来看扩展。关键前提:用之前先确认目标平台是否渲染,否则读者只会看到原始符号。

怎么写数学公式(LaTeX)?

数学公式用 LaTeX 语法:行内公式用一对美元符号 $...$块级公式(独占一行、居中)用两对 $$...$$。前提是渲染器加载了 KaTeX 或 MathJax,否则只会显示原始文本。

markdown质能方程 $E = mc^2$ 是行内公式。

下面是块级公式:

$$
x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
$$

LaTeX 数学公式的渲染效果

常用记号:^ 表上标(x^2)、_ 表下标(a_1)、\frac{}{} 分数、\sqrt{} 根号、\pm 正负号、\sum 求和。写论文、理科笔记时,这比在 Word 里点公式编辑器快得多。渲染不出来或要发到聊天里时,不要把源码直接粘出去,把单条公式导出成图更稳,做法见公式发给别人怎么不变成代码

流程图、时序图怎么用文字画(Mermaid)?

Mermaid 让你用文字描述来生成图:在代码块里把语言标成 mermaid,再写节点和箭头(如 A --> B),支持的渲染器就会自动画成流程图、时序图、甘特图等。它的好处是图变成了可版本管理的文本,改一行就能调整结构,不用重新拖拽画布。

markdown```mermaid
flowchart LR
  A([开始]) --> B{条件判断}
  B -- 是 --> C[执行 A]
  B -- 否 --> D[执行 B]
  C --> E([结束])
  D --> E
```

Mermaid 流程图的渲染效果

flowchart LR 表示从左到右布局(TD 是从上到下);[] 是矩形节点、{} 是菱形判断、([]) 是圆角。公众号、小红书这类平台不渲染 Mermaid 源码,需要先在能跑 Mermaid 的预览里渲好、导出 PNG 再插回文档。

怎么做可折叠的内容(details)?

可折叠区块用 HTML 的 <details> 标签实现:把要折叠的内容包在 <details> 里,用 <summary> 写默认显示的标题,点击标题才展开。因为 Markdown 兼容行内 HTML,所以这段直接写 HTML 即可;给 <details> 加上 open 属性可以让它默认展开。

markdown<details open>
<summary>点我展开完整报错日志</summary>

这里是被折叠的内容,可以放很长的日志、代码或补充说明。

</details>

可折叠 details 区块的渲染效果

折叠区块适合放冗长但非必读的内容:完整报错、附录、剧透、可选步骤。注意 <summary> 后要空一行再写正文,里面的 Markdown 才能正常渲染。它依赖 HTML 支持,GitHub 和多数编辑器都能用,但公众号等富文本平台可能会被过滤。

上标、下标怎么写?顺便看看「扩展语法」的坑

上标用 ^文字^(如 m^2^)、下标用 ~文字~(如 H~2~O),写化学式、数学幂次很方便。高亮通常写作 ==文字==,但它并非所有渲染器都支持——下面这张截图正好能看到这个坑。

markdown水的化学式是 H~2~O,面积单位是 m^2^。

这段话里有 ==需要重点标注== 的内容。

上标、下标渲染成功,高亮未生效的对比

看截图:H~2~Om^2^ 正确渲染成了下标和上标,但第二行的 ==需要重点标注== 原样显示了两个等号——因为这个编辑器没启用高亮扩展。这就是进阶语法最典型的现象:同一份源码,换个渲染器结果就不同。遇到不支持的扩展,上下标可退回用 LaTeX(H_2Om^2)实现,高亮可退回用加粗代替。

在 Markdown 里直接写 HTML 行不行?

可以。Markdown 的设计允许混入原始 HTML,Markdown 语法搞不定的排版(如给文字上色、设置居中)就直接写 HTML 标签,渲染器会原样输出。上一节的 <details> 折叠就是这个机制。

markdown这是普通段落。

<p style="color: #e11d48; text-align: center;">这行是居中的红色文字(用 HTML 实现)。</p>

需要注意两点:一是安全渲染器会过滤危险标签(如 <script>),二是不同平台对 HTML 支持不同——本地编辑器、GitHub 支持较好,公众号、部分静态博客会清洗掉样式。所以 HTML 混排适合自己可控的场景,跨平台发布前要实测。

转义:想显示 * # 符号本身怎么办?

当你想显示 *#` 这些符号本身、而不是触发语法时,在符号前加一个反斜杠 \ 转义即可。比如写 \* 会显示星号而不是变成斜体。

markdown我想显示星号本身:\*不倾斜\*,以及井号 \# 和反引号 \`

常见于写「五颗星 *****」「价格 $100」,或在教程里展示 Markdown 语法本身时。记不住也没关系,用得到时查一下即可。

脚注怎么写?

脚注用 [^标记] 在正文里占位,文末再用 [^标记]: 注释 写出内容,适合放出处或补充,不想打断阅读节奏时用。它属于扩展语法:GitHub 和不少静态博客能渲染,微信公众号后台通常会丢掉。

markdown这里引用了一项说明[^1]。

[^1]: 脚注正文写在文末,多数渲染器会生成跳转。

只在目标平台确认能跳转时再用;不确定就改成括号里的一句说明,或把出处放进正文。

进阶语法速查与兼容性

各进阶语法的写法和常见环境实测(以常见默认配置为准,插件会改变结果):

语法 写法 GitHub 常见笔记软件 微信公众号后台
行内/块级公式 $...$ / $$...$$ 部分写法可用 多数需开公式引擎 不认源码
流程图 ```mermaid 能渲染 看是否集成 Mermaid 不认源码
折叠 <details> 能渲染 多数可以 标签常被滤掉
上标/下标 ^x^ / ~x~ 不稳定 看扩展 不支持
高亮 ==文字== 通常不支持 看扩展 不支持
脚注 [^1] 能渲染 看软件 通常丢掉
转义 \* 无意义(不认 MD)

边界:什么时候别用这些语法

进阶语法虽好,但跨平台发布时是主要的踩坑来源。如果最终要发到公众号、小红书或某个不确定是否支持的平台,公式、Mermaid、高亮、脚注很可能显示为一堆原始符号或空白。此时更稳的做法是:把公式和流程图先渲染成图片再插入,用普通文字或加粗代替高亮。

判断原则很简单:内容自己可控(本地笔记、GitHub、支持这些扩展的博客)就放心用;要投递到第三方平台,先实测或降级成图片。 需要左右分栏预览公式和 Mermaid 时,可以把例子贴进 Markdown 在线编辑器 试一遍,确认目标平台再决定是否出图。

小结

Markdown 进阶语法的核心是:公式 $...$ / $$...$$、流程图 ```mermaid、折叠 <details>、上标下标 ^x^ / ~x~、脚注、HTML 混排、转义 \。它们能提升文档专业度,但大多依赖渲染器,跨平台发布前先确认,不确定就降级成图片。

相关问法请走对应文章:

常见问题

不一定。数学公式、流程图、上标下标、高亮属于扩展语法,依赖具体渲染器:支持 KaTeX/Mermaid 的编辑器能渲染,但很多简易预览器或公众号后台不支持,会显示成原始符号。写之前先确认目标平台,或先把公式、流程图转成图片再插入,兼容性最稳。