From ripley at stats.ox.ac.uk  Sun Apr 13 11:44:15 2008
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Sun, 13 Apr 2008 10:44:15 +0100 (BST)
Subject: [Rd] Windows problem related to using shortPathName for Sweave
 style file
In-Reply-To: <47FE4BFE.1060902@fhcrc.org>
References: <47FD3032.7020709@fhcrc.org> <47FD33E2.8090300@fhcrc.org>
	<47FD56AA.4030707@stats.uwo.ca> <47FD7262.9060901@fhcrc.org>
	<47FE05F1.2030507@stats.uwo.ca> <47FE4BFE.1060902@fhcrc.org>
Message-ID: <alpine.LFD.1.00.0804131035120.23933@gannet.stats.ox.ac.uk>

A follow up on the actions taken.

1) In R >= 2.7.0 whether Sweave() inserts

\usepackage{/full/path/to/Sweave}

is controlled by the environment variable SWEAVE_STYLEPATH_DEFAULT which 
sets the default for RweaveLatex's 'stylepath' argument.  So setting 
SWEAVE_STYLEPATH_DEFAULT=FALSE inserts just \usepackage{Sweave}

To work with this, when tools::texi2dvi finds it is being used with 
MiKTeX's texi2dvi, it makes use of the -I argument of the latter to put 
the path to Sweave.sty into the input path.

This means that users of MiKTeX will want to set 
SWEAVE_STYLEPATH_DEFAULT=FALSE in their environent, e.g. in .Renviron.


2) For 2.8.0, it is planned that the default for 'stylepath' will become 
FALSE.  In that version tools::texi2dvi will set the appropriate input 
path on all platforms.


On Thu, 10 Apr 2008, Patrick Aboyoun wrote:

