2014-11-22 100 views
1

我希望能够自定义与RMarkdown一起使用的语法突出显示,以便我可以引起对来自某个包的函数的关注。自定义语法突出显示rmd

我注意到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文件,也没有成功...

回答

2

的语法高亮knitr只对乳胶(.Rnw)和HTML(的.rhtml) 。它不适用于R Markdown(.Rmd)。

如果它不适用于.Rhtml,它可能是一个错误。但请记住,即使它起作用,您也可能不会看到它。这取决于您在CSS中为span.three定义的样式。一些截图和一个最小可重现的例子(加上sessionInfo())将会很有帮助。