[R] Sweave, R and complex latex projects

Friedrich Leisch friedrich.leisch at stat.uni-muenchen.de
Mon Oct 16 11:27:13 CEST 2006


>>>>> On Sat, 14 Oct 2006 23:00:27 +0100,
>>>>> Mark Wardle (MW) wrote:

  > Hello all,
  > I've been able to use R very successfully to run simple statistics and
  > generate the plots I require.

  > I've been evaluating Sweave, and have hit upon a small problem that I
  > don't seem to be able to workaround. Sweave runs very well for single
  > file latex documents, but I have a complex thesis made up of several
  > parts and chapters. These are arranged with a master latex file and
  > subdirectories with "\include"-ed latex fragments representing those
  > parts/chapters, and I don't seem to be able to get Sweave to work properly.

  > I've tried a number of approaches, including converting the master
  > document into a Snw file itself, or even generating chapters manually
  > chapter by chapter using Sweave and then "\include"ing the result into
  > the master tex file. Unfortunately for the latter attempt, the the latex
  > generated doesn't prepend the required path to the filename, and so
  > latex looks for the pdfs and tex files in the wrong place - it looks in
  > the "root" directory (where the master tex file is located) rather than
  > the chapter subdirectory where all the files have been generated.

  > I hope I'm not missing something obviously documented, but I can't see
  > it in the Sweave docs. Is there an option to prepend a pathname to the
  > filename of Sweave generated TeX and PDF documents?

Yes, simply set prefix.string to a path, not only a filename. E.g.,

\SweaveOpts{prefix.string=figs/myfile}

will place all figures in subdir "figs" (you have to create the
directory first manually) and call the separate files "myfile-XXX"
where XXX is number or name of the chunk.

  > Do people use Sweave for complex multi-file latex projects, and what is
  > the best approach? I'm almost tempted to keep R and Latex separate, and
  > continue to run a R script to generate all of the dynamic tables/charts
  > which are then "\input"ed, but I was rather attracted to the whole
  > Sweave approach.

I personally mostly use Makefiles as suggested by Deepayan.

In addition there is \SweaveInput{} which works similar to Latex's own
\input{} command. There currently is no equivalent of \include{}.

HTH,
Fritz

-- 
-----------------------------------------------------------------------
Prof. Dr. Friedrich Leisch 

Institut für Statistik                          Tel: (+49 89) 2180 3165
Ludwig-Maximilians-Universität                  Fax: (+49 89) 2180 5308
Ludwigstraße 33
D-80539 München                 http://www.stat.uni-muenchen.de/~leisch



More information about the R-help mailing list