2013-07-06 12 views
3

Я пытаюсь выделить R-код в документе Latex, но я не могу изменить цвет шрифта внутри кода. Например, я думаю, 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.sty в вашем texmf дереве, knitr будет использовать его (в противном случае knitr скопирует встроенной в версии), так что вы бесплатно изменить что-либо в Sweavel.sty.