在 Markdown、Word 与 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)和交叉引用。
pandoc -f markdown -t latex in.md -o out.tex # Markdown → LaTeX
pandoc in.md -o out.pdf --pdf-engine=lualatex # Markdown → PDFWord ↔ LaTeX
pandoc 也能处理 .docx:pandoc 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 保存为 .docx。GrindEQ 是付费的 Word↔LaTeX 转换器,尤其擅长 MathType 公式。
pandoc in.docx -o out.tex # Word → LaTeX
pandoc in.tex -o out.docx # LaTeX → Word(--reference-doc で体裁)现实中的注意点
来回转换是 有损的:复杂布局、自定义宏和复杂公式很少能完全保留。尽量把 Markdown/pandoc 作为干净的中间格式,预期输出还需要手工修正,并把 LaTeX 源文件作为最终正本保存。