2013-02-22 13 views
23

W systemie Windows, jak mogę polecić R, aby zadzwonić do TeXlive zamiast MikTeX?Ustawianie R, aby pobrać texlive zamiast miktex na Windows

Mam R skonfigurowane na moim komputerze z systemem Linux i Windows. Na moich maszynach Windows, mam dostępne mikTeX i TeXlive. Z powodów, do których nie chciałbym wejść, chciałbym, żeby R nazwał TeXlive. W tym momencie R wybiera MikTeX.

Zgaduję, że będę musiał ustawić TEXINPUTS wewnątrz mojego pliku Renviron lub coś podobnego. Ale nie byłem w stanie znaleźć precyzyjnych instrukcji w Internecie. Pomoc zostanie doceniona.

AKTUALIZACJA: Oto różne rzeczy, które próbowałem: zmiana kolejności TeXlive i MikTeX w PATH. Usuwanie MikTeX ze ścieżki. Nie zadziałało, MikTeX wciąż jest odbierany.

Nie mogłem znaleźć odpowiedniej dokumentacji dla R, ale znalazłem pewne wskazówki w dokumentacji RStudio, więc próbowałem rozwiązać problem w RStudio. Pomyślnie określono zmienną środowiska RSTUDIO_PDFLATEX:

Sys.getenv('RSTUDIO_PDFLATEX') 
[1] "C:/texlive/2012/bin/win32" 

[Odnośnik: http://www.rstudio.com/ide/docs/authoring/latex_program?version=0.97.312 tryb & = Pulpit]

ale MikTeX nadal jest wzywany.

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

UPDATE 2: Kolejną rzeczą Próbowałem: Podczas texlive jest już na mojej ścieżce, na wszelki wypadek dodałem go od wewnątrz R.

Sys.setenv("PATH" = paste(Sys.getenv("PATH"),"C:/texlive/2012/bin/win32",sep=":")) 

Próbowałem również ustawić ścieżkę dostępu do pdflatex zwracanego przez Sys.which („pdflatex”) z następujących powodów:

Sys.setenv(pdflatex="C:/texlive/2012/bin/win32") 

jak również warianty z pdfLaTeX lub „pdfLaTeX”, ale to nie pomaga. Mam również usunięte wszystko z wyjątkiem ścieżki ścieżki do TeXLive:

Sys.setenv("PATH" = "C:/texlive/2012/bin/win32") 

który daje mi żądaną ścieżkę

Sys.which("pdflatex") 
           pdflatex 
"C:\\texlive\\2012\\bin\\win32\\pdflatex.exe" 

Jednak nie działa texi2dvi:

tools::texi2pdf(Out) 
Error in texi2dvi(file = file, pdf = TRUE, clean = clean, quiet = quiet, : 
pdflatex is not available 
+1

Dodam, że nie jestem w pośpiechu, aby rozwiązać ten problem odkąd przełączony na Linuksie w międzyczasie, więc jeśli ktoś, kto wie Odpowiedź szanse na to pytanie kilka miesięcy stąd, proszę podziel się swoją mądrość. Z góry dziękuję. – PatrickT

+0

Wypróbuj różne rzeczy wypróbowane powyżej za pomocą zwykłego R (bez RStudio), abyś mógł przynajmniej określić, czy jest to problem R, czy problem z Studio R. Spraw, aby twój przykład był powtarzalny. Nie mamy pojęcia, co zrobiłeś, aby otrzymać tę wiadomość ostrzegawczą. –

+0

Dzięki! Używam knitr w R (nie RStudio, z wyjątkiem testowania zmiennej środowiskowej RSTUDIO_PDFLATEX, zgodnie z opisem). Komunikaty o błędach wyświetlają ścieżkę do plików wykonywalnych miktex. Jednakże, jeśli uruchomisz z texlive, nie ma błędów. Wiem o tym, ponieważ mam 2 konfiguracje linuksa i 1 instalację systemu Windows, która wywołuje texlive (specjalnie usunąłem miktex z tego komputera Windows do przetestowania) i działa tam. Zdefiniowałem zmienną środowiskową o nazwie R_PDFLATEX, która jest pobierana przez R, ale nie pomaga R find texlive. Jakieś sugestie? Dzięki. – PatrickT

Odpowiedz

1

Zostałem skonfrontowany z tym samym problemem w podobnym projekcie i spędziłem trochę czasu na zrozumieniu trików. Fakt, że MikTeX został wybrany, nawet jeśli wyczyściłeś ścieżkę, wynika z nieco irytującego faktu (szczególnie dla programistów * nix takich jak ja i inni), że po zainstalowaniu MikTeX ustawiona jest dość duża liczba wpisów rejestru Windows. Przenośna dystrybucja MikTeX (tylko win32) jest jedynym wyjątkiem od tego.Więc jeśli potrzebujemy MiKTeX na pokładzie, moja rada jest po prostu robić to, co robiłam:

  1. odinstalować aktualna MiKTeX distro
  2. czyszczenia rejestru (CCleaner bardzo dobrze)
  3. zainstalować przenośną win32 MiKTeX distro

Teraz sprawdź, czy ścieżka zawiera ponownie ścieżkę do katalogu bin TeXlive.
Jeśli używasz pandoc do tworzenia plików PDF z Rmarkdown lub innych języków markdown, wygodnym sposobem obejścia problemów z ścieżkami jest określenie opcji --latex-engine i dodanie pełnej argumentów ścieżki jako argumentu. Poniżej jest możliwe wiersz poleceń, zaadaptowany z RStudio IDE:
path/to/pandoc.exe -V papersize=A4 +RTS -K512m -RTS file.utf8.md --to latex --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash-implicit_figures --output file.pdf --template path/to/default.tex --highlight-style tango --latex-engine /path/to/pdflatex.exe --variable geometry:margin=1in

+0

To brzmi wiarygodnie, więc przyjąłem twoją odpowiedź: Nie miałem komputera z Windowsem od 2 lat, więc nie mogę tego sprawdzić. Dzięki! – PatrickT

Powiązane problemy