# [Rd] Sweave.sty problems under WinXP (English locale) with default settings

Duncan Murdoch murdoch at stats.uwo.ca
Fri May 16 15:41:10 CEST 2008

On 5/16/2008 9:22 AM, Peter Ruckdeschel wrote:
> Hi R-devels,
>
> I encounter the following problem when I want to build a vignette
> in the package building process under Windows
>
> platform       i386-pc-mingw32
> arch           i386
> os             mingw32
> system         i386, mingw32
> status
> major          2
> minor          7.0
> year           2008
> month          04
> day            22
> svn rev        45424
> language       R
> version.string R version 2.7.0 (2008-04-22)
>
> TeX-Distribution: MikTeX 2.7
>
> My R home directory is the default one:
>
>          C:\Program Files\R\R-2.7.0,
>
> so R.home() from package tools makes out of it
>
>         "C:\\PROGRA~1\\R\\R-27~1.0"
>
> which does not contain spaces, but instead the special
> character   ~  .
>
> So function texi2dvi() from package tools makes texi2dvi
> include the directive
>
>    \usepackage{C:\PROGRA~1\R\R-27~1.0\share\texmf\Sweave}
>
> into the corresponding .tex file for the vignette, and, consequently,
> MikTeX throws an error (due to the ~'s).

The simplest workaround for this is to put \usepackage{Sweave} into your
Rnw source, so that R doesn't try to add it.

>
> According to
>
>    http://developer.r-project.org/blosxom.cgi/R-devel
>
> this is due to a change on  Apr 15.

See also the change on Apr 23 (to R-patched, not released yet), which
may give another workaround.

>
> If I am right, the use of short filenames (without spaces)
> as to be found in %R_HOME% for
> MikTeX (and tetex) would no longer have been necessary:
>
> http://wiki.lyx.org/LaTeX/FilesWithSpecialChars

That page also says that ~ causes no problems, but it's talking about
MikTeX 2.4, not 2.7.

>
> So an easy way out would be to revert the changes made in
> R-2.7.0 and instead use a quoted version of  the full path
> constructed by normalizePath().
>
> In the mean time, of course one might simply  alert  people
> to have Sweave.sty on their tex filename database / search path
> and to include \usepackage{Sweave} in their .Rnw files.

That shouldn't be necessary, and may not be a good idea in the long run,
because it means that next year if you forget to update it, you'll still
be using the R 2.7.0 version of that file.

Duncan Murdoch