# PDF 脚注转 Markdown：让标记、注释与引用保持对应

转换带注释的 PDF 后，检查脚注编号、链接、跨页续写以及 Markdown 渲染效果。

转换后文本里出现一个上标，并不代表脚注真的能用。要保住一条注释，标记、注释内容以及它所说明的那段正文必须仍然彼此对应。Markdown 还带来另一个问题：你用的编辑器是否认得表示这种对应关系的写法？

在重新整理文件之前，先核对原文中的对应关系。一个看似正确、却挂在错误注释上的编号，往往比漏掉注释更难发现。

## 核对标记与完整注释

在原文正文里挑一个标记，把它对应的注释完整读一遍。再到 Markdown 里把两者都找出来，确认注释的起止位置与原文一致，其中的引文、限定说明或续写部分也都在。

接着反过来做：从转换结果里挑一条注释，找到它所解释的原文句子。这样反向核对，能发现重复的注释，或者留在那里却没有有效指向的注释定义。

样本里要包含一条短注释、一条长注释，以及一条带引文的注释。只检查已经建立链接的注释，发现不了被整个漏掉的注释。还要翻看原文的对应页面；[脚注核查这篇文章](https://pdfcraft.ai/zh-CN/blog/jev-footnote-review/)说明了为什么需要从更大的范围去看。

## 分清标注写法与真正可用的链接

有些 Markdown 实现支持“引用加定义”式的脚注。下面是一个手写的示例：

```markdown
这段正文包含一处限定说明。[^sample]

[^sample]: 完整的注释内容写在这里。
```

这个例子只演示一种写法约定，并不代表 PDF Craft 的确切输出格式。[CommonMark](https://spec.commonmark.org/) 本身并没有为所有 Markdown 渲染器统一规定脚注语法。目标应用可能支持某个扩展，也可能把这段语法原样显示出来，或者采用别的组织方式。

如果导出结果用的是普通文本或链接，就先检查这种表示方式，不要急着把它改成另一种语法。重新编号时，标记和定义必须一起改，否则引用会断掉。

注意按章重新编号的情况。两处印着“1”的脚注标记可能指向不同的注释。你正在处理的 Markdown 必须保留这种区别，即使你决定另起一套内部标识符。

## 处理跨页的长注释

一条注释可能从某一页 PDF 的页脚开始，在下一页继续。判断注释在哪里结束之前，先把第一页最后一行原文与下一页的续写内容对照一下。

页眉、页码以及下一段正文都可能被误当成注释的一部分。反过来，续写的内容也可能被并进正文。要读足够多的上下文来判断某段文字到底属于哪里，不要因为两段文字挨得近就把它们拼在一起。

如果是尾注，检查存放注释定义的那一节，并从多个章节核对它的引用。文末排成一个普通列表，并不能证明每个标记都对应到了正确的条目。

在核查记录里保留页码和章节位置，尤其是同一套编号出现多次的时候。

## 在目标编辑器里预览并测试

在你打算长期保存这份 Markdown 的地方打开它。点一个标记，读一下跳转到的注释，再回到原来的句子。如果编辑器提供返回链接，确认它能回到正确的那一处。

例如，Obsidian 在[它的 Markdown 参考文档](https://obsidian.md/help/Editing%2Band%2Bformatting/Obsidian%2BFlavored%2BMarkdown)里列出了它支持的扩展。某个编辑器支持某种写法，并不代表另一个发布系统会以同样的方式处理它。

如果注释被渲染成代码或普通标点，先检查语法支持情况，再考虑改动注释内容。如果点开后跳到了错误的注释，就回到原文的对应关系上排查。渲染问题和识别问题，需要分别处理。

## 整理工作文件时保住注释

在 [PDF Craft 的 Markdown 工作流](https://pdfcraft.ai/zh-CN/pdf-craft/pdf-to-markdown/)里，选择 Markdown，并在提交前检查与脚注相关的设置。下载转换好的文件，把其中的注释与原文逐一对照。复杂注释的识别结果仍然需要人工核对，不要以为每一处跨页对应都准确无误。

把段落摘录到[研究笔记](https://pdfcraft.ai/zh-CN/blog/pdf-to-markdown-for-research/)时，连同引文一起带上必要的注释内容，并记下原始页码。只复制标记而不带注释，可能就保不住作者原本的意思。

把未经改动的导出文件与修改后的副本分开保存。整理好的 Markdown 应当能让你从一处限定说明追溯到它对应的原句和原始文档，而不只是显示出一串整齐的上标。

