在Rstudio中使用“knit html”功能后,内联代码不会突出显示

时间:2013-09-11 15:12:41

标签: html css markdown knitr

我写了一个.Rmd文件,其中一些内联代码引用了“`”,我使用Rstudio中的knit html函数将.Rmd文件转换为.html。但是,内联代码没有突出显示在 stackoverflow 上,我查看了.html文件的源代码,发现设置就像

tt, code, pre {
font-family: 'DejaVu Sans Mono', 'Droid Sans Mono', 'Lucida Console', Consolas, Monaco, monospace;
}

我尝试改变这个块:

tt, code, pre {
font-family: 'DejaVu Sans Mono', 'Droid Sans Mono', 'Lucida Console', Consolas, Monaco, monospace;
background-color: #F8F8F8;
}

它有效。

但是,在我将.Rmd文件编织到.html之后,我不想每次都做这样的工作。我在R中阅读了knit2htmlmarkdownHTMLOptions的帮助文件但没有找到解决方案。这个问题有什么解决方案吗?

1 个答案:

答案 0 :(得分:2)

使用CRAN上的markdown软件包的最新版本,您可以使用header参数向HTML输出添加其他CSS代码,例如

library(knitr)
knit2html(...,
  header = c('<style type="text/css">', 'code{background-color: #F8F8F8;}', '</style>'))

或者只是将其设置为~/.Rprofile中的全局选项:

options(markdown.HTML.header = c('<style type="text/css">', 'code{background-color: #F8F8F8;}', '</style>'))

markdown包每次只运行knit2html()而不明确指定header参数时都会使用它。

使用RStudio,它有点棘手。请参阅文档Customizing Markdown Rendering