Zaktualizowana odpowiedź (10 lutego 2013)
Pakiet rmarkdown : Na rmarkdown
github jest teraz dostępny pakiet, który łączy się z Pandoc. Zawiera render
funkcję. Dokumentacja wyjaśnia, jak przekonwertować rmarkdown do formatu PDF wśród wielu innych formatów. Obejmuje to dołączanie formatów wyjściowych do pliku rmarkdown lub uruchamianie dostarczania formatu wyjściowego do funkcji rend. Na przykład,
render("input.Rmd", "pdf_document")
Linia poleceń:
Kiedy uruchamiam się render
z wiersza poleceń (np. Używając pliku makefile), czasami mam problemy z nie znalezieniem pandoc. Prawdopodobnie nie znajduje się na ścieżce wyszukiwania. Poniższa odpowiedź wyjaśnia , jak dodać pandoc dla środowiska R .
Na przykład na moim komputerze z systemem OSX, na którym mam kopię pandoc przez RStudio, mogę użyć:
Rscript -e "Sys.setenv(RSTUDIO_PANDOC='/Applications/RStudio.app/Contents/MacOS/pandoc');library(rmarkdown); library(utils); render('input.Rmd', 'pdf_document')"
Stara odpowiedź (około 2012)
Tak więc wiele osób zasugerowało, że Pandoc jest właściwą drogą. Zapoznaj się z poniższymi uwagami dotyczącymi znaczenia posiadania aktualnej wersji Pandoc.
Korzystanie z Pandoc
Użyłem następującego polecenia, aby przekonwertować R Markdown do HTML (tj. Wariant tego makefile ), gdzie RMDFILE
jest nazwa pliku R Markdown bez .rmd
komponentu (zakłada również, że rozszerzenie jest, .rmd
a nie .Rmd
).
RMDFILE=example-r-markdown
Rscript -e "require(knitr); require(markdown); knit('$RMDFILE.rmd', '$RMDFILE.md'); markdownToHTML('$RMDFILE.md', '$RMDFILE.html', options=c('use_xhml'))"
a następnie to polecenie do konwersji do formatu pdf
Pandoc -s example-r-markdown.html -o example-r-markdown.pdf
Kilka uwag na ten temat:
- Usunąłem odniesienie w pliku przykładowym, które eksportuje wykresy do imgur do obrazów hosta.
- Usunąłem odniesienie do obrazu hostowanego na imgur. Wydaje się, że liczby muszą być lokalne.
- Opcje w
markdownToHTML
funkcji oznaczały, że odniesienia do obrazów dotyczą plików, a nie danych przechowywanych w pliku HTML (tj. Usunąłem je 'base64_images'
z listy opcji).
- Wynikowy wynik wyglądał następująco . Wyraźnie stworzył dokument w stylu LaTeX, w przeciwieństwie do tego, co otrzymuję, gdy wydrukuję plik HTML do formatu PDF z przeglądarki.
Pobieranie aktualnej wersji Pandoc
Jak wspomniał @daroczig, ważne jest, aby mieć aktualną wersję Pandoc do drukowania plików PDF. W systemie Ubuntu od 15 czerwca 2012 utknąłem z wersją 1.8.1 Pandoc w menedżerze pakietów, ale z dziennika zmian wynika, że do obsługi formatu PDF potrzebujesz co najmniej wersji 1.9+ Pandoc.
Tak więc zainstalowałem caball-install
. A potem pobiegł:
cabal update
cabal install pandoc
Pandoc został zainstalowany w programie ~/.cabal/bin/pandoc
Tak więc, kiedy uruchomiłem pandoc
, nadal wyświetlał starą wersję. Zobacz tutaj, aby dodać do ścieżki .
knit
imdconvert.sh
). Może być trudno znaleźć podejście ogólne, ponieważ LaTeX jest zbyt elastyczny; możesz używać wszelkiego rodzaju szablonów dla pandoc.