[Bioc-devel] BiocStyle on windows with spaces in path names
On 10/06/2014 04:52 PM, Henrik Bengtsson wrote:
Maybe you could use
\RequirePackage{Bioconductor}
and then set the TEXINPUTS environment variable via Sys.setenv().
Internally tools::texi2dvi() is used that that "listens to" TEXINPUTS.
Thanks; I think that would require 'us' to run texi2dvi (otherwise the environment variable isn't seen by texi2dvi) and that sounds like writing a Sweave driver, or worse. latex() could be modified to be passed a flag or path indicating a TEXINPUTS directory where bioconductor.sty could be found, but that doesn't sound like a robust strategy (e.g., because the specially-installed sty file becomes out of sync with the version in the package). Hopefully there is a simpler solution. Martin
Just FYI: I use this trick in https://github.com/HenrikBengtsson/R.rsp/blob/master/R/compileLaTeX.R to set/fix/update TEXINPUTS temporarily, but for somewhat different reasons. There you also see take extra precautions to drop duplicates etc. /Henrik On Mon, Oct 6, 2014 at 3:21 PM, Martin Morgan <mtmorgan at fhcrc.org> wrote:
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
_______________________________________________ Bioc-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel
Computational Biology / Fred Hutchinson Cancer Research Center 1100 Fairview Ave. N. PO Box 19024 Seattle, WA 98109 Location: Arnold Building M1 B861 Phone: (206) 667-2793