使用R CMD Sweave我的.tex文件總是在我的HOME目錄中生成。有沒有可能改變這一點?我的意思是我可以用一個shell腳本的MV,但我想可以去看一些更好的把戲做如何更改R CMD Sweave的輸出目錄?
@Dirk: 我使用的是貼here和pdflatex沒有找到該文件,因爲它總是寫劇本到我的用戶的HOME目錄。
使用R CMD Sweave我的.tex文件總是在我的HOME目錄中生成。有沒有可能改變這一點?我的意思是我可以用一個shell腳本的MV,但我想可以去看一些更好的把戲做如何更改R CMD Sweave的輸出目錄?
@Dirk: 我使用的是貼here和pdflatex沒有找到該文件,因爲它總是寫劇本到我的用戶的HOME目錄。
所以這裏是我的工作...... R CMD Sweave沒有參數,但仍然是一個解決方法。 使用basename和dirname幫了很多:)
#!/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
咦?它總是在當前工作目錄。因此,嘗試
mkdir foo
mv whatever.Rnw foo
cd foo
R CMD Sweave whatever.Rnw
和whatever.tex
現在將~/foo
,因爲這是你)把源和b)調用的命令。
只是編輯我的問題,指向鏈接中的腳本。腳本打開一個對話框,我可以選擇.Rnw文件(Mac OSX)。 – 2010-08-18 14:01:14
然後,您可能會遇到a)該腳本和/或您的路徑出現問題,並且b)由於「R CMD Sweave」沒有出錯,這是一個特別惡劣的問題。 – 2010-08-18 14:03:03
我不是怪'R CMD Sweave' :)。儘管如果有輸出目錄的參數,我可以使用它來代替文件。事實上,問題是$ myfile是從osascript返回的整個posix路徑,我無法正確分割它。但我必須分手的唯一原因是因爲我需要周圍的事情(因爲R CMD)。 – 2010-08-18 14:38:38
@Dirk,這很奇怪,因爲在我的R代碼中我從來沒有使用HOME作爲wd。 – 2010-08-18 15:12:16
我第一次甚至能夠使這個代碼與platypus一起工作。 – 2010-08-18 15:15:53