On Mon, Oct 6, 2014 at 5:33 PM, Martin Morgan <mtmor...@fhcrc.org> wrote:
> 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.

I haven't tried, but it's possible that if you do
Sys.setenv(TEXINPUTS=...) when the BiocStyle is loaded/attached that
it will stick/survive until the vignette is built.

/Henrik

>
> 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 <mtmor...@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@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 <sneum...@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@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@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

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to