我希望能够自定义与RMarkdown一起使用的语法高亮,以便我可以引起对来自某个包的函数的注意。
我注意到knitr NEWS文件中提到的一个选项,该选项可以通过以下方式设置:
opts_knit$set(highr.opts = list(markup = cmd_mine))
用于.Rnw和.Rhtml文档。但是,当我在.Rmd文件中设置此选项时(此处简化为混淆数字常量的高亮显示)
```{r setup, include=TRUE}
# set global chunk options
library(knitr)
opts_chunk$set(cache=TRUE)
library(highr)
cmd_mine = highr:::cmd_html
cmd_mine[rownames(cmd_mine)=="NUM_CONST", 1] <- '<span class="three">'
opts_knit$set(highr.opts = list(markup = cmd_mine))
cmd_mine
sum(1:2)
```
我看不出变化。这让我明白这个选项没有为.Rmd实现,或者我误解了该选项是如何工作的。如果它不存在,那么有一天它会变得很棒!如果是的话,我会感激任何建议。谢谢!
PS:事实上,我试图将此设置为.Rhtml文档并且也没有成功...
答案 0 :(得分:2)
knitr中的语法高亮仅适用于LaTeX(.Rnw)和HTML(.Rhtml)。它不适用于R Markdown(.Rmd)。
如果它不适用于.Rhtml,则可能是一个错误。但请记住,即使它有效,您也可能看它。这取决于您在CSS中为span.three
定义的样式。一些屏幕截图和一个可重复性最小的示例(加上sessionInfo()
)会有所帮助。