如何在Quarto QMD脚本中引入外部RMD文件且不执行该脚本?
解决Quarto中引入外部Rmd文件展示原始代码的问题
问题根源
Quarto代码块的file参数处理.Rmd文件时,会默认解析并渲染其中的Markdown内容,而非以纯代码形式展示,这和处理.R文件的逻辑有区别。
可行解决方案
方案1:通过R代码读取并输出原始内容
用R代码块读取外部Rmd文件的原始文本,再用代码块包裹输出,确保内容以原始形式展示:
```{r, echo=FALSE, results='asis'} rmd_lines <- readLines("lm.Rmd") cat("```markdown\n") cat(paste(rmd_lines, collapse = "\n")) cat("\n```\n")
这种方式完全绕过Quarto对.Rmd文件的默认解析逻辑,兼容性最好。 ### 方案2:指定代码块引擎为markdown 直接将代码块的引擎设置为`markdown`,再通过`file`引入文件: ```qmd ```{markdown, file="lm.Rmd", eval=FALSE, echo=TRUE}
> 提示:部分Quarto版本可能仍会解析Markdown语法,若出现这种情况,优先选方案1。 ### 方案3:修改文件扩展名 将目标Rmd文件重命名为`lm.Rmd.txt`,让Quarto将其识别为纯文本文件,再指定语言为markdown引入: ```qmd ```{markdown, file="lm.Rmd.txt", eval=FALSE, echo=TRUE}
内容的提问来源于stack exchange,提问作者kputschko
相关产品推荐
相关产品推荐

