Markdown / Word

MarkdownWord 与 LaTeX 之间转换文档时,主力工具是通用转换器 pandoc。针对 Word 也有一些专门工具。本页介绍 pandoc 以及 Word ↔ LaTeX 的可选方案。

Markdown ↔ LaTeX — pandoc

pandoc(John MacFarlane 编写)可以在 Markdown、LaTeX、HTML、docx 等格式之间转换。用 -f--from)和 -t--to)指定格式:pandoc -f markdown -t latex in.md -o out.tex。它也能通过 LaTeX 引擎 直接生成 PDF--pdf-engine=lualatex。输出的 LaTeX 可用 --template 调整,文档内容可通过 Lua 过滤器(改写 AST)转换。pandoc 的 Markdown 支持 LaTeX 数学、引用(--citeproc + .bib)和交叉引用。

terminal
pandoc -f markdown -t latex in.md -o out.tex   # Markdown → LaTeX
pandoc in.md -o out.pdf --pdf-engine=lualatex  # Markdown → PDF

Word ↔ LaTeX

pandoc 也能处理 .docxpandoc in.docx -o out.tex(Word → LaTeX/Markdown 导入),pandoc in.tex -o out.docx(LaTeX → Word 导出,样式通过 --reference-doc 指定)。这是最简单的免费路线。writer2latex 是开源工具,可把 LibreOffice/OpenOffice 文档(也包括通过 LibreOffice 打开的 Word 文档)转换为 LaTeX。oolatex(tex4ht 的命令)走相反方向:LaTeX → ODT,再由 LibreOffice 保存为 .docxGrindEQ 是付费的 Word↔LaTeX 转换器,尤其擅长 MathType 公式

terminal
pandoc in.docx -o out.tex    # Word → LaTeX
pandoc in.tex  -o out.docx   # LaTeX → Word(--reference-doc で体裁)

现实中的注意点

来回转换是 有损的:复杂布局、自定义宏和复杂公式很少能完全保留。尽量把 Markdown/pandoc 作为干净的中间格式,预期输出还需要手工修正,并把 LaTeX 源文件作为最终正本保存。