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.
Thanks again to everyone for their help. John > -----Original Message----- > From: R-SIG-Mac [mailto:[email protected]] On Behalf Of > John Fox > Sent: March-16-15 2:45 PM > To: 'Berend Hasselman' > Cc: [email protected] > 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:[email protected]] > > Sent: March-16-15 2:34 PM > > To: [email protected] > > Cc: Simon Urbanek; [email protected] > > Subject: Re: [R-SIG-Mac] checking for pdflatex > > > > John, > > > > > On 16-03-2015, at 18:53, John Fox <[email protected]> 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 > [email protected] > https://stat.ethz.ch/mailman/listinfo/r-sig-mac --- This email has been checked for viruses by Avast antivirus software. _______________________________________________ R-SIG-Mac mailing list [email protected] https://stat.ethz.ch/mailman/listinfo/r-sig-mac
