[R-SIG-Mac] checking for pdflatex

Simon Urbanek simon.urbanek at r-project.org
Mon Mar 16 20:57:01 CET 2015


> On Mar 16, 2015, at 3:43 PM, John Fox <jfox at mcmaster.ca> wrote:
> 
> Dear all,
> 
> I've now implemented Simon's solution, setting the path in the .onLoad() function of the Rcmdr package and resetting it to its pre-existing value in .onUnload(). This seems to work fine for me and, I hope, will be a more robust solution.
> 

I don't think messing with PATH of the R process is a good idea - as a user I'd be somewhat unpleasantly surprised if you changed the PATH of my running session. I'm not quite sure what's your intention, but I would suggest using the setting to locate the binary to run it explicitly - that is what R does normally. If you rely on some scripts that you don't control, then I would suggest setting it in the shell that you start the script with, but not in the R process itself.

Cheers,
Simon



> Thanks again to everyone for their help.
> 
> John
> 
>> -----Original Message-----
>> From: R-SIG-Mac [mailto:r-sig-mac-bounces at r-project.org] On Behalf Of
>> John Fox
>> Sent: March-16-15 2:45 PM
>> To: 'Berend Hasselman'
>> Cc: r-sig-mac at r-project.org
>> Subject: Re: [R-SIG-Mac] checking for pdflatex
>> 
>> Dear Berend and Simon,
>> 
>> I've now tried Berend's solution and it appears to work fine: If necessary, I
>> add /usr/texbin to the path when the Rcmdr GUI starts up and restore the
>> path to its previous state when it closes.
>> 
>> I agree that Simon's solution will be more flexible since it should work if
>> pdflatex is located elsewhere (as long as it's on the path reported by
>> path_helper), and I'll give that a try as well.
>> 
>> Thanks again for all the help,
>> John
>> 
>>> -----Original Message-----
>>> From: Berend Hasselman [mailto:bhh at xs4all.nl]
>>> Sent: March-16-15 2:34 PM
>>> To: jfox at mcmaster.ca
>>> Cc: Simon Urbanek; r-sig-mac at r-project.org
>>> Subject: Re: [R-SIG-Mac] checking for pdflatex
>>> 
>>> John,
>>> 
>>>> On 16-03-2015, at 18:53, John Fox <jfox at mcmaster.ca> wrote:
>>>> 
>>>> Dear Berend,
>>>> ….
>>>>> 
>>>>> For what it’s worth: I have the following code in the .First
>>>>> function in
>>>>> ~/.Rprofile:
>>>>> (R 3.1.3 on OS X Yosemite)
>>>>> 
>>>>>   if( .Platform$GUI == "AQUA" ) {
>>>>>       # this appends /usr/local/bin to what is already in PATH
>>>>>       # by default this is already in PATH (at least in 10.6.8)
>>>>>       # so remove any duplicated items
>>>>>       z <- Sys.getenv("PATH")
>>>>>       z <- unlist(strsplit(z,.Platform$path.sep,fixed=TRUE))
>>>>>       # add path to MacTeX executables for OS X Yosemite (which
>>>>> has a
>>> bug)
>>>>>       # in Terminal it is added automatically
>>>>>       z[length(z)+1] <- "/usr/texbin"
>>>>> 
>>> Sys.setenv(PATH=paste(z[!duplicated(z)],collapse=.Platform$path.sep))
>>>>>   }
>>>> 
>>>> This should work fine if pdflatex is in /usr/texbin, which I now
>>>> understand is
>>> by far the most common case (and is the case on my Mac).
>>>> 
>>>> Do you mind if I adapt your code for the Rcmdr? I can fix the path
>>>> in this
>>> manner at startup of the Rcmdr GUI and restore it to its initial value
>>> on exit from the GUI.
>>>> 
>>> 
>>> Go right ahead. Don’t forget it assumes MacTeX.
>>> 
>>> But do also have a look Simon’s suggestion of using path_helper, which
>>> seems more flexible than my solution:
>>> 
>>> I tried this in R-GUI
>>> 
>>> system2("/usr/libexec/path_helper","-s", stdout=TRUE)
>>> 
>>> and got this answer
>>> 
>>> [1]
>>> "PATH=\"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr
>>> /texbi
>>> n\"; export PATH;”
>>> 
>>> which will have to be fiddled with to get something that is usable.
>>> 
>>> Berend
>>> 
>>> 
>>>> Thanks for this,
>>>> John
>>>> 
>>>>> 
>>>>> Berend
>>>> 
>>>> 
>>>> ---
>>>> This email has been checked for viruses by Avast antivirus software.
>>>> http://www.avast.com
>>>> 
>> 
>> 
>> ---
>> This email has been checked for viruses by Avast antivirus software.
>> 
>> _______________________________________________
>> R-SIG-Mac mailing list
>> R-SIG-Mac at r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
> 
> 
> ---
> This email has been checked for viruses by Avast antivirus software.
> http://www.avast.com
> 



More information about the R-SIG-Mac mailing list