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

时间:2015-08-22 12:59:27

标签: 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

我需要评论和字符串&#39; test&#39;为绿色,数字和关键字库为蓝色,其他一切为黑色。这在RStudio中是标准的。例如:

enter image description here

如何修改上面的代码才能实现?我唯一想要的是灰色背景。

1 个答案:

答案 0 :(得分:1)

由于维度的答案/评论:

有几种方法可以做到这一点。一种方法是在yaml前端使用选项.tex来保留keep_tex = TRUE文件,然后编辑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