2014-06-16 12 views
5

Próbuję wygenerować plik pdf z pliku .Rnw przy użyciu pakietu knitr. Proszę znaleźć wyjście sessioninfo() poniżejPakiet TeX nie instaluje się w wersji R 3.1.0

R version 3.1.0 (2014-04-10) 
Platform: x86_64-w64-mingw32/x64 (64-bit) 

locale: 
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C       
[5] LC_TIME=English_United States.1252  

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

other attached packages: 
[1] knitr_1.6 

loaded via a namespace (and not attached): 
[1] evaluate_0.5.5 formatR_0.10 stringr_0.6.2 tools_3.1.0 

mam zainstalowanego knitr ale jestem w stanie skompilować kod w pliku .Rnw. Jest wyskakujące okienko z napisem "Nie wykryto instalacji TeX. Zainstaluj TeX przed kompilacją". Jednak zarówno TeX, jak i pdfLaTeX nie instalują się w tej wersji R, pojawia się komunikat ostrzegawczy, że TeX lub pdfLaTex nie są dostępne.

Z góry dziękuję.

+1

Instalacja TeX jest niezależna od R i nie może być instalowana przez 'install.packages'. Użyj np. [Miktex] (http://miktex.org/) dla systemu Windows lub [TexLive] (https://www.tug.org/texlive/) dla systemu Linux. – tonytonov

+0

Dlaczego zamiast tego nie zamieścisz go jako odpowiedzi? Myślę, że to dobra odpowiedź na ważne pytanie, które mogą również mieć inni ludzie. – Backlin

+0

@tonytonov: Dzięki temu problem został rozwiązany. Zainstalowałem Miktex oddzielnie i zrestartowałem komputer. –

Odpowiedz

4

Zawijanie mojego komentarza do odpowiedzi. knitr używa pdflatex do generowania pliku pdf. pdflatex jest częścią instalacji TeX/LaTeX, która nie jest pakietem R i nie może być zainstalowana za pomocą terminala R (przynajmniej natywnie, ponieważ installr może to zrobić, jak wskazuje @Gregor).

Potrzebujesz instalacji TeX na komputerze, aby działała prawidłowo z knitr. Istnieje kilka opcji, z Miktex dla systemu Windows lub TexLive dla systemu Linux.

Spójrz na numer minimal example dostarczony z knitr. Zaczyna się od \documentclass{article}, która jest typową pierwszą linią pliku TeX.

Jako ostatnia uwaga, R markdown może tworzyć HTML używając pandoc zamiast tego, więc nie wymaga TeX i może być dobrą alternatywą, jeśli nie chcesz używać TeX/LaTeX.

+1

Opakowanie TexLive ma prawie 3 GB. To dość duże, aby tworzyć pliki PDF z rStudio (notebooki do formatu PDF). Czy jest jakiś inny sposób? @tonytonov – michaelsinner

+0

@michaelsinner Zobacz https://www.tug.org/texlive/acquire-netinstall.html: tarball to 3,3 mb. – tonytonov

5

Dla wygody, pakiet installr R to bardzo wygodny sposób na zainstalowanie TeX-a i wielu innych użytecznych rzeczy. Po prostu uruchom installr::installr() i wybierz MikTeX (przynajmniej). (Nie wiem, czy to działa na innych niż Windows.)

+0

Dzięki za podpowiedź! Bardzo porządny pakiet, nigdy nie wiedziałem, że istnieje. – tonytonov

+0

Dotyczy to wyłącznie systemu Windows. – tonytonov

+0

@Gregor Mam ten sam problem. Próbowałem użyć installr :: installr (MikTeX), ale nie zadziałało.Jakieś sugestie będą mile widziane? – aelwan

2

Krok 1: Pobierz i zainstaluj MiKTeX z http://miktex.org/2.9/setup

Krok 2: Uruchom

Sys.getenv("PATH") 

w R studio Polecenie to zwraca ścieżkę Rstudio próbuje znaleźć pdflatex.exe W Windows (64-bit) powinien powrócić C: \ Program Files \ MiKTeX 2.9 \ miktex \ bin \ x64 \ pdflatex.exe Jeśli pdflatex.exe nie znajduje się w tej lokalizacji, Rstudio podaje ten kod błędu 41.

Krok 3: Aby ustawić tę zmienną ścieżki Uruchom:

Sys.setenv(PATH=paste(Sys.getenv("PATH"),"C:/Program Files/MiKTeX 2.9/miktex/bin/x64/",sep=";")) 
Powiązane problemy