首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在DOCX输出中更改Pandoc单空间字体大小或样式

在DOCX输出中更改Pandoc单空间字体大小或样式
EN

Stack Overflow用户
提问于 2015-02-05 14:21:54
回答 2查看 4.9K关注 0票数 14

当使用标记代码块时,在DOCX文档中产生的单空间字体大小太大。

我可以通过指定自定义template.docx文件来调整段落的字体大小,但由于某种原因,生成的代码块不使用段落样式,而不是大多数其他生成的输出。

有没有办法:

  • 使代码块使用特定的样式,以便我可以覆盖template.docx中的样式
  • 重写代码块的DOCX表示中使用的单空间字体?

更新以澄清:如注释中所述,我使用的是基于以前生成的docx的外部reference.docx。通过修改heading1等的样式,我可以合理地控制输出。问题是生成的单空间文本不使用命名样式,它只是“正常”的一些变化。因此,我无法在模板中更改它,除非我也更改所有“正常”文本的大小。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-23 08:19:49

使用Pandoc 1.17.2和Word 2013,我终于找到了一个解决方案,以后的Pandoc版本似乎使用了默认隐藏在Word中的链接样式。

步骤1:使用以下方法生成自定义模板文件

代码语言:javascript
复制
pandoc -o template_1.17.2.docx test.md

其中test.md包含源代码和您可能想要修改的所有其他样式。例如:

代码语言:javascript
复制
~~~~
this is preformatted source using style "Source Code"
~~~~

~~~ xml
<this> is preformatted source using "KeyworkTok" and "NormalTok"</this>
~~~

在Word中打开template_1.17.2.docx。预先格式化的源现在使用隐藏链接样式“源代码”进行格式化。默认情况下,此样式不显示在“样式预览”窗格中,您可以通过单击“样式预览”面板右下角的“小方框”预览窗格来添加样式预览窗格。

根据您的意愿修改此样式,并保存模板。然后根据此模板生成文档:

代码语言:javascript
复制
pandoc --reference-docx=template_1.17.2.docx -o mydoc.docx mydoc.md

现在,您应该可以看到在mydoc中正确格式化的源代码。

@LinusR建议不同的源样式使用不同的布局样式。我添加了XML作为示例。格式化的XML将使用"KeywordTok“和"NormalTok”。

票数 9
EN

Stack Overflow用户

发布于 2015-05-24 22:17:31

在创建DOCX (MS )文档时,Pandoc使用reference.docx文件。这必须在Pandoc命令行中给出。然后,Pandoc将从此引用DOCX中提取所有默认样式和格式设置(除非它们使用自定义名称),并将它们应用于生成的DOCX:

代码语言:javascript
复制
    pandoc -t docx -o out.docx in-markdown.txt --reference-docx=my.docx

实现Pandoc可用的参考文档的最佳方法是在Pandoc的帮助下生成第一个简单的DOCX,然后将其放到一个Word安装中,打开它并根据您的喜好更改您要使用的样式。然后保存它,将其带回到Pandoc,并将其用作参考。

对于ODT (LibreOffice/OpenOffice/OpenDocument),除了reference.odt (可以与--reference-odt标志一起使用)之外,还有一个模板。您可以使用pandoc -D odt打印默认模板,然后修改它并与pandoc -o out.odt --template=modifiedTemplate.odt一起使用它。

最后建议:使用最新的Pandoc版本!(目前为1.13.2.1。预计本月底将达到1.14。它的DOCX支持在最近的版本中有了很大的改进。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28346388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档