knit渲染rpptx_document时Officedown无法识别指定PPT模板
问题根因
你的YAML配置缩进写错了,reference_doc没有作为officedown::rpptx_document的子参数传入,Officedown根本没读到你指定的自定义模板路径,直接用了内置默认模板。
你现在写的YAML结构里,reference_doc和officedown::rpptx_document是output下的同级字段,不属于rpptx_document的配置项,渲染时这个参数会被直接忽略。你贴的渲染日志也能印证这点:pandoc调用参数里的--reference-doc指向临时目录下随机命名的pptx,就是Officedown自动生成的默认临时模板。
修复方法
调整YAML缩进,把reference_doc往里缩进2个空格,放到officedown::rpptx_document的下一级,正确写法:
--- date: "`r Sys.Date()`" author: "Your Name" title: "Officedown test" output: officedown::rpptx_document: reference_doc: template.pptx ---
补充说明
- 改完缩进重新渲染,再看日志里的pandoc调用参数,
--reference-doc后面就会直接指向你自己的template.pptx,不会再用临时目录的文件 - 你用rmarkdown自带的
powerpoint_presentation格式调用同一个模板能正常生效,说明模板本身没损坏、相对路径也对,不用改模板或者后面的R代码块,只改YAML缩进就行
内容的提问来源于stack exchange,提问作者jgaitan
相关产品推荐
相关产品推荐

