我希望在LaTeX文档中插入一个R代码块。顺带一提,listings
包的默认设置会更改字体但不会更改颜色,而我需要更改颜色。
虽然我知道可以使用lstset
函数来设置颜色,但我不确定哪种组合看起来更好。因此,有人能分享他们用于listings
包中给R语法着色的lstset
设置吗?这样,每个看到这篇文章的人都可以使用相同的设置!
我希望在LaTeX文档中插入一个R代码块。顺带一提,listings
包的默认设置会更改字体但不会更改颜色,而我需要更改颜色。
虽然我知道可以使用lstset
函数来设置颜色,但我不确定哪种组合看起来更好。因此,有人能分享他们用于listings
包中给R语法着色的lstset
设置吗?这样,每个看到这篇文章的人都可以使用相同的设置!
\documentclass[12pt]{article}
\usepackage{listings}
\usepackage[usenames,dvipsnames]{color}
\lstset{
language=R, % the language of the code
basicstyle=\tiny\ttfamily, % the size of the fonts that are used for the code
numbers=left, % where to put the line-numbers
numberstyle=\tiny\color{Blue}, % the style that is used for the line-numbers
stepnumber=1, % the step between two line-numbers. If it is 1, each line
% will be numbered
numbersep=5pt, % how far the line-numbers are from the code
backgroundcolor=\color{white}, % choose the background color. You must add \usepackage{color}
showspaces=false, % show spaces adding particular underscores
showstringspaces=false, % underline spaces within strings
showtabs=false, % show tabs within strings adding particular underscores
frame=single, % adds a frame around the code
rulecolor=\color{black}, % if not set, the frame-color may be changed on line-breaks within not-black text (e.g. commens (green here))
tabsize=2, % sets default tabsize to 2 spaces
captionpos=b, % sets the caption-position to bottom
breaklines=true, % sets automatic line breaking
breakatwhitespace=false, % sets if automatic breaks should only happen at whitespace
keywordstyle=\color{RoyalBlue}, % keyword style
commentstyle=\color{YellowGreen}, % comment style
stringstyle=\color{ForestGreen} % string literal style
}
\begin{document}
\begin{lstlisting}
library(foreign)
foo <- rnorm(100)
# writing a function
bar <- apply(foo, 1, function(x){
y <- sqrt(x)
cat(paste('The result is ', x )))
})
bar
str(bar)
foo + bar
\end{lstlisting}
\end{document}