R3.6.1环境下Rmd点击编织为PDF却默认输出HTML问题求助
从你提供的运行日志可以看到,pandoc执行时调用了bookdown的gitbook HTML模板,说明当前渲染流程被bookdown的规则接管,才会忽略你YAML里的pdf配置输出HTML,可按以下方案排查解决:
- 检查工作目录下是否存在
_bookdown.yml、_output.yml配置文件:这两个bookdown项目的配置文件优先级高于单文件Rmd的YAML头,如果你只是要渲染单文件Rmd,直接删除这两个文件即可;如果是需要保留bookdown配置,在_output.yml中补充pdf_document的对应配置。 - 手动指定渲染函数验证:跳过RStudio的编织按钮,在控制台直接运行命令:
rmarkdown::render("index.Rmd", output_format = "pdf_document")
如果该命令可以正常输出PDF,说明是RStudio编织按钮的缓存问题,点击编织按钮旁的下拉箭头,手动选择一次「编织为PDF」即可修正后续的默认输出格式。
- 排查YAML头缩进问题:你当前贴出的YAML头缩进是正确的,如果后续修改过配置,确保
pdf_document及下属参数的缩进层级正确,避免YAML解析失败导致输出配置失效。
你遇到的时区警告可以通过在Rmd文件最开头添加一段R代码块解决:
Sys.setenv(TZ = "Asia/Shanghai") # 可替换为你所在地区对应的时区字符串
内容的提问来源于stack exchange,提问作者Eeuwigestudent1
相关产品推荐
相关产品推荐

