link app r cran

r - app - tags link shiny



Uso de una viñeta de PDF estática(precreada) en el paquete R (2)

Con R.rsp (> = 1.19.0) puede incluir un archivo de texto ''vignettes / main.pdf'' estático agregando un pequeño archivo de texto ''vignettes / main.pdf.asis'' que contiene:

%/VignetteIndexEntry{My amazing package} %/VignetteEngine{R.rsp::asis}

y asegúrate de tener:

Suggests: R.rsp VignetteBuilder: R.rsp

en el archivo de DESCRIPCIÓN de su paquete. Esto también funciona para viñetas HTML estáticas. Esto también se explica en una de las viñetas de R.rsp .

¿Cuál es la forma correcta de incluir un archivo PDF estático como una "viñeta" en un paquete CRAN a partir de R 3.0?

El truco descrito en este documento de usar un código auxiliar vacío Rnw no parece funcionar en R 3.0. El documento sugiere que ahora hay una mejor manera basada en /VignetteEngine{} pero no está del todo claro cómo funciona esto para los archivos PDF estáticos.


ACTUALIZACIÓN 2014-06-08: Para una mejor solución para incluir archivos PDF estáticos y archivos HTML en un paquete R, vea mi otra respuesta en este hilo sobre cómo usar R.rsp (> = 0.19.0) y su R.rsp::asis motor de viñetas de R.rsp::asis .

Todo lo que necesita es un archivo <name>.Rnw con un nombre que coincida con su archivo estático <name>.pdf , por ejemplo

vignettes/ static.pdf static.Rnw

donde <name>.Rnw (aquí static.Rnw ) es un archivo Sweave válido mínimo, por ejemplo

%/VignetteIndexEntry{<title to be displayed on the R vignette index page>} /documentclass{article} /begin{document} /end{document}

Este archivo fuente de viñeta ( <name>.Rnw ) engaña a R CMD build para compilarlo, es decir, las tools::buildVignettes() de R tools::buildVignettes() primero Sweave <name>.Rnw en <name>.tex como de costumbre. Sin embargo, debido a la forma en que está diseñado buildVignettes() , detectará nuestro archivo estático <name>.pdf como ya fue creado por el motor Sweave y, por lo tanto, no compilará ese archivo TeX ficticio en un archivo PDF (que sobrescribiría nuestro archivo estático). ).

Lo que es importante comprender es que (i) las viñetas se "construyen" durante la compilación de R CMD build , (ii) y cuando se crean se copian al directorio inst/doc/ (creado si falta) del paquete construido. Además, (iii) las vignettes/ directorio no formarán parte del paquete de compilación, es decir, el <pkgname>_<version>.tar.gz . Por lo tanto, asegúrese de buscar en inst/doc/ .

Entonces, para que quede claro, el uso de un <name>.Rnw podría considerarse un <name>.Rnw que podría romperse si alguien decide evitar esta estrategia. Sin embargo, si eso sucede, es completamente posible crear un motor de viñetas que no sea de Sweave cuyo único propósito es compilar un archivo <name>.pdf en un archivo ... <name>.pdf . Esto es válido y posible debido a la compatibilidad sin Sweave agregada en R (> = 3.0.0). He estado considerando agregar dicho motor al paquete R.rsp, por ejemplo, / VignetteEngine {R.rsp :: StaticPDF}. Con eso, ni siquiera tendría que tener ese archivo Rnw ficticio, solo el archivo PDF.

Espero que esto ayude