如何在Quarto HTML文档中展示多文件源代码?
Quarto展示多文件源码与可复现性方案
问题解决:修复YAML配置报错
你之前的配置报错是因为YAML不允许同一层级下重复定义source键,后定义的会覆盖前一个。要添加多个源文件,需将source改为列表形式,正确配置如下:
format: html: embed-resources: true code-tools: source: - data_cleaning.R - report.qmd
配置完成后,渲染的HTML报告代码工具面板会同时展示这两个文件的源代码。
其他展示源码的灵活方法
1. 直接在报告中嵌入源码
使用Quarto的include-code-files短代码,可以在报告任意位置插入指定文件的源码,还支持语法高亮、显示行号等自定义配置:
## 数据清洗脚本源码 {{< include-code-files data_cleaning.R language="r" line-numbers="true" >}} ## 报告自身源码 {{< include-code-files report.qmd language="markdown" line-numbers="true" >}}
2. 提供完整代码包下载
若要最大化可复现性,可启用code-tools的download选项,生成一个ZIP下载按钮,让读者能获取所有相关文件的压缩包:
format: html: embed-resources: true code-tools: source: - data_cleaning.R - report.qmd download: true
Quarto代码工具官方文档翻译(对应code-tools章节)
代码工具
Quarto HTML文档内置了用于浏览和下载源代码的集成工具,只需在文档YAML中添加code-tools选项即可启用:
format: html: code-tools: true
源文件
默认情况下,代码工具会包含当前文档的源代码(如report.qmd)。你可以通过source选项添加其他源文件(如数据预处理脚本):
format: html: code-tools: source: data_cleaning.R
添加多个源文件时,需使用列表形式:
format: html: code-tools: source: - data_cleaning.R - analysis.R
下载全部代码
通过download选项可启用一个按钮,将所有源代码打包为ZIP文件供下载:
format: html: code-tools: download: true
代码折叠
代码工具与代码折叠功能集成,若你启用了代码折叠,代码工具面板会同步文档中代码块的折叠状态。
内容的提问来源于stack exchange,提问作者mat
相关产品推荐
相关产品推荐

