如何更改R CMD Sweave的输出目录?

时间:2010-08-18 13:49:13

标签: r sweave

使用R CMD Sweave我的.tex文件始终在我的HOME目录中生成。有可能改变这个吗?我的意思是我可以使用shell脚本来制作它,但我想有更好的技巧可以做到这一点

@Dirk: 我使用了我发布的脚本here而pdflatex找不到该文件,因为它总是被写入我的用户的HOME目录。

2 个答案:

答案 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