Pandoc Markdown 到 Docx,封面页和目录在单独的页面中

Pandoc Markdown to Docx with Cover Page and TOC in separated pages

我按照此答案中的说明进行操作: 并且我可以设法创建并使用过滤器在从 markdown 到 [=11= 的转换中随时创建新页面].这样我就可以设法在 docx 文件中得到一个 'Cover/Front Page'。但是,当使用 --toc 选项时,过滤器不起作用。 newpage 不受尊重,'TOC' 出现在文档 title 之后,即在同一页中。

有一种方法可以将 markdown 转换为 docx,结果是一个带有 'Cover/Front Page' 和 'TOC' 的 docx 文档(即'TOC' 显示在 'Cover/Front Page')

之后的页面中

谢谢!

有(至少)两种可能的方法:一种需要更改输入文档,另一种是修改参考文档。

在摘要中添加分页符

摘要是内容 table 之前的最后一个元素。以分页符结束摘要将导致目录在新页面上开始:

---
title: MWE
abstract: ' `<w:p><w:r><w:br w:type="page"/></w:r></w:p>`{=openxml}'
---

请注意,摘要可能不为空,但如上例所示,添加一个 no-break space 就足够了。

修改参考文档

Pandoc 在创建 docx 文件时使用参考文档。可以创建自定义参考文档并修改 TOCHeader 样式。

创建自定义参考文档需要执行以下步骤:

  1. 根据pandoc的默认参考文件创建一个新的docx:

    pandoc --print-default-data-file reference.docx > custom-reference.docx
    
  2. 打开 custom-reference.docx 并根据自己的喜好修改其中的样式。

  3. 每次调用pandoc时通过--reference-doc选项传递结果。

    pandoc --reference-doc=custom-reference.docx …
    

    或者,将文件重命名为reference.docx并将其放置在pandoc的数据目录中,因此默认选择它。

详情见documentation on how to modify a custom style