如何在Quarto文档中为读取的Stan模型代码添加Stan语法高亮?
在Quarto中嵌入Stan模型并实现语法高亮
有两种简洁的方法可以实现需求,无需复制粘贴代码,还能自动应用Stan语法高亮:
方法1:Quarto原生代码块读取文件
直接使用Quarto代码块的file参数指定Stan文件路径,同时将代码块语言设为stan:
#| file: model.stan
Quarto会自动读取model.stan的内容,并以Stan语法高亮的形式渲染,这是最推荐的方式,完全不需要R代码介入。
方法2:R代码块输出Markdown代码块
如果需要通过R代码控制(比如动态选择文件),可以用cat输出完整的Markdown代码块结构,并指定代码块语言为stan,同时设置results='asis'让Quarto直接渲染输出内容:
cat("```stan\n") cat(readLines("model.stan"), sep = "\n") cat("\n```")
为什么原方法没有语法高亮
你之前用writeLines(readLines("model.stan"))的方式,本质是输出R控制台的字符串内容,Quarto会把它识别为R代码的输出结果,而非原生的Stan代码块,因此无法应用Stan语法高亮。
内容的提问来源于stack exchange,提问作者Mark Rieke
相关产品推荐
相关产品推荐

