使用 ACM 模板通过 Pandoc 将 TeX 转换为 DOCX

使用 ACM 模板通过 Pandoc 将 TeX 转换为 DOCX

由于不幸的原因,我需要将 latex 文档转换为 word。该文档是使用 ACM 模板创建的 (可在此处获得)我读过关于面包的文章潘多克我希望用它来处理转换。

我迅速启动了终端,通过 homebrew(此处为 OS X 用户)安装了 pandoc,并下载了模板(见上面的链接)以测试转换过程。然而,尽管进行了多次尝试和大量谷歌搜索,我仍然无法弄清楚如何告诉 pandoc 使用提供的模板(以 .cls 文件形式提供)来正确呈现文档。

我尝试过运行:

pandoc -f latex -t docx  sig-alternate.tex --biblatex --bibliography sigproc.bib -o sig-alternate.docx

以下是 pandoc 生成的 .docx 与通过 MacTeX 生成的 pdf 的并排比较:

比较-pdf-doc

我显然遗漏了一些步骤。有人能告诉我吗?谢谢!

答案1

Pandoc 不能使用以 *.csl 文件提供的模板来设置其 DOCX 输出的样式。

如果您想使用一组特定的样式来获取 Pandoc,则需要创建(或获取)另一个包含这些样式的 DOCX 文件。请注意,样式名称首先需要符合标准名称。(过去,我成功地让它在将其中一种标准样式设置为强制执行另一种样式的情况下使用非标准样式名称,例如“下一段”中的 fe...)。

要添加的命令行选项是--reference-docx=...

另外,请务必使用最新版本的 Pandoc。它对 DOCX 的支持非常新,并且仍在快速发展。

Pandoc 的命令是:

  pandoc sig-alternate.tex                \
       --from=latex                       \
       --to=docx                          \
       --biblatex                         \
       --bibliography sigproc.bib         \
       --output=sig-alternate.docx        \
       --reference-docx=my-reference.docx

另一个提示:如果直接转换不能让您满意(可能有些地方看起来不正确),您应该按如下方式进行:

  1. 首先将 LaTeX 转换为 Markdown(也借助 Pandoc)。
  2. 编辑生成的 Markdown(请参阅man pandoc_markdownman pandoc了解 Pandoc 支持哪些特殊选项和扩展)。
  3. 将改进的 Markdown 源转换为 DOCX(不要忘记使用--reference-docx=...

相关内容