Anteriormente pregunté sobre los comandos para convertir R Markdown a HTML .
¿Cuál es una buena manera de convertir archivos R Markdown a documentos PDF?
Una buena solución preservaría tanto como sea posible el contenido (por ejemplo, imágenes, ecuaciones, tablas html, etc.). La solución debe poder ejecutarse desde la línea de comandos. Una buena solución también sería multiplataforma e idealmente minimizaría las dependencias para facilitar el intercambio de archivos MAKE, etc.
Específicamente, hay muchas opciones:
- Si convertir RMD a MD a HTML a PDF; o RMD a MD a PDF; o RMD a PDF
- Si usa el
markdown
paquete en R, qué opciones especificar - Ya sea para usar
pandoc
, un paquete integrado en R u otra cosa
Aquí hay un archivo rmd de ejemplo que presumiblemente proporciona una prueba razonable de cualquier solución propuesta. Se utilizó como base para esta publicación de blog .
r-markdown
knitr
pandoc
Jeromy Anglim
fuente
fuente
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.Respuestas:
Respuesta actualizada (10 de febrero de 2013)
Paquete rmarkdown : ahora hay un
rmarkdown
paquete disponible en github que interactúa con Pandoc. Incluye unarender
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,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:
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
).y luego este comando para convertir a pdf
Algunas notas sobre esto:
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).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ó: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 .fuente
pandoc
está en la versión 1.12 incluso en mi Ubuntu 13.04 ahora desactualizado.Creo que realmente necesita Pandoc , que gran software fue diseñado y construido solo para esta tarea :) Además de PDF , puede convertir su archivo md a, por ejemplo, docx o odt, entre otros.
Bueno, instalar una versión actualizada de Pandoc podría ser un desafío en Linux (ya que necesitaría todo
haskell-platform
˙ para construir desde las fuentes), pero realmente fácil en Windows / Mac con solo unos pocos megabytes de descarga.Si tiene el archivo de reducción preparado / tejido, simplemente puede llamar,
pandoc
por ejemplo, bash o con lasystem
función dentro de R. Una demostración POC de este último se implementa en laṖandoc.convert
función de mi pequeño paquete ( que debe aburrir terriblemente cuando intento señale su atención allí en cada oportunidad ).fuente
--toc
sería útil en la línea de comandos (lo que da como resultado una tabla de contenido basada en sus encabezados) y también personalizar la plantilla LaTeX para sus necesidades (como agregar allí\listoffigures
y / o\listoftables
etc.) podría generar documentos maravillosos.apt-get install pandoc
?sources.list
yapt-get install -t testing pandoc
luego la instalaciónhaskell-platform
y la compilación. (Por lo general, hago esto con experimental. Espero que funcione de la misma manera en las pruebas.)En este momento (agosto de 2014) Podría usar RStudio para convertir R Markdown a PDF. Básicamente, RStudio usa pandoc para convertir Rmd a PDF.
Puede cambiar los metadatos a:
Para más detalles: http://rmarkdown.rstudio.com/pdf_document_format.html
fuente
Para una opción que se parece más a lo que obtienes cuando imprimes desde un navegador,
wkhtmltopdf
ofrece una opción.En Ubuntu
Y luego el mismo comando que para el ejemplo de pandoc para llegar al HTML:
y entonces
El archivo resultante se parecía a esto . No parecía manejar MathJax ( este tema se trata aquí ), y los saltos de página son feos. Sin embargo, en algunos casos, tal estilo podría preferirse sobre una presentación más de estilo LaTeX.
fuente
system("wkhtmltopdf temp.html temp.pdf")
cualquier idea de cómo solucionar esoSolo dos pasos:
Instale la última versión "pandoc" desde aquí:
https://github.com/jgm/pandoc/releases
Llame a la función
pandoc
en ellibrary(knitr)
Por lo tanto, puede convertir su "input.md" en "input.pdf".
fuente
Encontré que usar R studio es la forma más fácil, pero si quiero controlar desde la línea de comandos, entonces un simple script R puede hacer el truco usando el comando rmarkdown render (como se mencionó anteriormente). Detalles completos del guión aquí
fuente
Si no desea instalar nada, puede generar html. Luego abra el archivo html; debe abrirse en una ventana del navegador, luego haga clic derecho para imprimir. En la ventana de impresión, seleccione "guardar como pdf" en la esquina inferior derecha si está en una Mac. Voila!
fuente
Sigue estos sencillos pasos:
1: En la secuencia de comandos Rmarkdown, ejecute Knit (Ctrl + Shift + K) 2: Luego, una vez que se abra la marcación html, haga clic en Abrir en el navegador (parte superior izquierda) y el html se abrirá en su navegador web 3: Luego use Ctrl + P y Guardar como pdf .
fuente