Peter Ruckdeschel
2008-May-16 13:22 UTC
[Rd] Sweave.sty problems under WinXP (English locale) with default settings
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). According to http://developer.r-project.org/blosxom.cgi/R-devel this is due to a change on Apr 15. 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 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. Best, Peter
Duncan Murdoch
2008-May-16 13:41 UTC
[Rd] Sweave.sty problems under WinXP (English locale) with default settings
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/FilesWithSpecialCharsThat 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