Respuesta actualizada (10 de febrero de 2013)
Paquete rmarkdown : ahora hay un rmarkdown
paquete disponible en github que interactúa con Pandoc. Incluye una render
función. La documentación deja bastante claro cómo convertir rmarkdown a pdf entre una variedad de otros formatos. Esto incluye incluir formatos de salida en el archivo rmarkdown o ejecutar el suministro de un formato de salida a la función rend. P.ej,
render("input.Rmd", "pdf_document")
Línea de comando:
cuando ejecuto render
desde la línea de comando (p. Ej., Usando un archivo MAKE), a veces tengo problemas con la búsqueda de pandoc. Presumiblemente, no está en la ruta de búsqueda. La respuesta siguiente explica cómo añadir Pandoc al medio ambiente: R .
Entonces, por ejemplo, en mi computadora con OSX, donde tengo una copia de pandoc a través de RStudio, puedo usar lo siguiente:
Rscript -e "Sys.setenv(RSTUDIO_PANDOC='/Applications/RStudio.app/Contents/MacOS/pandoc');library(rmarkdown); library(utils); render('input.Rmd', 'pdf_document')"
Respuesta anterior (circa 2012)
Entonces, varias personas han sugerido que Pandoc es el camino a seguir. Consulte las notas a continuación sobre la importancia de tener una versión actualizada de Pandoc.
Usando Pandoc
Usé el siguiente comando para convertir R Markdown a HTML (es decir, una variante de este archivo MAKE ), donde RMDFILE
está el nombre del archivo R Markdown sin el .rmd
componente (también se supone que la extensión es .rmd
y no .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'))"
y luego este comando para convertir a pdf
Pandoc -s example-r-markdown.html -o example-r-markdown.pdf
Algunas notas sobre esto:
- Eliminé la referencia en el archivo de ejemplo que exporta tramas para imgur a imágenes de host.
- Eliminé una referencia a una imagen que estaba alojada en imgur. Las cifras parecen ser locales.
- Las opciones en la
markdownToHTML
función significaban que las referencias de imágenes son a archivos y no a datos almacenados en el archivo HTML (es decir, los eliminé 'base64_images'
de la lista de opciones).
- La salida resultante parecía este . Claramente ha hecho un documento muy estilo LaTeX en contraste con lo que obtengo si imprimo el archivo HTML a PDF desde un navegador.
Obtener la versión actualizada de Pandoc
Como mencionó @daroczig, es importante tener una versión actualizada de Pandoc para generar archivos PDF. En Ubuntu a partir del 15 de junio de 2012, estaba atascado con la versión 1.8.1 de Pandoc en el administrador de paquetes, pero según el registro de cambios, para la compatibilidad con PDF necesita al menos la versión 1.9+ de Pandoc.
Por lo tanto, lo instalé caball-install
. Y luego corrió:
cabal update
cabal install pandoc
Pandoc se instaló en ~/.cabal/bin/pandoc
Así, cuando lo ejecuté pandoc
, todavía veía la versión anterior. Vea aquí para agregar a la ruta .
knit
ymdconvert.sh
). Puede ser difícil presentar un enfoque general ya que LaTeX es demasiado flexible; Puedes usar todo tipo de plantillas para pandoc.