如何向 Pandoc 中生成的 docx 文件添加自定义格式?

How do I add custom formatting to docx files generated in Pandoc?

如何向 Pandoc 生成的 docx 文件添加自定义格式,例如,Markdown?例如,我可以突出显示文本或将其居中吗?我可以重新设计链接等吗?

我知道我可以使用 --reference-doc(用 pandoc -o custom-reference.docx --print-default-data-file reference.docx 生成)更改默认元素(如标题)的样式,但我想引入其他样式。

基本上有 3 种方法可以在 Pandoc 中自定义 docx 输出:

  1. [问题中提到]通过编辑参考文档自定义默认元素(如标题和块引号)。
  2. 通过在参考文档中编辑这些样式来自定义其他元素(如超链接或默认段落字体)。
  3. 通过将它们添加到参考文档来添加 自定义 'elements'(样式)。

选项 1. 自定义默认元素

  1. 生成参考文档(如问题中所述:pandoc -o custom-reference.docx --print-default-data-file reference.docx)。它将有一堆内容,代表常见的 Pandoc 组件,如标题和块引用(见最后的图片)。

  2. 在Word顶部的Styles菜单中,找到你要更改的样式,然后将其编辑为你想要的样式(我不确定你是否可以只需直接编辑文本的样式即可)。

选项 2:自定义其他元素

样式比参考文档文本和“样式库”中显示的样式多。例如,您可以自定义超链接(例如颜色)。

  1. 生成参考文档(或使用上面的文档)。

  2. 单击“样式”部分中的展开按钮以显示“样式”面板(见下文)。

  3. 找到您想要的样式,然后进行编辑。

还有:

  • 您可以单击每个样式旁边的下拉列表中的一个选项,将其添加到样式库中,以便于编辑。
  • 如果您想预览文档在上下文中的外观,您可以将具有该样式的文本添加到文档本身。

选项 3:添加自定义样式

这可能是与问题最相关的。如果您想在 Pandoc 提供和 Word 提供的默认元素之外引入 自定义元素 ,您只需在参考文档中添加自定义样式即可。例如,您可以为突出显示的文本或居中的文本创建样式,或者为大代码块创建样式。

  1. 生成参考文档(或使用上面的文档)。

  2. 使用您想要的 base 样式向文档添加一些文本——您希望新的自定义样式基于的样式。例如,如果您想要“普通文本但突出显示”,请编写一些使用“普通”或“Body 文本”样式的新文本。

  3. 单击样式库中的下拉菜单。

  4. 点击Create a Style

  5. 命名样式,随心所欲。

  6. 单击 Modify... 并根据需要自定义样式。您以后随时可以通过 right-clicking 库中的样式并单击“修改...”

    来访问此菜单
  7. 保存文档。

  8. 在您将 转换 为 docx 的文本中,添加 divspan 以及适当的 custom-style 属性,只要你想消费它。例如,如果您有一个名为 Super big 的段落样式和一个名为 Highlighted text:

    的字符样式
    <div custom-style="Super big">My super big text</div>
    
    Normal text. <span custom-style="Highlighted text">This is highlighted</span>.
    

    Pandoc 将为您应用这些自定义样式!


参考资料


默认参考文档: