在R targets工作流中,如何用tar_quarto跨目录渲染Quarto文档?
解决方法
你可以通过两种方式实现将Quarto渲染输出文件指定到单独目录,同时保留.qmd文件在原位置:
方法一:在Quarto文档的YAML头部设置输出目录
直接在report/relatorio_suspeitos.qmd的YAML配置里添加output-dir字段,指定输出文件的目标目录:
--- title: "Relatório Suspeitos" output: pdf_document output-dir: "../output" # 相对于.qmd文件的路径,输出到项目根目录的output文件夹 ---
这样配置后,你的tar_quarto代码不需要修改,渲染后的PDF会自动生成到output目录,而.qmd文件仍留在report文件夹。
方法二:在tar_quarto()中传递output_dir参数
tar_quarto()支持通过额外参数传递给底层的quarto::quarto_render()函数,直接在任务中指定输出目录,无需修改.qmd文件:
tar_quarto( relatorio_suspeitos, 'report/relatorio_suspeitos.qmd', output_dir = 'output' # 相对于项目根目录的路径 )
这种方式更灵活,适合需要在不同targets任务中指定不同输出目录的场景。
注意事项
- 确保目标输出目录(比如
output)已经存在,或者Quarto有足够权限自动创建它 - 路径可以使用绝对路径或相对路径,根据你的项目结构调整
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