> Thanks Duncan,
> I just did a survey of the BioConductor repository and only 4 of the 354
> .Rnw vignette files contain the \usepackage{Sweave} specification.
> Adding this is tedious, but not impossible. If the \usepackage{Sweave}
> specification does become recommended, could you add a WARNING to the R
> CMD build/check process if a vignette file lacks it? That would help
> steer developers in the right direction for cross-platform compatibility
> since most R package developers don't use Windows as their primary platform.
>
>
> Cheers,
> Patrick
>
>
> Duncan Murdoch wrote:
>> On 4/9/2008 9:50 PM, Patrick Aboyoun wrote:
>>> I forgot to mention the BioConductor Windows build machine is running
>>> Microsoft Windows Server 2003 R2
>>> Enterprise Edition, SP2
>>>
>>> I just checked and this same problem exists if I place R in the
>>> standard "C:\Program Files\R" location on this machine.
>>
>> We're going to roll back that change, so you should be okay with your
>> original setup.  As far as I know there is no way to get MikTeX to
>> work if you have a space in your pathname, so putting R in the
>> standard location will fail, unless you follow the advice I give below.
>>
>>> For now the backup plan is to move to using short path names for
>>> BioConductor builds (modifying 100+ vignettes is impractical as well
>>> as configuring MiKTeX to handle multiple installs of R that the build
>>> machine uses). If there is an alternate configuration that I should
>>> be using, just let me know.
>>
>> I would recommend biting the bullet and adding \usepackage{Sweave} to
>> every vignette.  It's just a one line addition to them, and it will
>> mean that their .tex output will work if you move it to a different
>> machine, where the full path to Sweave.sty is different.
>>
>> Duncan Murdoch
>>
>>>
>>>
>>> Cheers,
>>> Patrick
>>>
>>>
>>> Duncan Murdoch wrote:
>>>> On 09/04/2008 5:23 PM, Patrick Aboyoun wrote:
>>>>> Something funky happened to my e-mail. I was trying to paste
>>>>> information related to MiKTeX and R into my message and it appears
>>>>> to have corrupted the text somehow. Anyway, the message I was
>>>>> trying to get across is that the tex file contains the path
>>>>>
>>>>> \usepackage{E:/paboyoun/BBS-2~1.2-B/R/share/texmf/Sweave}
>>>>>
>>>>> and MiKTeX 2.7 doesn't know how to resolve it. (The
>>>>> Bioconductor.tex file is (hopefully) attached to this e-mail.)
>>>>
>>>> You should be able to get things to work by explicitly putting
>>>>
>>>> \usepackage{Sweave}
>>>>
>>>> somewhere early in your .Rnw file.  You may have trouble with MikTeX
>>>> finding Sweave.sty, depending how you invoke it:  if invoked from R
>>>> CMD it should work, but maybe not from your command line unless you
>>>> tell it where to look for include files.  How you do that changes
>>>> all the time; R tries a couple, which is why R CMD probably works.
>>>>
>>>> Duncan Murdoch
>>>>
>>>>>
>>>>>
>>>>> === BEGIN OS BLOCK ===
>>>>>
>>>>> E:\paboyoun>pdflatex --version
>>>>> MiKTeX-pdfTeX 2.7.2987 (1.40.7) (MiKTeX 2.7)
>>>>> Copyright (C) 1982 D. E. Knuth, (C) 1996-2006 Han The Thanh
>>>>> TeX is a trademark of the American Mathematical Society.
>>>>>
>>>>> E:\paboyoun>pdflatex Bioconductor.tex
>>>>> This is pdfTeX, Version 3.141592-1.40.7 (MiKTeX 2.7)
>>>>> entering extended mode
>>>>> (Bioconductor.tex
>>>>> LaTeX2e <2005/12/01>
>>>>> Babel <v3.8h> and hyphenation patterns for english, dumylang,
>>>>> nohyphenation, ge
>>>>> rman, ngerman, french, loaded.
>>>>> ("C:\Program Files\MiKTeX 2.7\tex\latex\base\article.cls"
>>>>> Document Class: article 2005/09/16 v1.4f Standard LaTeX document class
>>>>> ("C:\Program Files\MiKTeX 2.7\tex\latex\base\size12.clo"))
>>>>> ("C:\Program Files\MiKTeX 2.7\tex\latex\psnfss\times.sty")
>>>>> ("C:\Program Files\MiKTeX 2.7\tex\latex\hyperref\hyperref.sty"
>>>>> ("C:\Program Files\MiKTeX 2.7\tex\latex\graphics\keyval.sty")
>>>>> ("C:\Program Files\MiKTeX 2.7\tex\latex\oberdiek\hycolor.sty")
>>>>> ("C:\Program Files\MiKTeX 2.7\tex\latex\hyperref\pd1enc.def")
>>>>> ("C:\Program Files\MiKTeX 2.7\tex\generic\oberdiek\etexcmds.sty"
>>>>> ("C:\Program Files\MiKTeX 2.7\tex\generic\oberdiek\infwarerr.sty"))
>>>>> ("C:\Program Files\MiKTeX 2.7\tex\latex\00miktex\hyperref.cfg")
>>>>> ("C:\Program Files\MiKTeX 2.7\tex\latex\oberdiek\kvoptions.sty")
>>>>> Implicit mode ON; LaTeX internals redefined
>>>>> ("C:\Program Files\MiKTeX 2.7\tex\latex\ltxmisc\url.sty")
>>>>> ("C:\Program Files\MiKTeX 2.7\tex\generic\oberdiek\bitset.sty"
>>>>> ("C:\Program Files\MiKTeX 2.7\tex\generic\oberdiek\intcalc.sty")
>>>>> ("C:\Program Files\MiKTeX 2.7\tex\generic\oberdiek\bigintcalc.sty"
>>>>> ("C:\Program Files\MiKTeX 2.7\tex\generic\oberdiek\pdftexcmds.sty")))
>>>>> ("C:\Program Files\MiKTeX 2.7\tex\generic\oberdiek\kvsetkeys.sty")
>>>>> ("C:\Program Files\MiKTeX 2.7\tex\generic\oberdiek\atbegshi.sty"
>>>>> ("C:\Program Files\MiKTeX 2.7\tex\generic\oberdiek\ifpdf.sty")))
>>>>> *hyperref using default driver hpdftex*
>>>>> ("C:\Program Files\MiKTeX 2.7\tex\latex\hyperref\hpdftex.def")
>>>>> ! Missing \endcsname inserted.
>>>>> <to be read again>
>>>>>                    \protect
>>>>> l.28 \begin
>>>>>            {document}
>>>>> ?
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------
>>>>>
>>>>>
>>>>> ______________________________________________
>>>>> R-devel at r-project.org mailing list
>>>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>>>
>>
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



[Rd] Windows problem related to using shortPathName for Sweave style file
Prof Brian Ripley