Était-ce utile?

La solution

Quelques autres utilisateurs R j'ai parlé d'utiliser une configuration « un répertoire par projet », et un Makefile simple. Comme vous le soupçonnez, qui fonctionne bien avec Emacs / ESS.

J'ai tendance à appeler juste un simple script shell sweave que je l'ai déjà écrit avant R CMD Sweave 'a été ajouté (que je trouve recréer ou copier le Makefile peu attrayant, YMMV). Je l'utilise aussi Emacs et une visionneuse PDF auto-rafraîchissant (comme okular ou kpdf). Emacs23 peut afficher un aperçu des fichiers PDF directement aussi, mais je dois encore passer mon flux de travail à ce sujet.

edd@ron:~$ cat bin/sweave
#!/bin/bash -e

function errorexit () {
    echo "Error: $1"
    exit 1
}

function filetest () {
    if [ ! -f $1 ]; then
       errorexit "File $1 not found"
    fi
    return 0
}


if [ "$#" -lt 1 ]; then
    errorexit "Need to specify argument file"
fi


BASENAME=$(basename $1 .Rnw)

RNWFILE=$BASENAME.Rnw
filetest $RNWFILE
echo "library(tools); Sweave(\"$RNWFILE\")" \
      | R --no-save --no-restore --slave

LATEXFILE=$BASENAME.tex
filetest $LATEXFILE && pdflatex $LATEXFILE

Autres conseils

J'utilise TeXShop sur OS X pour produire tous mes rapports et Sweave LATEX . Pour moi, un nouveau pipeline de compilation est aussi simple que l'ajout d'un fichier, appelé Sweave.engine à ~/Library/TeXShop/Engines/ qui contient les éléments suivants:

#!/usr/bin/env Rscript
args <- commandArgs(T)

fname <- strsplit(args[1],'\\.')[[1]][2]

Sweave(paste(fname,'Rnw',sep='.'))

system(paste('pdflatex',paste(fname,'tex',sep='.')))

Sweave est maintenant une méthode au choix de la compilation d'un document à l'intérieur TeXShop. Je peux définir en tant que la valeur par défaut pour un document en ajoutant le bang hachage TeX suivant au début du fichier:

% !TEX TS-program = Sweave

frapper Cmd-T va composer le document- le pdf sort automatiquement dans une fenêtre séparée. TeXShop intègre également SyncTeX technologie pour un Cmd-clic dans la source Rnw mettra en évidence la sortie correspondante dans la fenêtre PDF et un Cmd-clic dans la fenêtre PDF souligneront l'entrée correspondante dans la source Rnw.

TeXShop est mac-only, mais un grand Qt / clone basé poppler, TeXworks , est disponible pour Linux, Windows et Mac et prend en charge un grand nombre de même features-- y compris TeX hachage bangs et SyncTeX. TeXworks a atteint un niveau de maturité où il est inclus dans la version 2.8 du MikTeX package pour Windows.

rstudio .

Je suis un fan de Emacs et TeXShop comme mentionné dans les réponses précédentes.

Cependant, rstudio commence à me gagner. Il est un IDE dédié rapide amélioration pour R. Certainement la peine de vérifier.

J'aime encore faire certaines tâches de développement R uniquement dans la norme R IDE pour mac. Mais pour les documents Sweave et certains devel R associé en même temps, rstudio gagne. Il fonctionne avec pratiquement zéro peaufinage. Je ne sais pas sur les caractéristiques le format PDF dans la seconde moitié de la question initiale.

Une chose qui m'a sauvé quelque temps est le mode « auto-insertion » dans emacs. Je l'ai mis en place afin que chaque fois que j'ouvrir un nouveau fichier .rnw, emacs configure automatiquement un modèle de document de base et tout ce que je dois faire est de commencer à écrire mon rapport.

Mise à jour: Je suis passé loin de insertion automatique. Maintenant, j'utilise l'approche "template.el".

J'utilise le « un répertoire par projet » et l'approche Makefile ainsi. Je ajoute aussi des commandes pour créer une sortie en HTML, qui peuvent ensuite être convertis en OOo et MS Word, en utilisant TTH. Ceci est important pour moi depuis que beaucoup de mes collaborateurs sont les utilisateurs de MS Office et sont résistants à l'utilisation de la sortie PDF. J'ai appris beaucoup de choses sur la façon de faire de la twiki de Frank Harrell à Vanderbilt.

Personnellement, j'utilise vim comme éditeur de choix et en cours d'exécution make à partir de là est tout à fait simple, comme il est d'Emacs.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top