第 9 章:脚注与定义
学术论文有脚注,你的文档也可以。本章学习如何在 Markdown 中添加脚注、定义列表和注释。
学习目标
- 掌握脚注的添加方式
- 了解定义列表的写法
- 学会在 Markdown 中添加不渲染的注释
9.1 脚注(Footnotes)
脚注允许你在不打断正文的情况下添加补充说明,类似于学术论文的脚注。
基本用法
markdown
这里有一个需要说明的概念[^1]。
[^1]: 这是脚注的详细解释。渲染效果(在支持的平台上): 这里有一个需要说明的概念^1。
语法要点
- 引用:在正文中用
[^标识]引用脚注 - 定义:在文档任意位置用
[^标识]: 内容定义脚注内容 - 标识:可以用数字、单词或任意字符串作为标识
- 位置:脚注定义可以放在任何地方,但通常会集中放在文档末尾
多个脚注
markdown
Markdown 由 John Gruber[^gruber] 和 Aaron Swartz[^swartz] 共同创建。
[^gruber]: John Gruber,知名博客 Daring Fireball 的作者。
[^swartz]: Aaron Swartz,程序员、作家、互联网活动家。脚注可以包含多行内容
markdown
某个需要详细说明的术语[^term]。
[^term]: 这是一个多段落的脚注。
第二段需要缩进四个空格。
还可以包含代码示例:
```python
print("Hello from footnote!")
```⚠️ 兼容性提示:脚注不是 GFM 核心规范的一部分,但 GitHub 从 2022 年开始支持。Typora、Obsidian、Notion 等现代编辑器均已支持。在不支持的平台上,脚注会和正文混在一起,不会自动排版到页面底部。
9.2 定义列表(Definition Lists)
定义列表适合展示「术语—定义」的对应关系,比如词汇表、API 参数表:
markdown
术语 1
: 这是术语 1 的定义。
术语 2
: 这是术语 2 的定义。
: 一个术语也可以有多个定义。渲染: 术语 1 : 这是术语 1 的定义。
术语 2 : 这是术语 2 的定义。 : 一个术语也可以有多个定义。
实际示例:API 参数定义
markdown
`name`
: 用户名称,String 类型,必填。
`age`
: 用户年龄,Integer 类型,选填。
: 取值范围:1-150。⚠️ 兼容性提示:定义列表是 Markdown Extra / PHP Markdown 的扩展语法,GitHub 不原生支持。在 GitHub 上建议用表格或普通段落替代。Typora、Obsidian、Pandoc 支持。
9.3 缩写定义(Abbreviations)
为常用的缩写提供全文解释:
markdown
HTML 规范由 W3C 维护。
*[HTML]: Hyper Text Markup Language
*[W3C]: World Wide Web Consortium在支持的编辑器中,缩写会在鼠标悬停时显示完整释义。
⚠️ 兼容性提示:缩写定义仅少数编辑器支持(如 PHP Markdown Extra),GitHub 不支持。建议在首次使用时直接用括号标注:
W3C (World Wide Web Consortium)。
9.4 HTML 注释
在 Markdown 中添加不会渲染的注释:
markdown
这是可见的正文。
<!-- 这是注释,不会在渲染结果中显示 -->
这也是可见的正文。注释的实际用途
markdown
<!-- TODO: 补充 API 版本兼容性说明 -->
<!-- 以下内容待产品经理确认后发布
## 新功能预览
- 功能 A
- 功能 B
-->
<!-- 注意:此段落在 v2.0 中已废弃,保留至 v2.1 -->💡 最佳实践:用注释标记待办事项、版本说明、作者备注。配合 Git 使用效果更佳——注释中的 TODO 可以在代码审查中追溯。
9.5 语法速查
| 语法 | 写法 | 平台支持 |
|---|---|---|
| 脚注 | [^标识] + [^标识]: 内容 | GitHub ✅ / Typora ✅ |
| 定义列表 | 术语 + : 定义 | GitHub ❌ / Typora ✅ |
| 缩写 | *[缩写]: 全称 | GitHub ❌ / Typora ✅ |
| 注释 | <!-- 注释 --> | 所有平台 ✅ |
本章小结
| 要点 | 说明 |
|---|---|
| 脚注 | [^1] 引用 + [^1]: 定义,GitHub 和主流编辑器均已支持 |
| 定义列表 | 适合术语解释,但 GitHub 不支持 |
| 注释 | <!-- --> 语法,兼容性最好,推荐用于 TODO 标记 |
| 兼容性 | 需要根据目标平台选择使用哪些语法 |
下一章预告
基础语法已经全部学完。接下来是本书最有「技术含量」的一章——扩展语法,包括数学公式、Mermaid 流程图和表情符号。