使用RStudio与Bookdown将Rmd转docx时的样式映射问题
Bookdown转Docx列表样式异常解决办法
关键原理
Pandoc(bookdown依赖的转换工具)默认会把Markdown列表映射到Docx的compact样式,要让它用你需要的Numbered list 1/List bullet 1,得从样式配置和参数映射两方面入手。
实操步骤
重新制作reference.docx
- 新建空白Docx文档,确认
Numbered list 1(有序)和List bullet 1(无序)样式存在,设置好你要的缩进、编号格式。 - 找到
compact样式,把它的基准样式改成对应列表样式(有序列表的compact基准设为Numbered list 1,无序列表的设为List bullet 1),保留compact名称别删。 - 保存为新的reference.docx替换原文件。
- 新建空白Docx文档,确认
配置输出参数
在项目的_output.yml或者Rmd的输出设置里,添加Pandoc映射参数:bookdown::word_document2: reference_docx: "new-reference.docx" pandoc_args: - "--list-style=Numbered list 1" - "--bullet-list-style=List bullet 1"检查Markdown列表格式
确保Rmd里的列表是标准格式,别加多余缩进或特殊格式:- 无序列表项1 - 无序列表项2 1. 有序列表项1 2. 有序列表项2备选方案:自定义样式映射文件
若上面的方法没效果,创建style-map.txt文件,内容如下:List => List bullet 1 OrderedList => Numbered list 1然后在输出配置里追加参数:
pandoc_args: - "--style-map=style-map.txt"
内容的提问来源于stack exchange,提问作者cmadland
相关产品推荐
相关产品推荐

