2011-11-18 22 views
10

me di cuenta de esto en los cambios de R 2,14:¿Qué hace exactamente R CMD Sweave --pdf?

R CMD Sweave tiene ahora una opción --pdf para producir una versión en PDF del documento Sweave procesado.

Probándolo, me di cuenta de que no solo ejecutaba pdfLaTeX en el texto resultante, sino que también incluía correctamente las referencias bibTeX y se limpiaba después. Parece una muy buena forma de usar Sweave ahora (sin mencionar lo fácil que es ahora implementar toda la rutina en los editores).

Pero, ¿qué es exactamente esto que se está ejecutando? No pude encontrar más detalles al respecto. Parece Sweave -> pdflatex -> bibtex -> pdflatex -> pdflatex al menos?

Respuesta

10

Gracias por la pregunta. Me había preguntado sobre el código detrás de ese proceso "automágico".

R CMD Sweave --pdf llama en última instancia tools::texi2dvi, que: se resuelven

Run [s] látex y bibtex hasta que todas las referencias cruzadas y crear [s] ya sea un archivo DVI o PDF.

(See here for more texi2dvi details).

Aquí es la cadena de acontecimientos puestas en movimiento por una llamada R CMD Sweave --pdf:

  • El archivo de origen rcmdfn.c tiene código que instruye R CMD Sweave para funcionar a través utils:::.Sweave() --args"Rterm.exe.

  • Si se establece --pdf, utils:::.Sweave() llama al tools::texi2pdf() para procesar el archivo Sweave.

  • texi2pdf() a su vez llama a tools::texi2dvi().

  • Finalmente, texi2dvi() examina el entorno para conocer qué herramientas están disponibles para él y realiza el trabajo descrito en el archivo de ayuda vinculado anteriormente.

0

Se podría tratar de realizar la conversión de PDF a Rnw manualmente en ver cuántas veces se necesitan los pasos respectivos para obtener el mismo resultado que R CMD Sweave.

0

no sé mucho sobre el funcionamiento interno, pero sé que la versión de desarrollo de rstudio le permitirá seleccionar entre knitr y Sweave así como entre pdflatex y xelatex, y da bibtex como una opción.

Cuestiones relacionadas