r - 将代码和注释的颜色更改为 RStudio 标准语法颜色

标签 r knitr

我在 Mac OSX 上使用 knitr 输出 PDF (LaTeX),并想将输出中语法的颜色更改为 RStudio 中的标准颜色。这意味着注释应该是绿色的,数值应该是蓝色的,字符应该是绿色的,所有其他语法应该是黑色的。

我弄乱了 Sweavel.sty 但无法让它工作。

有人可以给我关于如何更改颜色的确切说明吗? 我应该创建一个新的 sty 文件吗? 我应该只为这个给定的项目把它放在哪里? 我还需要做什么才能让我的 Rnw 文件调用那个 sty 文件? 还有什么吗?

谢谢!

编辑:我让我的问题更具体并提供了一个代码示例:

这是我的 Rnw 文件中的代码:

\documentclass[12pt,letterpaper,twoside]{book}  
\usepackage{inconsolata}

\begin{document}

<<>>=
#Here comes a comment
a <- 1

#Here another comment
(a <- 2)
@

\end{document}

当我编译它时,我得到了一个 PDF: ![enter image description here

我需要注释和字符串 'test' 为绿色,数字和关键字库为蓝色,其他所有内容为黑色。这将是 RStudio 中的标准。示例:

enter image description here

如何修改上面的代码来实现这一点?我唯一想要与众不同的是灰色背景。

最佳答案

由于维度的回答/评论:

有几种方法可以做到这一点。一种方法是保留 .tex使用选项 keep_tex = TRUE 文件在 yaml front matter 中,然后编辑 LaTeX 文件...当然,您必须非常精通该语言(下一个示例)。

另一个非常短的方法是使用 highlight: <option>其中可以在可用选项之一中选择选项 here看看其中一个是否适合您的目的。

另一种,不使用 knitr 而使用 sweave,是编译 LaTeX 文件,但与第一种情况一样,您必须熟练掌握 LaTeX 编程。

keep_tex: TRUE 的例子

如果您检查 .tex选项允许您保留的文件,您会看到很多 \newcommand .它们中的大多数用于创建语法突出显示。您必须修改这些定义。例如:

\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textit{{#1}}}}
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{{#1}}}}}

green 中定义注释:

\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.39, 0.98, 0.28}{\textit{{#1}}}}
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.39, 0.98, 0.28}{\textbf{\textit{{#1}}}}}

你会有绿色评论:

enter image description here

关于r - 将代码和注释的颜色更改为 RStudio 标准语法颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32156417/

相关文章:

R 代码按 % 拆分值,然后为每个新的 % 值分配一个新类别

r - 使用ggplot2绘制不同颜色的多条线

r - 为什么 knitr 代码块中的 $PATH 与终端中的 $PATH 不同?

r-markdown - 使用 R markdown 为每个页面创建页脚

r - 用模型矩阵而不是公式调用 lm

r - 将文件加载到 R

r - 如何将字符串函数应用于列?

r - 在 knitr 中开始一个新的 R session

r - knitr 图的动态高度和宽度

r - 带有 ggplot 图形的 knitr 文档中的动画