Pandoc Markdown 到 Docx,在单独的页面中带有封面和 TOC

ava*_*vaz 4 markdown docx pandoc

我按照此答案中的说明进行操作:https : //stackoverflow.com/a/52131435/510024我可以设法创建并使用过滤器来创建新页面,只要我想从markdown到的转换docx。有了这个,我可以设法在文件中获得一个“封面/首页” docx。但是,当使用--toc选项时,过滤器不起作用。该newpage不尊重,“TOC”的文件后立即出现title在同一个页面,即。

有一种方法可以从转换markdowndocx具有docx“封面/首页”和“目录”的文档(即“目录”显示在“封面/首页”之后的页面中)

谢谢!

tar*_*leb 7

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

为摘要添加分页符

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

---
title: MWE
abstract: ' `<w:p><w:r><w:br w:type="page"/></w:r></w:p>`{=openxml}'
---
Run Code Online (Sandbox Code Playgroud)

请注意,摘要可能不是空的,但如上例所示,添加一个不间断空格就足够了。

修改参考文档

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

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

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

    pandoc --print-default-data-file reference.docx > custom-reference.docx
    
    Run Code Online (Sandbox Code Playgroud)
  2. custom-reference.docx根据您的喜好打开并修改其中的样式。

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

    pandoc --reference-doc=custom-reference.docx …
    
    Run Code Online (Sandbox Code Playgroud)

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

有关详细信息,请参阅有关如何修改自定义样式文档