如何让Pandoc调用已有docx参考文档中的同名自定义样式?
问题:Pandoc转换Markdown到Docx时无法复用参考文档中的已有样式
- 我的Markdown文档内容:
[Get out]{custom-style="VE"}, he said.
- 需求:将上述文档转换为Docx格式,复用参考文档(已包含名为“VE”的红色文本样式)中的“VE”样式
- 执行的转换命令:
docker run --rm -v $(pwd):/data/ pandoc/core:latest /data/test.md -s -o /data/test.docx -t docx --reference-doc="/data/reference.docx"
- 问题:转换后“Get out”应用的是Pandoc新增的同名“VE”样式,而非参考文档中已有的样式
解决方法
Pandoc默认会对自定义样式做额外处理,导致无法直接复用参考文档中的已有样式,可通过以下两种方式解决:
方法1:替换参数为--docx-styles
将命令中的--reference-doc替换为--docx-styles,该参数会直接复用参考文档中的样式定义,不会新增同名样式:
docker run --rm -v $(pwd):/data/ pandoc/core:latest /data/test.md -s -o /data/test.docx -t docx --docx-styles="/data/reference.docx"
方法2:调整Markdown的样式引用格式
若必须使用--reference-doc,需修改Markdown中的样式引用语法,明确指定使用参考文档中的字符或段落样式:
- 若“VE”是字符样式:
<span custom-style="VE">Get out</span>, he said.
- 若“VE”是段落样式:
::: {custom-style="VE"} Get out :::
内容的提问来源于stack exchange,提问作者DerNils
相关产品推荐
相关产品推荐

