【问题标题】:Pandoc Markdown to Docx with Cover Page and TOC in separated pagesPandoc Markdown to Docx,封面和目录在分开的页面中
【发布时间】:2018-10-19 09:58:58
【问题描述】:

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

有一种方法可以将markdown 转换为docx,从而得到一个带有“封面/首页”和“目录”的docx 文档(即“目录”显示在后面的页面中) “封面/头版”)

谢谢!

【问题讨论】:

    标签: markdown docx pandoc


    【解决方案1】:

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

    为摘要添加分页符

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

    ---
    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

    【讨论】:

    • 抱歉回复晚了,不能早点测试。我尝试了两种选择并决定选择第二种,因为它更干净。干杯!
    • 如果您遵循 tarleb 回答中的第二种方法,并且遇到模板文件损坏的问题。这是 powershell 的一个已知问题。请改用 cmd。这是报告的问题:github.com/jgm/pandoc/issues/4758
    猜你喜欢
    • 2012-08-10
    • 1970-01-01
    • 1970-01-01
    • 2013-04-02
    • 2021-12-14
    • 1970-01-01
    • 2021-11-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多