r - 在 knitr/markdown 中更改代码块颜色

标签 r knitr rstudio r-markdown

我正在研究 Rstudio 中比较 Perl 和 R 的 Markdown 文档。我想要什么
能够做的是根据使用的语言有不同的代码块背景颜色。
例如

R代码块

```{r}
dog <- 1
cat <- 2
dog + cat
```

Perl 代码块
```{r, engine='perl'}
$dog = 1;
$cat = 2;
print $dog + $cat;
```

如果您使用上述代码使用 knitr 生成 html 文件,则 r 代码块具有纯灰色背景,而代码块的输出具有白色/透明背景。

然而,Perl 代码块和输出有一个看起来很困惑的白色/透明背景。我希望在 markdown/knitr 中有一种优雅的方式来做到这一点。

最佳答案

根据 Yihui 的建议,我与 Rstudio 支持人员进行了交谈。他们指出,我基本上可以通过以下 R 代码告诉 R 使用我自己的样式表:

options(rstudio.markdownToHTML = 
function(inputFile, outputFile) {      
require(markdown)
markdownToHTML(inputFile, outputFile, stylesheet='custom.css')   
}
)

“custom.css”必须在您的工作目录中。我下载了 R studio 的 CSS 表 (link) 来寻找要修改的部分。在样式表中有一段代码
code.r, code.cpp {   background-color: #F8F8F8;}

正如 Yihui 指出的那样,这只支持 R 和 C++ 的颜色编码 block 。对以下内容的快速更改包括 perl:
code.r,code.cpp,code.perl { 背景颜色:#F8F8F8;}
或者通过在 code.r 背景 block 下方添加以下内容来制作不同的颜色。
code.perl {
background-color: #B53389;
}

关于r - 在 knitr/markdown 中更改代码块颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14695892/

相关文章:

r - 在条形图中获得等宽条

R - 转换为 LaTeX 时处理表格中 [x,y] 形式的切割间隔

r - knitr kable : Text color in PDF from RNW is grey

R Markdown 错误: can't produce HTML file

r - 在 RStudio 控制台中显示西里尔文

r - 为具有相同 'tidy' 格式和大小的不断变化的输入 csv 文件有效地创建 data.frames

r - R 中 'factor' 和 'string' 数据类型之间的实际区别是什么?

RMarkdown Octave 图

r - 尝试从 GitHub 安装时包安装失败

R 无效的下标类型 double