2015-02-19 17 views
8

Czy można użyć funkcji knitr knit2pdf() bezpośrednio z plikami R Markdown (Rmd)? Widziałem różne samouczki/notatki klasowe, które sugerują, że może to być np. here i here (Ctrl + F "knit2pdf" w obu).Używanie knit2pdf z plikami Rmd

Ale kiedy biorę prosty plik RMD (zapisany jako "test.rmd")

--- 
title: "knit2pdf test" 
author: "A Aaronson" 
date: "Thursday, February 19, 2015" 
output: pdf_document 
--- 

This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see <http://rmarkdown.rstudio.com>. 

When you click the **Knit** button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this: 

```{r} 
summary(cars) 
``` 

You can also embed plots, for example: 

```{r, echo=FALSE} 
plot(cars) 
``` 

Note that the `echo = FALSE` parameter was added to the code chunk to prevent printing of the R code that generated the plot. 

i spróbuj

library(knitr) 
knit2pdf("test.Rmd") 

I pojawia się następujący błąd

wyniki w:

output file: test.md 

Error: running 'texi2dvi' on 'test.md' failed 

LaTeX errors: 
! Emergency stop 
*** (job aborted, no legal \end found) 

! ==> Fatal error occurred, no output PDF file produced! 
! ==> Fatal error occurred, no output PDF file produced! 
In addition: Warning message: 
running command '"C:\PROGRA~2\MIKTEX~1.9\miktex\bin\texi2dvi.exe" --quiet --pdf "test.md" --max-iterations=20 -I "C:/PROGRA~1/R/R-31~1.2/share/texmf/tex/latex" -I "C:/PROGRA~1/R/R-31~1.2/share/texmf/bibtex/bst"' had status 1 

Clicki ng Przycisk "Knit PDF" zawsze z powodzeniem generuje plik pdf. Więc brakuje mi pośredniego kroku?

należy dodać, że knit2pdf() z plików RNW działa zgodnie z oczekiwaniami dla mnie, choć ja wciąż dostać ostrzeżenie

running command '"C:\PROGRA~2\MIKTEX~1.9\miktex\bin\texi2dvi.exe" --quiet --pdf "rnwtest.tex" --max-iterations=20 -I "C:/PROGRA~1/R/R-31~1.2/share/texmf/tex/latex" -I "C:/PROGRA~1/R/R-31~1.2/share/texmf/bibtex/bst"' had status 1 

Pomoc mile widziana.

+1

Sprawdzanie, widzę, że knit2pdf() oczekuje dokumentu RNW lub Rrst dlatego "knit2pdf() z plikami RNW działa zgodnie z oczekiwaniami", ale nie z Rmd. Myślę, że "Kliknięcie przycisku" Knit PDF "zawsze z powodzeniem generuje plik pdf", ponieważ pierwsza wersja Rnw lub rst generowana jest w kroku wstępnym, a następnie knit2pdf() wywołało wynik, aby wygenerować plik pdf (lub coś w tym stylu). Więc musisz dowiedzieć się, jak utworzyć pierwszą wersję z Rmd, a następnie użyć rst2pdf() – shekeine

Odpowiedz

7

Twój plik wejściowy jest w formacie .

Należy użyć funkcji render() w pakiecie , aby skompilować dokument.

Spróbuj:? Knit2pdf

library("rmarkdown") 
render("temp.rmd") 

enter image description here

Powiązane problemy