R CMD Sweaveを使用すると、.texファイルは常にHOMEディレクトリに生成されます。これを変更することは可能ですか?シェルスクリプトでmvできるということですが、もっと良いトリックがあると思います
@Dirk:ここに投稿したスクリプトを使用しましたが、ファイルは常にユーザーのHOMEディレクトリに書き込まれているため、pdflatexはファイルを見つけられません。
は?常に現在の作業ディレクトリにあります。だから試してみてください
mkdir foo
mv whatever.Rnw foo
cd foo
R CMD Sweave whatever.Rnw
whatever.tex
これは、~/foo
a)ソースを配置し、b)コマンドを呼び出した場所だからです。
だからここに私のために働いたものがあります...RCMD 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