Pandoc
通过统一文档 AST 转换 Markdown、Word 等格式的命令行工具,支持样式参考、引文处理和过滤器。
#writing
#resource
#evergreen
#tool
#cli
Pandoc
Pandoc 是开源文档转换工具。它用 reader 将输入解析为中间文档结构(AST),再由 writer 输出目标格式;Lua 过滤器等可以在转换过程中修改结构。
它适合把一份结构化内容输出为不同格式,不是任意文档布局的无损复制工具。源格式中无法用 AST 表达的内容、复杂布局和自定义命令可能丢失或改变。
Markdown 转 Word
在已安装 Pandoc 的环境中,可以生成默认样式参考文档:
pandoc -o custom-reference.docx --print-default-data-file reference.docx
用 Word 或 LibreOffice 修改其中 Pandoc 使用的样式,如 Heading 1、Body Text、Bibliography,再转换正文:
pandoc thesis.md -o thesis.docx --reference-doc=custom-reference.docx
参考文档提供样式和部分文档属性(包括页边距、纸张、页眉页脚),其正文被忽略。因此不能仅把学校样例删空,就保证封面、分节、目录、图表编号与全部规范都被继承。应将要求落实到对应样式,并检查生成结果。
引文、公式与 PDF
有 references.bib 和合适的 CSL 样式文件时,可使用:
pandoc thesis.md -o thesis.docx --citeproc --bibliography=references.bib --csl=style.csl --reference-doc=custom-reference.docx
正文以 [@smith2023] 引用数据库中的实际条目。引文是否为上标、文献顺序和标点由 CSL 等设置决定;--citeproc 本身不自动选择国标,也不验证文献真实性。
受支持的 TeX 数学语法可以转为 Word 的 OMML 公式,但不是任意 LaTeX 宏包或命令都能转换。代表性的公式、表格、图注和引用应逐项抽查。
生成 PDF 通常还要调用外部 PDF 引擎,例如 LaTeX 或 HTML 到 PDF 的工具;安装 Pandoc 不等于已经安装这些依赖。使用哪条路径应按输出需求和 --pdf-engine 配置确定。
使用边界
- 保留 Markdown、图片、文献库、CSL 和样式参考文档,方便重建。
- 转换后检查标题层级、分页、图片、公式及引用;生成 DOCX 不等于已经满足交稿要求。
- 复杂封面、表单或特殊 Word 布局可能需要后处理,不能仅凭转换成功判断无损。
- AI 辅助写作与格式转换是不同步骤;工具不核实正文中的论据、实验和引用。
[!info] related notes
- Word 样式
- Word 题注与交叉引用
- 使用 AI 辅助完成毕业论文流程
- LaTeX:PDF 输出的一类工具链。