# Pandoc

利用 Pandoc 读取 tex 源码并输出 docx 文件

# 安装

Pandoc 下载地址:Pandoc

按默认配置安装即可

# 使用

步骤:

  • 配置路径:打开 cmd ,切换到需转换的 LaTeX 文件所在的路径

  • 转换:在 cmd 中输入转换命令

命令模板(不可执行):

pandoc main.tex -o output.docx ^
    --reference-doc template.docx ^
    --filter pandoc-crossref -M tableEqns -M autoEqnLabels ^
    --resource-path=.;Figures ^
    --bibliography ref.bib ^
    --citeproc ^
    --csl references_style.csl ^
    -M reference-section-title=Reference ^
    --number-sections ^
    --toc

相关命令及参数介绍:

  • main.tex :输入 LaTeX 文件名

  • -o output.docx :输出 Word 文件名

  • --reference-doc template.docx :参考模板 Docx 文件,可从 IEEE article template 下载【可选】

  • --filter pandoc-crossref :用于公式、图片、表格等的交叉引用【可选】

    • 需要从 Github 下载 pandoc-crossref ,并将 pandoc-crossref.exe 放到 Pandoc 的安装目录中
    • -M tableEqns -M autoEqnLabelsautoEqnLabels 为公式编号, tableEqns 以表格形式显示公式编号(即:创建一个两列表,将公式放在左边列,将公式编号放在右边列)(具体可查看 pandoc-crossref 文档
  • --resource-path=.;Figures :指定 tex 源图片的存放文件夹

    • .;Figures. 表示当前工作目录, ; 是 Windows 系统的分隔符(Linux、Unix、macOs 用 : ), Figures 是存放 tex 源图片的子文件夹的名称
    • eps、pdf 等格式无法正常转化进 Word 文件,需提前将图片转为 jpg 等格式
  • --bibliography ref.bib :参考文献 bib 文件 【可选】

  • --citeproc :用于参考文献的引用 【可选】

  • --csl references_style.csl :参考文献的样式文件,可从 Zotero Style Repository 下载 【可选】

  • -M reference-section-title=Reference :添加参考文献的章节名 【可选】

  • --number-sections :用于章节自动编号 【可选】

  • --toc :生成目录 【可选】

详细信息请查看:Pandoc User's Guide

示例:

pandoc input.tex --filter pandoc-crossref -M tableEqns -M autoEqnLabels --bibliography ref.bib --citeproc --csl ieee-wireless-communications-letters.csl --resource-path=.;Figures --number-sections -M reference-section-title=Reference -o output.docx

# 注意事项

  • * 的图表不能正确转化,例如: \begin{figure*} 应改为 \begin{figure}

  • 表格中带子 tabular 的不能正确生成

  • 由于 pandoc-crossref 使用与 citeproc 相同的引用语法,因此,pandoc-crossref 相关命令必须放在 citeproc 前面

  • LaTeX 伪代码算法无法正常转化,可通过第三方工具实现(例如:Aurora 插件)

经测试,图片、表格、章节的交叉引用可以显示编号,但公式的交叉引用无法显示编号(无论是 \ref 命令还是 \eqref 命令都无法显示)。

# 参考资料

Pandoc:

  • Pandoc: LaTeX 转 Word 文档 (含参考文献样式)
  • pandoc LaTeX 转 Word (.docx) 踩坑记录
  • Windows 下 Pandoc 转换 LaTex 成 Word 最全指令
  • 用 Pandoc 生成大型中文文档的痛点与解决方案

Aurora:

  • Aurora:在 Word 中插入算法伪代码、表格和公式
  • 使用 Aurora 在 Word 中插入算法伪代码教程
  • 使用 Aurora + Algorithm2e 在 Word 中输入伪代码

# Acrobat

直接使用 Adobe Acrobat Pro DC 软件将 PDF 文件转换成 Word 文件

除部分公式无法准确转换外,其余的转换效果都挺不错的

可以考虑将 Acrobat 与 Pandoc 结合使用,取长补短

阅读次数