[R-SIG-Mac] checking for pdflatex

Prof Brian Ripley ripley at stats.ox.ac.uk
Mon Mar 16 20:55:43 CET 2015

Note that it not just MacTex which uses /usr/texbin.  /usr/texbin is a 
link to /Library/TeX/Distributions/Programs/texbin which is an 
/etc/alternatives scheme to manage multiple TeX distributions which used 
(prior to Yosemite, at least) to be controlled by a Systems Preferences 
widget.  See https://tug.org/mactex/multipletexdistributions.html .

That does not apply to e.g. Fink or MacPorts distributions of TeX, but 
people using those are not likely to be using R.app.

/usr/libexec/path_helper is not the whole story either: it reads system 
versions of PATH which might not apply to a user's shell: it does not 
get my settings completely correct (in particular it has /usr/texbin too 
far down the PATH and I had moved it because the system path found the 
wrong 'makeindex').

On 16/03/2015 18:44, John Fox wrote:
> 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

Brian D. Ripley,                  ripley at stats.ox.ac.uk
Emeritus Professor of Applied Statistics, University of Oxford
1 South Parks Road, Oxford OX1 3TG, UK

More information about the R-SIG-Mac mailing list