2010-09-23 8 views
13

Estoy escribiendo un paquete en R y agradecería algún ejemplo de código bash para procesar los archivos Rd a látex y luego a PDF.¿Cómo convierto archivos Rd a PDF para un paquete que estoy creando en R?

Está en el directorio ~/mypkg/dev /. He generado la estructura de archivos y las plantillas de Rd.

desde ~/mypkg/dev/hombre, me han tratado se genera

R CMD Rdconv -o mypkg-package.tex --type=latex mypkg-package.Rd 

archivo mypkg-package.tex, pero

pdflatex mypkg-package.tex 

genera tex sin ningún preámbulo.

He leído la documentación en "Escribir extensiones R" y "R CMD Rdconv --ayudar" sobre este tema, pero no se proporcionan ejemplos.

Gracias

Respuesta

16

Hay dos cuestiones aquí:

En primer lugar, el comando Rdconv sólo transforma un archivo Rd a la vez; su pregunta sugiere que quiere el manual completo.

Segundo, el comando Rd2dvi es tu amigo. Acabo de ejecutar lo siguiente en un paquete local:

R CMD Rd2dvi --pdf --title='Test of foo' -o /tmp/foo.pdf man/*.Rd 

Eso debería ser lo que usted pidió.

+8

con R 2,15, ahora este comando devuelve 'R CMD Rd2dvi está extinta: el uso Rd2pdf instead' –

+4

Cualquiera que lea esto debe tener en cuenta que el comando Dirk da se está llevando a cabo en la línea de comando, no dentro de R. –

3

0. De la pregunta, se supone que tiene archivos .Rd.

Es posible que haya obtenido estos archivos .Rd mediante el paquete roxygen u otras formas. Necesitas .pdf de tu paquete. Una forma de hacerlo es desde la línea de comandos de Windows.

1. Abra el símbolo del sistema de Windows (en modo Administrador, si es posible). Inicio - escribe "cmd" - (opcional: haga clic en el icono que aparece - Ejecutar como administrador)

2. Pass en el directorio de trabajo actual del R (que se pueden encontrar a través de "getwd()" en la consola de R) en el comando propmt. El directorio de trabajo actual de R contiene la carpeta con su fuente de paquete.

cd C:\Users\erdogan\Documents\Revolution 

3. Por el bien del argumento, dicen que la carpeta del paquete se llama "causfinder". Ejecute el siguiente comando en el símbolo del sistema de Windows:

(asegúrese de que no tiene ningún causfinder.pdf en el directorio de trabajo de R (Es posible que haya obtenido algún R-development-incompatible causfinder.pdf con algunas otras formas fuera de R .) Si existe, elimine causfinder.pdf primera De lo contrario, se obtiene este error: "el archivo 'causfinder.pdf' existe, por favor elimine primero")

R CMD Rd2pdf causfinder/ 

este comando realiza .rd -. > LateX -> .pdf procesa automáticamente. Usted obtiene el causfinder.pdf en el directorio de trabajo de R.

Esto se describe adicionalmente en el manual de escritura R extensiones en la sección sobre "Procesamiento de archivos de documentación"

3

Prueba esto. Funcionó para mí encontrar desde Making an R package PDF manual using devtools

pack <- "name_of_your_package" 

path <- find.package(pack) 

system(paste(shQuote(file.path(R.home("bin"), "R")),"CMD", "Rd2pdf", shQuote(path))) 
1

He creado una función básica bash, por lo que sólo se puede ejecutar rdoc de mi línea de comandos. Genera los archivos Rd, crea el pdf y lo abre. Solo lo uso para probar, no para crear la documentación final. Puedes añadir añadiendo la siguiente función a su .bashrc (o el que usa) presentar

rdoc() { 
    echo -e "devtools::document()" | R --no-save 
    rm /tmp/rdoc.pdf 
    R CMD Rd2pdf -o /tmp/rdoc.pdf man/*.Rd 
    open /tmp/rdoc.pdf 
} 
Cuestiones relacionadas