在Windows上,如何指示R調用TeXlive而不是MikTeX?在Windows上設置R拾取texlive而不是miktex
我在我的Linux和Windows機器上安裝了R。在我的Windows機器上,我恰好同時擁有MikTeX和TeXlive。由於我不想進入的原因,我希望R給TeXlive打電話。此時,R正在拿起MikTeX。
我猜我需要在我的Renviron文件中設置TEXINPUTS,或類似的東西。但我一直無法在網上找到準確的說明。幫助將不勝感激。
更新:這裏是我嘗試的不同的東西:改變路徑中的TeXlive和MikTeX的順序。從路徑中移除MikTeX。兩人都沒有工作,MikTeX仍然被拾起。
我找不到R的相關文檔,但是我在RStudio文檔中發現了一些提示,所以我試圖在RStudio中解決這個問題。我成功定義的RSTUDIO_PDFLATEX環境變量:
Sys.getenv('RSTUDIO_PDFLATEX')
[1] "C:/texlive/2012/bin/win32"
[參考:http://www.rstudio.com/ide/docs/authoring/latex_program?version=0.97.312 &模式=桌面]
但是MikTeX仍然被要求。
Sys.which("pdflatex")
pdflatex
"C:\\PROGRA~2\\MIKTEX~1.9\\miktex\\bin\\pdflatex.exe"
更新2:我已經試過另外一件事:雖然是的texlive已經在我的道路,以防萬一我說從內R.
Sys.setenv("PATH" = paste(Sys.getenv("PATH"),"C:/texlive/2012/bin/win32",sep=":"))
我也試着設置路徑如通過以下返回由Sys.which(「pdflatex」)pdflatex:
Sys.setenv(pdflatex="C:/texlive/2012/bin/win32")
以及與PDFLATEX或「PDFLATEX」變種,但沒有幫助。我還去掉一切從路徑除了路徑與texlive:
Sys.setenv("PATH" = "C:/texlive/2012/bin/win32")
這給了我希望的路徑
Sys.which("pdflatex")
pdflatex
"C:\\texlive\\2012\\bin\\win32\\pdflatex.exe"
但是,運行TEXI2DVI失敗:
tools::texi2pdf(Out)
Error in texi2dvi(file = file, pdf = TRUE, clean = clean, quiet = quiet, :
pdflatex is not available
我要補充一點,我並不急於解決這個問題,因爲我已經關掉在此期間到Linux,因此如果有人誰知道這個問題在幾個月後回答這個問題,請分享你的智慧。提前致謝。 – PatrickT 2013-02-23 18:25:59
嘗試使用普通的R(無RStudio)嘗試上述各種方法,以便至少可以確定其是R問題還是R Studio問題。也讓你的例子可重現。我們不知道您如何獲取該警告消息。 – 2013-02-25 15:51:43
謝謝!我在R中運行knitr(不是RStudio,除了測試環境變量RSTUDIO_PDFLATEX,如上所述)。錯誤消息顯示miktex可執行文件的路徑。但是,如果使用texlive運行,則不會出現錯誤。我知道這是因爲我有2個Linux設置和1個調用texlive的窗口設置(我專門從該Windows機器上刪除了miktex來測試),並且它在那裏工作。我已經定義了一個名爲R_PDFLATEX的環境變量,它被R拾取,但它不能幫助R找到texlive。有什麼建議麼?謝謝。 – PatrickT 2013-02-25 19:40:34