[R] How to format R code in LaTex documents
Michael Dewey
info at aghmed.fsnet.co.uk
Tue Jan 16 18:13:24 CET 2007
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
More information about the R-help
mailing list