Quarto生成R课程作业模板:寻求替代keep-rmd的优雅方案
优雅解决Quarto R版本生成可用.rmd模板的方案
方案1:自定义R Markdown输出格式
- 编写自定义输出格式,让Quarto渲染时自动展开
include内容并保留规范的R代码块:- 创建R脚本
custom_rmd_format.R定义格式:library(quarto) custom_rmd <- function() { rmarkdown::output_format( knitr = rmarkdown::knitr_options(opts_chunk = list(comment = NA)), pandoc = rmarkdown::pandoc_options(to = "markdown"), base_format = rmarkdown::html_document() ) } - 在
Assignment1_R.qmd的YAML头部配置:--- title: "Assignment 1 (R Version)" format: custom_rmd: keep-md: true --- - 执行渲染命令:
quarto render Assignment1_R.qmd --to rmarkdown
include内容,R代码块格式完全符合.rmd规范,直接修改后缀即可使用。 - 创建R脚本
方案2:用Quarto Partials替代include
- 将统一内容拆分为partial文件(如
_partials/intro.qmd、_partials/questions.qmd),在主文档中引用:--- title: "Assignment 1 (R Version)" --- {{< include _partials/intro.qmd >}} {{< include _partials/questions.qmd >}} - 渲染生成的.md文件会直接嵌入partial内容,代码块格式与.rmd一致,只需修改后缀即可作为R模板使用。
方案3:Quarto Convert命令直接转换
- 先渲染出完整的.md文件,再用convert命令转成.rmd:
该命令会自动处理文档结构和代码块格式,直接生成标准可用的.rmd文件。quarto render Assignment1_R.qmd --to markdown --output Assignment1_R_temp.md quarto convert Assignment1_R_temp.md --to rmarkdown --output Assignment1_R_template.rmd
内容的提问来源于stack exchange,提问作者June Skeeter
相关产品推荐
相关产品推荐

