Sweave and LaTeX

The following file are to help you start to learn and use both Sweave and LaTeX:
  • The Sweave Manual and example .nw Sweave files used in the Sweave manual can be found here.
  • Not So Short Intro to LaTeX: lshort.pdf
  • Some Sweave and LaTeX basics: ex.sweave.latex.nw
  • A template in which everyone can edit their latest ideas
  • Useful \usepackage statements, modified title, and modified page numbering: Latex.template.nw

Some Helpful Tips:

  1. You need to add a blank line (with no extra spaces) after the \end{document} expression if you get the following error from Sweave:
    Warning message:
    incomplete final line found by readLines on `blah.nw'
  2. Commenting in your .nw file:
    • Use % (percent) signs (the LaTeX comment symbol) to comment out lines of text and whole R code chunks (i.e., from the <<>>= to the @ headers).
    • Use # (number) signs (the R comment symbol) to comment out lines of R code within an R code chunk (i.e., between the <<>>= to the @ headers).
  3. To setup Sweave to run outside of R (i.e., from a konsole command prompt):
    • Open a Konsole window.
    • Change to the ~/bin (i.e., /home/scottt/bin) directory: cd ~\bin
    • List the ~/bin directory to see if a Sweave shell script is already present: ls
    • If Sweave is listed in the contents of the directory, open Sweave in a text editor (here I use pico): pico Sweave
      1. If Sweave is not present, open a new file to be named Sweave in a text editor (again using pico): pico Sweave
    • If Sweave was already present, make sure the opened file contains the following two lines (make sure it matches exactly). If Sweave was not present, type the following lines in the text editor:
      echo "library(tools) ; Sweave(\"$1.nw\")" | R --no-save --no-restore
      rm -f Rplots.ps graphics/*.eps
    • The last line of the above script assumes you have set up the graphics director as in the template and that you will be using pdflatex so you don't need to keep eps files
    • Exit pico by typing Ctrl+X to save the Sweave file (answer Yes to saving changes, and keep the name of the file as Sweave).
    • At the command prompt type the following to initiate Sweave as a shell script: chmod +x
    • Change your 'path' to include the ~/bin directory.
      • Change to your 'home' directory: cd ~
      • Open your .bashrc (a hidden file) in a text editor: pico .bashrc
      • In the text editor, type a new line at the end of the file: export PATH=$PATH:~/bin
      • Exit pico by typing Ctrl+X to save your .bashrc file (answer Yes to saving changes, and keep the name of the file as .bashrc).
  4. Converting Sweave files (Frank's 7/26/06 email):
    • Some of you have needed to give reports created using Sweave to collaborators so they can extract tables and other components into a manuscript. The best approach I've found is to use tth to convert from LaTeX to html. The resulting file can be opened in Word or viewed with a web browser, as long as all the graphics files are available. The following twiki page shows how to do this in linux (click here). You can also view the output in a browser such as konqueror and copy and paste it into an OpenOffice document and save in a variety of formats including Word.
  5. See the following pdf file to learn how to incorporate the proper R citation into your Sweave documents.
  6. The following code in an example of how to use an upData() function invocation to generate a long variable label that will automatically wrap in the LaTeX version of a summary.formula() (with reverse = TRUE) table. The strwrap() function width= argument will dictate how wide the label is.

x <- data.frame(var1 = sample(1:100, size = 250, replace = TRUE), 
   group = sample(c("A", "B"), size = 250, replace = TRUE))
x <- upData(x,
  labels = c(var1 = paste(strwrap(paste("This is an extremely long and descriptive",
     "variable label that would normally run off the page.",        
      "Our goal is to break this variable label over multiple lines so we won't have to",
      "truncate the variable label in any way."), width = 60), collapse = "\\\\")))
latex(summary(group ~ var1, method = "reverse", data = x, overall = TRUE, 
   file = "", landscape = TRUE)) 
Edit | Attach | Print version | History: r32 | r10 < r9 < r8 < r7 | Backlinks | View wiki text | Edit WikiText | More topic actions...
Topic revision: r9 - 22 Mar 2007, FrankHarrell

This site is powered by FoswikiCopyright © 2013-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Vanderbilt Biostatistics Wiki? Send feedback