0

EDIT:これは、このスクリプトの問題はSweaveコードの出力ディレクトリであるため、むしろSweave / Rの質問であるため、これを再タグ付けする必要がありました。R CMD Sweave に対応するオプションはありますか?

.Rnw ファイルから .tex ファイルを作成するシェル スクリプトがあります。このファイルはさらに処理する必要がありますが、何らかの方法でホーム ディレクトリに自動的に生成されるため、スクリプトによって検出されません。

.tex ファイルを .Rnw ファイルのフォルダーに生成する必要があります (他のすべての情報がそこにあるため)。.Rnw ファイルは、通常、ファイル セレクターで選択されるものであることに注意してください。

副次的な質問: Java の JFileChooser に似た、特定のファイルのみを選択できるようにする、ファイルを選択するためのオプションはありますか?

コードは次のとおりです。

#!/bin/bash

myfile=$(/usr/bin/osascript << EOT
tell app "AppleScript Runner"
activate
    return posix path of (choose file)
    end
    EOT)

    if [ $? -eq 0 ]
    then
        R CMD Sweave $myfile
        no_ext="${myfile%.*}"
        /usr/local/texlive/2009/bin/universal-darwin/pdflatex $no_ext.tex
        open $no_ext.pdf
        else
            echo "User canceled"
            fi

この最初のスクリプトを手伝ってくれたすべての人に感謝します!

4

1 に答える 1

1

dirnameファイルのディレクトリ名を取得するために使用できます。または、/代わりに拡張子に対して以前に行ったのと同じ種類の置換を使用できます。

filedir="${no_ext%/*}"
/usr/local/texlive/2009/bin/universal-darwin/pdflatex -output-directory "$filedir" "$no_ext.tex"
于 2010-08-18T09:00:51.370 に答える