style studio paquetes img htmloutput div r knitr r-markdown pandoc

r - studio - tags$img shiny



¿Cómo produzco viñetas de paquetes R en múltiples formatos? (1)

Uso knitr y rmarkdown para escribir viñetas para los paquetes de R Gracias a la magia de pandoc , es fácil convertir estos documentos en una variedad de formatos. Me gustaría aprovechar esto ofreciendo viñetas tanto en HTML como en PDF. Rmarkdown admite el uso de parámetros para múltiples formatos de salida en el bloque de metadatos de documentos. Por ejemplo, podría tener algo como esto:

output: html_document: standalone: true smart: true normalize: true toc: true highlight: tango self-contained: true theme: cerulean pdf_document: toc: true highlight: tango geometry: margin=2cm documentclass: article classoption: a4paper

Desde la línea de comandos R puedo usar rmarkdown::render para crear uno o ambos documentos de salida sin dificultades. Sin embargo, cuando el paquete se compila, solo se utiliza el formato de salida que se enumera primero. He intentado incluir un Makefile que construye ambos al incluir algo en la línea de

all: %.Rmd $(R_HOME)/bin/Rscript -e "rmarkdown::render(''$*.Rmd'', ''all'')"

y eso es exitoso en el sentido de que todos los archivos de salida se generan, pero solo uno de ellos es reconocido como viñeta por R. Para obtener salidas adicionales incluidas en docs/ se deben agregar a .install_extras . Si bien eso garantiza que sean accesibles a través del índice HTML, se enumeran por separado de las viñetas y no creo que se pueda acceder a ellas desde R (a través de la vignette() ).

¿Hay una mejor manera (o alguna forma automatizada) de hacer esto?


Dos cosas:

  1. podría "incluir" el contenido común y tener dos archivos de origen con encabezados diferentes, o,

  2. Si la viñeta adicional realmente no aparece en el índice, escriba la suya propia. De las extensiones R de escritura: "En el momento de la instalación, se crea automáticamente un índice HTML para todas las viñetas del paquete a partir de las declaraciones / VignetteIndexEntry, a menos que exista un archivo index.html en el directorio inst / doc. Este índice está vinculado desde el índice de ayuda HTML para paquete." La entrada del índice de viñetas también podría ser una pista para que sus viñetas con nombres idénticos sean reconocidas como distintas.