脚注
Markdown脚注语法:定义方式、引用格式与多平台兼容性。
1. 脚注概述
1.1 什么是脚注
脚注(Footnote)允许在文档中添加补充说明,读者可以点击上标标记跳转到文末的详细注释。脚注常用于:
- 学术论文中的引用来源
- 技术文档中的补充说明
- 长文中的额外细节,避免打断正文阅读流
1.2 脚注与尾注
| 类型 | 位置 | 适用场景 |
|---|---|---|
| 脚注 | 页面底部 | 学术论文、技术文档 |
| 尾注 | 文档末尾 | 书籍、长篇报告 |
| 行内注释 | 紧跟正文 | 简短补充 |
Markdown 中的脚注实际上是尾注——所有脚注内容统一显示在文档末尾。
2. 脚注语法
2.1 基本语法
这是一段正文[^1],其中包含脚注引用。
也可以使用描述性标签[^note]。
[^1]: 这是第一个脚注的内容。
[^note]: 这是描述性标签的脚注内容。
渲染效果:
- 正文中的
[^1]显示为上标数字 [^1] - 点击上标可跳转到文末脚注
- 文末脚注带有返回链接
2.2 脚注定义规则
<!-- 规则一:脚注定义可放在文档任意位置 -->
正文内容[^1]。
<!-- 脚注定义可以放在文档末尾 -->
[^1]: 脚注内容。
<!-- 规则二:脚注定义需要空行分隔 -->
[^1]: 第一个脚注。
[^2]: 第二个脚注。
<!-- 规则三:多行脚注使用缩进 -->
[^long]:
这是第一行。
这是第二行(缩进4个空格)。
这是第三行。
2.3 脚注标签类型
| 类型 | 语法 | 显示效果 | 适用场景 |
|---|---|---|---|
| 数字标签 | [^1] | [1] | 顺序引用 |
| 描述标签 | [^source] | [source] | 语义化引用 |
| 混合使用 | [^1] [^note] | 各自显示 | 灵活场景 |
3. 多平台支持
3.1 支持情况
| 平台 | 支持脚注 | 语法 | 说明 |
|---|---|---|---|
| GitHub | [^1] | 2023 年开始支持 | |
| GitLab | [^1] | 原生支持 | |
| Obsidian | [^1] | 原生支持,支持行内脚注 | |
| Typora | [^1] | 原生支持 | |
| Hugo | [^1] | 需配置 | |
| Jekyll | [^1] | 需插件 | |
| CommonMark | — | 标准不支持 | |
| GFM 基础 | — | 基础规范不支持 |
3.2 GitHub 脚注
GitHub 于 2023 年正式支持脚注语法:
GitHub 现在支持脚注了[^1]!
[^1]: 2023年1月,GitHub 宣布支持脚注语法。
GitHub 脚注特性:
- 脚注内容显示在文档底部
- 点击上标跳转到脚注
- 脚注旁有返回箭头
- 数字标签自动编号
3.3 Obsidian 脚注
Obsidian 支持标准脚注语法,还支持行内脚注:
<!-- 标准脚注 -->
正文内容[^1]。
[^1]: 脚注定义。
<!-- 行内脚注(Obsidian 特有) -->
正文内容^[这是行内脚注,无需单独定义。]
4. 脚注高级用法
4.1 多次引用同一脚注
TypeScript[^ts] 是 JavaScript 的超集。
TypeScript[^ts] 添加了静态类型检查。
[^ts]: TypeScript 由 Microsoft 开发,2012 年首次发布。
同一脚注可以多次引用,渲染时使用相同的上标标记。
4.2 脚注中的 Markdown
脚注内容支持行内 Markdown 语法:
正文引用[^api]。
[^api]: 参见 [API 文档](https://example.com/api) 中关于 `fetch()` 方法的说明。
4.3 学术引用格式
根据 Smith 等人的研究[^smith2023],深度学习在自然语言处理领域取得了显著进展。
[^smith2023]: Smith, J., et al. "Deep Learning for NLP: A Survey." _Journal of AI Research_, vol. 45, 2023, pp. 123-156.
5. 替代方案
5.1 不支持脚注时的替代
当目标平台不支持脚注时,可以使用以下替代方案:
方案一:行内链接
根据研究[1],结论如下。
[1] Smith, J. "Deep Learning Survey." 2023.
方案二:HTML 锚点
根据研究<a href="#ref1">[1]</a>。
<a name="ref1"></a>
1. Smith, J. "Deep Learning Survey." 2023.
方案三:引用块
根据研究[1],结论如下。
> **[1]** Smith, J. "Deep Learning Survey." 2023.
5.2 Pandoc 脚注
Pandoc 支持更丰富的脚注语法:
<!-- 行内脚注 -->
正文^[这是行内脚注。]
<!-- 引用式脚注 -->
正文[^cite]
[^cite]: Smith, J. "Paper Title." 2023.