2013-07-06 44 views
3

我試圖在Latex文檔中突出顯示R代碼,但似乎無法更改代碼框內的字體顏色。例如,我認爲commentstyle=\color{red}應該給我評論的紅色字體,但評論顯示爲藍色或黑色(不能完全說明)。另外,我認爲backgroundcolor=\color{white}應該給我一個白色背景...使用列表修改乳膠文檔中R代碼的字體顏色

我正在使用knitr和RStudio來編寫和編譯pdf。下面的例子。

\documentclass{article} 
\usepackage{inconsolata} 
\usepackage{listings} 
\usepackage{xcolor} 

\lstset{ % 
    language=R,      
    basicstyle=\footnotesize,  
    numbers=left,     
    numberstyle=\tiny\color{gray}, 
    stepnumber=1,     
    numbersep=5pt,     
    backgroundcolor=\color{white}, 
    showspaces=false,    
    showstringspaces=false,   
    showtabs=false,      
    rulecolor=\color{black},   
    tabsize=2,      
    captionpos=b,     
    breaklines=true,     
    breakatwhitespace=false,   
    title=\lstname,     
    keywordstyle=\color{blue},  
    commentstyle=\color{red}, 
    stringstyle=\color{green},  
    escapeinside={\%*}{*)},   
    morekeywords={*,...}    
} 

\begin{document} 

This is my document 

<<code>>= 
render_listings() 
# This is a comment 
test <- 1 + 1 
@ 

\end{document} 

是這樣的:

enter image description here

+2

看來knitr使用[Sweavel.sty](http://biostat.mc.vanderbilt.edu/wiki/pub/Main/SweaveTemplate/Sweavel.sty),它定義了一個新環境的自己的配色方案' Rinput'。 – baptiste

回答

2

如果你有自己的Sweavel.stytexmf樹,knitr將使用它(否則knitr將複製一個內置的版本),所以你免費修改Sweavel.sty中的任何內容。