脚注需用1标注并确保label无空格中文标点,文末用1: 内容声明,冒号后须空一格;多脚注可用数字或语义化ID,内容支持斜体链接代码但禁用标题列表等块级语法。label ↩

在 Markdown 文档中添加脚注,是为了让正文保持简洁、专业,同时又能为术语、数据来源或补充说明提供可点击跳转的详细内容。GitHub、GitLab、Typora、Obsidian 和多数现代编辑器都原生支持脚注语法,但写法稍有不慎就会导致不渲染或跳转失效。
基础脚注:两步写出可跳转的注释
第一步:在正文需要标注的位置插入引用标记,格式为 [^label],其中 label 可以是数字(如 1)或英文单词(如 source),【label 中不能含空格、中文、制表符或标点】。
第二步:在文档任意位置(通常放在文末)声明脚注内容,格式为 [^label]: 你的说明文字。注意冒号后必须有一个空格,否则不识别。
这一步操作起来很简单,直接把 [^source]: 来源见《2025 年开源报告》第 12 页。 写在文件底部就行。渲染后,正文中 [^source] 会变成上标 1,点击即可跳到底部,底部也有 ↩ 回链。
多脚注与长内容排版技巧
方法一:用纯数字 ID 实现自动编号(推荐用于顺序注释)
正文写 [^1]、[^2]、[^3];文末对应写 [^1]: 第一条说明。、[^2]: 第二条说明,可以换行,只要缩进一致就视为同一脚注。。注意:第二行及以后的内容必须缩进至少两个空格或一个 Tab,否则会被当成新段落。
离线Markdown转PDF转换器,基于Pandoc与WeasyPrint,支持完整Unicode及本地表情缓存,可将Markdown转为专业级PDF...
方法二:用语义化单词 ID 区分类型(适合混用参考、术语、补充)
比如 [^def-api] 表示术语定义,[^ref-2024] 表示文献引用。这样后期查找和维护更清晰,也避免编号错乱。
方法三:在脚注内嵌套格式(斜体、链接、代码)
脚注内容支持大部分 Markdown 语法:[^cli]: 使用 <code>mdbook build 命令生成静态站点,详见 [官方文档](https://rust-lang.github.io/mdBook/)。但注意:脚注里不能写标题(#)、列表(-)、块引用(>)或表格,否则会中断渲染。
常见失效原因与修复步骤
第一步:检查引用标记和声明是否拼写完全一致——[^foot] 和 [^foot ]:(末尾多一个空格)是两个不同 ID,不会关联。
第二步:确认脚注声明后紧跟一个换行,且冒号后有且仅有一个空格,再接内容。写成 [^a]:文本(无空格)或 [^a]: 文本(多个空格)都可能导致部分编辑器不识别。
第三步:若使用 Typora 或 Obsidian,打开「偏好设置 → Markdown → 启用脚注」;GitHub/GitLab 无需开启,但要求脚注声明不能嵌套在列表、引用块或表格内部——【脚注声明必须位于普通段落层级】。

















