Re: [R] How to format R code in LaTex documents

From: Michael Dewey <info_at_aghmed.fsnet.co.uk>
Date: Tue 16 Jan 2007 - 17:13:24 GMT

At 14:12 15/01/2007, Frank E Harrell Jr wrote:
>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

Some interesting ideas below so just to add that I find I often have to use the linewidth parameter to avoid lines wrapping. This is valuable if you are also going to include bits of R output as well (you can control the width of your own code fragments of course).

>\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}
>
>

Michael Dewey
http://www.aghmed.fsnet.co.uk



R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. Received on Wed Jan 17 04:25:41 2007

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Tue 16 Jan 2007 - 17:30:27 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.