我在 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}
我需要注释和字符串 'test' 为绿色,数字和关键字库为蓝色,其他所有内容为黑色。这将是 RStudio 中的标准。示例:
如何修改上面的代码来实现这一点?我唯一想要与众不同的是灰色背景。
最佳答案
由于维度的回答/评论:
有几种方法可以做到这一点。一种方法是保留 .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}}}}}
你会有绿色评论:
关于r - 将代码和注释的颜色更改为 RStudio 标准语法颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32156417/