📝 Pandoc Markdown 转 Word

📝 Pandoc Markdown 转 Word

0. 准备工作

  • 安装 Pandoc下载地址
  • 适用场景:将 LLM 生成的 Markdown(含 LaTeX 公式、表格、代码)无损转换为可编辑的 Word 文档。

1. 基础模式:直接转换

如果不关心字体、行距等排版,仅需要将内容快速转为 Word 格式。

命令语法:

powershell 复制代码
pandoc <输入文件.md> -o <输出文件.docx>

示例:

powershell 复制代码
pandoc paper.md -o draft.docx

特点:使用 Pandoc 默认样式(通常是宋体/Times,单倍行距),公式会自动转换为 Word 原生公式对象。


2. 进阶模式:使用 Reference Doc (推荐)

通过指定一个"参考文档(Reference Document)",让 Pandoc 生成的新文档自动继承该参考文档的样式(字体、字号、页边距、标题格式等)。

场景 A:使用现有的完美文档作为模板(最快捷)

如果你手头已经有一篇排版完美的论文(例如 Mamba4Rec.docx),可以直接把它当作模板。Pandoc 只会读取它的样式库,而忽略里面的文字内容。

命令语法:

powershell 复制代码
pandoc <输入.md> --reference-doc=<你的完美文档.docx> -o <输出.docx>

示例:

powershell 复制代码
# 新文档 new_paper.docx 将自动拥有 Mamba4Rec.docx 的所有排版格式
pandoc section2.md --reference-doc=Mamba4Rec.docx -o new_paper.docx

场景 B:从零制作专用模板

如果你没有现成的文档,或者想做一个干净的专用模板。

  1. 导出默认模板 (文件名 reference.docx 是固定关键词,不可更改):

    powershell 复制代码
    pandoc --print-default-data-file reference.docx > my-template.docx
  2. 修改模板样式

    • 打开 my-template.docx
    • Ctrl + Shift + S 打开样式窗口。
    • 修改 "正文" (字体、行距)、"标题 1-3" (加粗、段间距) 等样式。
    • 保存并关闭。
  3. 使用该模板转换

    powershell 复制代码
    pandoc paper.md --reference-doc=my-template.docx -o final.docx

3. 常见问题与避坑指南

💡 样式修改提示

  • 修改哪里? 不要直接修改模板里的文字,要修改 Word 的 "样式库" (Styles Gallery)
  • 公式字体 :Word 公式的字体通常跟随"正文"样式中的西文字体 设置,建议在正文样式中指定 Times New Roman
  • 页边距 :Pandoc 也会读取参考文档的页面布局(页边距、纸张大小),改一次模板即可永久生效。