使用R CMD Sweave我的.tex文件始终在我的HOME目录中生成。有可能改变这个吗?我的意思是我可以使用shell脚本来制作它,但我想有更好的技巧可以做到这一点
@Dirk: 我使用了我发布的脚本here而pdflatex找不到该文件,因为它总是被写入我的用户的HOME目录。
答案 0 :(得分:0)
咦?它始终位于当前工作目录中。所以试试
mkdir foo
mv whatever.Rnw foo
cd foo
R CMD Sweave whatever.Rnw
和whatever.tex
现在将是~/foo
,因为这是你a)放置源和b)调用命令。
答案 1 :(得分:0)
所以这里对我有用...没有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