\documentclass[11pt]{article}
\usepackage{graphicx}
\usepackage[a4paper,margin=2cm,noheadfoot]{geometry}

\usepackage{xspace,color}
\usepackage{url}
\usepackage{listings}


\lstset{commentstyle=\color{red},keywordstyle=\color{black},
showstringspaces=false}
\lstnewenvironment{rc}[1][]{\lstset{language=R}}{}
\newcommand{\ri}[1]{\lstinline{#1}}  %% Short for 'R inline'

\lstset{language=R}             % Set R to default language
\begin{document}



\title{Including R code and output in your latex document}
\author{Stephen Eglen}
\date{\today}

\maketitle

This short document shows you how you can include R code in your latex
reports.  There are (probably) better ways, but this is certainly one
good approach.  (If you come up with a nicer method, share it with the
class.)  It relies on the \verb+listings+ package within latex, and so
for further help, read its documentation by running:

\begin{verbatim}
texdoc listings
\end{verbatim}

All the files (including a Makefile) needed to recompile this document
are available from:

\url{http://www.damtp.cam.ac.uk/user/sje30/teaching/r/rlistings}



\section{Including scripts}

If your script is called \url{simple.R}, include it into your
output by doing \verb+\lstinputlisting{simple.R}+ which should generate
something like:

\lstinputlisting{simple.R}



\section{Including R code within text}

To include small segments of R code within a paragraph, use the ri
macro.  For example, \verb+\ri{x <- rnorm(20)}+ will generate
\ri{x <- rnorm(20)} in the paragraph.

If you have a group of R input (or output), just use the ``rc''
environment around the block of code (or output).  See this example:

\begin{rc}
> a <- matrix(1:6, 2,3)
> a
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6
> 
\end{rc}



\clearpage
\section{Including graphical output}

For nearly all graphs you are likely to generate, the best way of
including them in your article is by asking R to generate a pdf of the
graph. Include it with the includegraphics macro.  Please refrain from
including bitmap images unless you have a particular need (e.g. the
pdf is too large).

\begin{figure}
  \centering
  \includegraphics[width=8cm]{simple.pdf}
  \caption{Example output from R.  Make sure that you generate PDF
    images, and that your images have meaningful captions.}
  \label{fig:example}
\end{figure}

\end{document}