自定义语法突出显示rmd

时间:2014-11-22 19:10:51

标签: syntax-highlighting knitr r-markdown

我希望能够自定义与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文档并且也没有成功...

1 个答案:

答案 0 :(得分:2)

knitr中的语法高亮仅适用于LaTeX(.Rnw)和HTML(.Rhtml)。它不适用于R Markdown(.Rmd)。

如果它不适用于.Rhtml,则可能是一个错误。但请记住,即使它有效,您也可能它。这取决于您在CSS中为span.three定义的样式。一些屏幕截图和一个可重复性最小的示例(加上sessionInfo())会有所帮助。

相关问题