I think it's driven by the PATH variable, which appears to differ for me between RStudio and R from Terminal on the one hand and R.app on the other.

Sys.getenv("PATH")
[1] "/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin"
Sys.which("pdflatex")
pdflatex
      ""

If I add

Sys.setenv(PATH=paste(Sys.getenv("PATH"),"/opt/local/bin", sep=":"))

to ~/.Rprofile then R.app finds pdflatex (from MacPorts in my case).

Sys.which("pdflatex")
                 pdflatex
"/opt/local/bin/pdflatex"
Sys.getenv("PATH")
[1] "/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/local/bin"


On 15 Mar 2015, at 16:46, John Fox wrote:

Dear list members,

I need to determine whether pdflatex is installed and have been doing that via Sys.which("pdflatex"). This works when R is run in a terminal window (or in RStudio):

> Sys.which("pdflatex")
           pdflatex
"/usr/texbin/pdflatex"

but not from R.app:

> Sys.which("pdflatex")
pdflatex
   ""

The session info is the same in both cases:

-------------- snip ----------------

sessionInfo()
R version 3.1.3 (2015-03-09)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.10.2 (Yosemite)

locale:
[1] en_CA.UTF-8/en_CA.UTF-8/en_CA.UTF-8/C/en_CA.UTF-8/en_CA.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

-------------- snip ----------------

Why is the result different? Is there a better way to check for the presence of pdflatex?

Any help would be appreciated.

Thanks,
John

------------------------------------------------
John Fox, Professor
McMaster University
Hamilton, Ontario, Canada
http://socserv.mcmaster.ca/jfox/

_______________________________________________
R-SIG-Mac mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-sig-mac

_______________________________________________
R-SIG-Mac mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-sig-mac

Reply via email to