[R] How to format R code in LaTex documents
    Frank E Harrell Jr 
    f.harrell at vanderbilt.edu
       
    Mon Jan 15 15:12:33 CET 2007
    
    
  
Benjamin Dickgiesser wrote:
> Hi,
> 
> I am planning on putting some R script in an appendix of a LaTex
> document. Can anyone recommend me a way of how to format it? Is there
> a way to keep all line breaks without having to insert \\ in every
> single line?
> 
> Thank you!
> Benjamin
Here's one way and I would appreciate anyone's improvements.  I've also 
included solutions from two others.  Please let me know what you decide 
to use.  -Frank
\usepackage{listings,relsize}
\lstloadlanguages{R}
\lstset{language=R,basicstyle=\smaller[2],commentstyle=\rmfamily\smaller,
  showstringspaces=false,%
  xleftmargin=4ex,literate={<-}{{$\leftarrow$}}1 {~}{{$\sim$}}1}
\lstset{escapeinside={(*}{*)}}   % for (*\ref{ }*) inside lstlistings (S 
code)
. . .
\begin{lstlisting}
. . . S code . . .
\end{lstlisting}
The following code was provided by Vincent Goulet:
listings is a great package to highlight R keywords and comments and --- 
that
was my main use of the package --- index those keywords. I found that I had
to slightly redefine the list of keywords included in listings. I still did
not take the time to submit a patch to the author, though...
In any case, here's what I use, if it can be of any help to anyone:
\lstloadlanguages{R}
\lstdefinelanguage{Renhanced}[]{R}{%
   morekeywords={acf,ar,arima,arima.sim,colMeans,colSums,is.na,is.null,%
     mapply,ms,na.rm,nlmin,replicate,row.names,rowMeans,rowSums,seasonal,%
     sys.time,system.time,ts.plot,which.max,which.min},
   deletekeywords={c},
   alsoletter={.\%},%
   alsoother={:_\$}}
\lstset{language=Renhanced,extendedchars=true,
   basicstyle=\small\ttfamily,
   commentstyle=\textsl,
   keywordstyle=\mdseries,
   showstringspaces=false,
   index=[1][keywords],
   indexstyle=\indexfonction}
with
   \newcommand{\indexfonction}[1]{\index{#1@\texttt{#1}}}
-- Vincent Goulet, Associate Professor École d'actuariat Université 
Laval, Québec Vincent.Goulet at act.ulaval.ca http://vgoulet.act.ulaval.ca
Anupam Tyagi provided the following:
\documentclass{report}
\usepackage{listings}
\begin{document}
Somethings .....
\lstset{% general command to set parameter(s)
basicstyle=\small, % print whole in small
stringstyle=\ttfamily, % typewriter type for strings
numbers=left, % numbers on the left
numberstyle=\tiny, % Tiny numbers
stepnumber=2, % number every second line of code
numbersep=5pt, % 5pt seperation between numbering and code listing
language=R }
\lstinputlisting{text1.R}
\end{document}
    
    
More information about the R-help
mailing list