1

R CMD Sweaveを使用すると、.texファイルは常にHOMEディレクトリに生成されます。これを変更することは可能ですか?シェルスクリプトでmvできるということですが、もっと良いトリックがあると思います

@Dirk:ここに投稿したスクリプトを使用しましたが、ファイルは常にユーザーのHOMEディレクトリに書き込まれているため、pdflatexはファイルを見つけられません。

4

2 に答える 2

0

は?常に現在の作業ディレクトリにあります。だから試してみてください

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

whatever.texこれは、~/fooa)ソースを配置し、b)コマンドを呼び出した場所だからです。

于 2010-08-18T13:52:43.820 に答える
0

だからここに私のために働いたものがあります...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
于 2010-08-18T15:10:47.193 に答える