2010-08-18 4 views
1

L'utilisation de R CMD Sweave mon fichier .tex est toujours généré dans mon répertoire HOME. Est-il possible de changer cela? Je veux dire que je pourrais mv avec un script shell, mais je suppose que s `quelque chose de mieux astuce pour le faireComment puis-je changer le répertoire de sortie de R CMD Sweave?

@Dirk: Je utilisé le script que je here et posté pdflatex ne trouve pas le fichier car il est toujours écrit dans le répertoire HOME de mon utilisateur.

Répondre

0

Alors, voici ce qui a fonctionné pour moi ... Aucun argument pour R CMD Sweave, mais toujours une solution de contournement. l'utilisation de basename et dirname beaucoup aidé :)

#!/bin/bash 

myfile=$(/usr/bin/osascript << EOT 
tell app "AppleScript Runner" 
activate 
    return posix path of (choose file) 
    end 
    EOT) 

    if [ $? -eq 0 ] 
    then 
     echo $myfile 
     R CMD Sweave $myfile 
     no_ext=`basename $myfile .Rnw` 
     directory=`dirname $myfile` 
     mv ~/$no_ext.tex $directory/$no_ext.tex 
     /usr/local/texlive/2009/bin/universal-darwin/pdflatex -output-directory  $directory $no_ext.tex 
     open $directory/$no_ext.pdf 
     else 
      echo "User canceled" 
      fi 
+0

@Dirk, c'est étrange car aussi dans mon code R je n'utilise jamais HOME comme un wd. –

+0

Pour la première fois, j'ai même réussi à faire fonctionner ce code avec ornithorynque. –

0

Huh? C'est toujours dans le répertoire de travail actuel . Donc, essayez

mkdir foo 
mv whatever.Rnw foo 
cd foo 
R CMD Sweave whatever.Rnw 

et whatever.tex sera désormais ~/foo parce que c'est là que vous a) mettre la source et b) a appelé la commande.

+0

juste modifier ma question pour pointer vers le script dans un lien. Le script ouvre une boîte de dialogue dans laquelle je peux choisir le fichier .Rnw (Mac OSX). –

+0

Ensuite, vous pouvez avoir un) un problème avec ce script et/ou votre chemin et b) une question particulièrement mal formulée comme 'R CMD Sweave' n'est pas en faute. –

+0

Je ne blâme pas 'R CMD Sweave' :). Bien que s'il y avait un argument pour le répertoire de sortie je pourrais l'utiliser au lieu de mvv les fichiers. En effet, le problème est que $ monfichier est le chemin posix entier car il est retourné depuis l'osascript et j'ai du mal à le scinder correctement. Mais la seule raison pour laquelle je dois me séparer est parce que j'ai besoin de beaucoup de choses (à cause de R CMD). –

Questions connexes