[Bioc-devel] BiocStyle on windows with spaces in path names
Martin Morgan
mtmorgan at fhcrc.org
Tue Oct 7 00:21:11 CEST 2014
On 10/6/2014 2:44 PM, James W. MacDonald wrote:
> Hi Steffen,
>
> It looks like you are running R as an administrator, rather than as a
> regular user (or you are on something really old like XP). By default R
> should try to create a user-level library directory in your Documents
> folder. It is probably not such a good idea to run R as administrator if
> you are on a more modern version of Windows.
>
> Note that system.file (which BiocStyle::latex() calls to find the package
> path) will in the case of base packages use .Library to construct the path:
>
>> system.file()
> [1] "C:/PROGRA~1/R/R-31~1.0/library/base"
>
> Which being an 8.1 path, will work for MikTex. But if I run as an
It would be great for BiocStyle to return a functional path under all circumstances.
I'm not sure that MikTex handles ~ in paths? or at least not the way BiocStyle
currently uses this, as
\RequirePackage{C:/PROGRA~1/R/R-31~1.0/library/BiocStyle/sty/Bioconductor}
When I try to mock this up it looks like the ~ are being processed as latex --
there is a latex file not found error with the ~ replaced by \unhbox\voidb at x
\penalty \@m \{}.
I thought there might be some hints with the Sweave sty file use by all
vignettes. This is found with
styfile <- file.path(R.home("share"), "texmf", "tex", "latex", "Sweave")
if (.Platform$OS.type == "windows")
styfile <- chartr("\\", "/", styfile)
if (length(grep(" ", styfile)))
warning(gettextf("path to %s contains spaces,\n", sQuote(styfile)),
gettext("this may cause problems when running LaTeX"),
domain = NA)
but R.home() (eventually find.package()) uses .Library for the special case when
the path to a single package from the base distribution is being sought
> find.package("stats")
[1] "C:/PROGRA~1/R/R-31~1.1/library/stats"
> find.package(c("stats", "stats"))[1]
[1] "C:/Program Files/R/R-3.1.1/library/stats"
So I'm not sure how to get at a working path to Bioconductor.sty in the face of
spaces in the installed path name (the warning hints that R has similar problems).
> administrator and put BiocStyle in my Program Files library, I get
>
>> latex()
> \RequirePackage{C:/Program
> Files/R/R-3.1.0/library/BiocStyle/sty/Bioconductor}
>
> \AtBeginDocument{\bibliographystyle{C:/Program
> Files/R/R-3.1.0/library/BiocStyle/sty/unsrturl}}
>
> Which of course will fail. So the best option is to stop running R as an
> administrator, and install packages in your Documents folder in a path with
> no spaces.
>
> Best,
>
> Jim
>
>
>
> On Mon, Oct 6, 2014 at 4:34 PM, Neumann, Steffen <sneumann at ipb-halle.de>
> wrote:
>
>> Hi,
>>
>> sometimes I am forced to R CMD check packages on windows,
>> and my problem is that both the system-wide library and
>> the personal library with BiocStyle contain spaces, so that
>> BiocStyle::latex() results in:
>> \RequirePackage{C:/Program
>> Files/R/R-3.1.0/library/BiocStyle/sty/Bioconductor}
>>
>> which causes MiKTeX to fail with
>> ! LaTeX Error: File
>> `C:/ProgramFiles/R/R-3.1.0/library/BiocStyle/sty/Bioconductor.sty' not
>> found.
>> (This is with BiocStyles-1.3.15)
>>
>> What is the recommended solution here ? Installing R to a non-standard
>> location ?
>> Use texlive instead of miktex (does that make a difference ?) Or something
>> else ?
>>
>> Yours,
>> Steffen
>>
>>
>>
>>
>>
>> _______________________________________________
>> Bioc-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>>
>
>
>
--
Dr. Martin Morgan, PhD
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N.
PO Box 19024 Seattle, WA 98109
More information about the Bioc-devel
mailing list