2010-08-18 3 views
1

Использование R CMD Sweave мой .tex-файл всегда создается в моем каталоге HOME. Можно ли это изменить? Я имею в виду я мог мв его сценарий оболочки, но я предполагаю, что `ы лучше какой-то трюк, чтобы сделать этоКак изменить выходной каталог R CMD Sweave?

@Dirk: Я использовал сценарий, который я отправил here и pdflatex не находит файл, потому что он всегда писал в каталог HOME моего пользователя.

ответ

0

Итак, вот что сработало для меня ... Нет аргументов для R CMD Sweave, но все же обходной путь. использование и базовое имя папки помогло :)

#!/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, это странно, потому что и внутри моего кода R я никогда не использую HOME как wd. –

+0

Впервые я даже смог заставить этот код работать с утконосом. –

0

А? Он всегда находится в текущем рабочем каталоге . Так что попробуйте

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

и whatever.tex теперь будет ~/foo, потому что это, где вы а) поставить источник и б) вызывается командой.

+0

просто изменить свой вопрос, чтобы указать на сценарий в ссылке. Скрипт открывает диалоговое окно, в котором я могу выбрать файл .Rnw (Mac OSX). –

+0

Тогда у вас может быть а) проблема с этим скриптом и/или вашим путем и b) особенно плохо сформулированный вопрос, так как «R CMD Sweave» не виноват. –

+0

Я не обвиняю «R CMD Sweave» :). Хотя если бы был аргумент для выходного каталога, я мог бы использовать его вместо файлов файлов. В самом деле проблема заключается в том, что $ myfile - это весь путь posix, поскольку он возвращается из osascript, и у меня есть проблема с его расщеплением. Но единственная причина, по которой я должен разделить, - это то, что мне нужно много вещей (из-за R CMD). –

Смежные вопросы