2010-09-23 1 views
13

J'écris un paquet en R et j'apprécierais un exemple de code bash pour traiter les fichiers Rd en latex puis en pdf.Comment puis-je convertir des fichiers Rd en pdf pour un paquet que je crée en R?

Il se trouve dans le répertoire ~/mypkg/dev /. J'ai généré la structure de fichier et les modèles Rd.

de ~/mypkg/dev/homme, j'ai essayé

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

fichier mypkg-package.tex est généré, mais

pdflatex mypkg-package.tex 

génère tex sans aucun préambule.

J'ai lu la documentation dans "Writing R extensions" et "R CMD Rdconv --help" à ce sujet, mais aucun exemple n'est fourni.

Merci

Répondre

16

Il y a deux problèmes ici:

D'abord, la commande Rdconv Transforme ne un fichier Rd à la fois; votre question suggère que vous voulez le manuel complet.

Deuxièmement, la commande Rd2dvi est votre ami. Je viens de courir ce qui suit sur un paquet local:

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

Cela devrait être ce que vous avez demandé.

+8

avec R 2.15, maintenant cette commande renvoie 'R CMD Rd2dvi est défunte: utilisation Rd2pdf instead' –

+4

Toute personne qui lit ceci devrait noter que la commande Dirk donne est effectuée sur la ligne de commande, pas dans R. –

3

0. De la question, il est supposé que vous avez des fichiers .Rd.

Vous avez peut-être obtenu ces fichiers .Rd via le package roxygen ou d'autres manières. Vous avez besoin de .pdf de votre colis. Une façon de le faire est à partir de la ligne de commande de Windows.

1. Ouvrez l'invite de commande Windows (en mode Administrateur, si possible). Démarrer - tapez « cmd » - (en option: un clic droit sur l'icône qui apparaît - Exécuter en tant qu'administrateur)

2. passe dans le répertoire de travail courant de la R (il peut être trouvé via « getwd() » dans la console de R) dans la commande propmt. Le répertoire de travail actuel de R contient le dossier avec votre source de paquet.

cd C:\Users\erdogan\Documents\Revolution 

3. Par souci d'argument, dire le dossier du package a été appelé "causfinder". Exécutez la commande suivante dans l'invite de commande Windows:

(assurez-vous de ne pas avoir de causfinder.pdf dans le répertoire de travail de R (Vous avez peut-être obtenu un certain causfinder.pdf incompatible avec le développement R avec d'autres moyens en dehors de R .) S'il existe, supprimer causfinder.pdf premier Sinon, vous obtenez cette erreur: « fichier « causfinder.pdf » existe, s'il vous plaît d'abord le supprimer »)

R CMD Rd2pdf causfinder/ 

cette commande éxécute .rd -. > LateX -> processus .pdf automatiquement. Vous obtenez un causeur.pdf dans le répertoire de travail de R.

C'est en outre décrit dans le manuel sur les extensions d'écriture R sous la section « fichiers de documentation de traitement »

3

Essayez ceci. Cela a fonctionné pour moi. trouvé de 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

J'ai créé une fonction bash de base, donc je peux courir rdoc de ma ligne de commande. Il génère les fichiers Rd, crée le pdf et l'ouvre. Je l'utilise uniquement pour tester, pas pour créer la documentation finale. Vous pouvez l'ajouter en ajoutant la fonction suivante à votre .bashrc (ou celui que vous utilisez) fichier

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 
}