Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Set path to miktex for pdflatex in R

I have been trying to get pdflatex to use the correct version of miktex and have not been successful.

I have set the R Path to have the correct location of Miktex 2.9, and verified that it worked with:

Sys.getenv("PATH")
"C:\\Program Files\\MiKTeX 2.9\\miktex\\bin\\x64\\pdflatex;..." 

However when i look at the version of miktex that pdflatex is using:

Sys.which("pdflatex")
"C:\\PROGRA~1\\MIKTEX~1.9\\miktex\\bin\\x64\\pdflatex.exe"

This 1.9 path is to an old version of miktex that no longer even exists.

Running in the command prompt which pdflatex returns the correct path, so the problem is just in R. How can I get R to use the correct path to pdflatex?

like image 600
clairekelley Avatar asked Aug 13 '18 01:08

clairekelley


Video Answer


1 Answers

There are couple solutions you can try:

  1. Disable the "Enable shell escape commands" in Tools > Global Options > Sweave

  2. Set the path manually per this answer. You will have to run this every time you restart RStudio.

     Sys.setenv(PATH = paste(Sys.getenv("PATH"), "C:/Program Files/MiKTeX 2.9/miktex/bin/x64", sep=.Platform$path.sep))
    
  3. Put the following line in Renviron.site in the folder R_HOME/etc where R_HOME is the path returned by Sys.getenv("R_HOME"). Ref

     PATH=C:/Program Files/MiKTeX 2.9/miktex/bin/x64:"${PATH}"
    
  4. Install tinytex package. Note that you should use either MiKTeX or tinytex, but not both. If you have both installed, Yihui recommended that you remove MiKTeX in this case. Ref

You might have to restart R/RStudio or even your PC/laptop after each change to see if it works or not

like image 191
Tung Avatar answered Oct 04 '22 05:10

Tung