跳到主内容

← 返回文章列表

在浏览器里批量转换学术论文:Markdown 加 APA 引用

写稿在 Word 里,发表却越来越多地发生在 Markdown 里。这篇指南搭一条批量管线:一个文件夹的 docx 论文一次转完,每张图都带着走,引用在 APA 或任何其他样式下依然能正确排版。

组成件是批量转换器、pandoc 的 citeproc 引擎和一个结构化参考文献文件。引用是唯一需要在转换前就做好准备的部分,所以本指南中段把主要篇幅都留给了它。

Word 存稿,Markdown 见刊

多数学者仍然用 Word 写稿:合作者熟悉它,期刊接受它,修订痕迹已经长在每个人的习惯里。但论文真正落脚的地方越来越多说的是另一种语言:实验室 wiki、机构知识库、支持 Markdown 的预印本平台、用 git 管理的稿件项目,全都想要能 diff、能套模板的纯文本。

能规模化的工作流是批量的:把一整个文件夹的草稿丢进转换器,让每个文件变成带图片的 .md,然后人工润色。一篇一篇手工转,脚注编号会漂移,图片路径会烂掉。自动化让草稿堆和成品堆始终保持同步。

批量工作流

本站转换器一次接受一批 docx 文件。每个文件成为队列里的一个任务,有独立状态:排队、转换中、完成,或失败并给出原因。全程不上传,因为 pandoc 引擎以 WebAssembly 形式在浏览器内运行,未发表的稿件从不离开你的机器。

队列跑完后,把所有结果打包成一个 ZIP 下载。里面每个源文档一个子目录,装着转换后的 Markdown 和该文档自己的 media 图片文件夹。按文档隔离对论文尤其重要,因为每个 Word 文件的图片都从 image1、image2 重新命名。

两个习惯能让批量跑得很顺:第一,转换前先把文件名起好,输出名沿自源文件名;第二,先用小批量试出合适的选项,抽查无误后再放全量文件夹进场。

引用才是真正的难点

标题、表格、公式都能转得不错,引用不行,问题出在 Word 的存储方式。Word 引文工具生成的参考文献,或从文献管理器粘贴进来的文献表,本质上都是排版好的文本:在文档里看着没错,却没有指回文献记录的结构化链接。

转换这种文档,得到的就是一段普通段落,冻结在写作当天所用的样式上。换一个目标期刊,每条文中引用都得手工调整。解决办法是在转换之前就把引用迁移成结构化数据,而不是之后。

九十秒搞懂 citeproc

pandoc 的引用引擎叫 citeproc。思路是:参考文献住在一个文献库里,通常是 .bib 后缀的 BibTeX 文件,每条记录有一个键,比如 smith2020field。正文中写下 at 符号加这个键,想要括号内引用时再用方括号把它包起来。

转换时,citeproc 会把每个键替换成排版好的引用,并在输出末尾附上排好版的参考文献表。排版规则来自 CSL 文件,一种小型 XML 样式描述,成千上万种期刊都有现成文件可用。

这正是 Zotero、JabRef 这类文献管理器在导出时所走的同一套机制,也是为什么这一次投入能带来长期回报:同一个 .bib 文件,今天驱动 Word 稿件,明天驱动 Markdown wiki,一条记录都不用重录。

用 CSL 文件输出 APA

不给样式文件时,pandoc 默认用 Chicago author-date。要 APA,就从官方 citation-style-language 样式仓库下载 APA 第七版的 CSL 文件,把它和文献库一起交给转换器。本站的 Pro 引用选项接受一个文献库加可选 CSL 样式,citeproc 在 worker 内运行,依然全程在浏览器里。

拿到结果对照手册检查:author-date 引用位置是否正确、参考文献表是否在文末、页码是否出现在样式要求的地方。小的偏差通常能追溯到 .bib 条目不全、缺 DOI,或者用了一份过时的 APA 样式文件。

公式能活着过去

Word 用 OMML 存原生公式,pandoc 能读它,所以转换后的论文带的是真数学而不是截图。Markdown 输出用美元符号定界符包住行内公式,展示公式单独成行;LaTeX 输出则直接产生对应的数学环境。

转换后检查两件事:一是 Word 里排得含混的行内公式,比如被压进一行的分式;二是公式编号,Markdown 对此没有原生概念。要去 Markdown 平台发表的编号公式,通常得靠发布系统打标签,转换器管不了这一层。

表格和图要慢慢看

表格值得放慢速度过一遍。简单网格会转成 GitHub 和 Obsidian 都能渲染的管道表格,但合并单元格、多段落的单元格无法用这种语法表达,pandoc 会退回到那些平台不认识的 Markdown 方言。复杂表格先在 Word 里拍平再转。

图会带着图注转成图片引用加一行文字,这一般没问题,但要确认每个媒体文件真的在 ZIP 里,且没有 EMF 或 WMF 形态的图——浏览器显示不了的格式,得回 Word 里转一道 PNG。

自动化管不到的地方

三个边界值得点名。老式 .doc 不受支持,旧稿先另存为 .docx。Word 自己管理的文献表仍是纯文本,迁移意味着把条目录进 .bib 文件,或从当初生成它的文献管理器重新导出。

另外,如果 LaTeX 期刊要的是 natbib 命令而不是排版好的引用,citeproc 的输出满足不了,那就得用命令行 pandoc 加相应参数。除此之外,批量转换加一份维护良好的 .bib 文件,足以覆盖从 Word 草稿到带引用 Markdown 的日常往返。

继续阅读

批量转换我的论文