2010-08-18 3 views
1

R CMD 사용 Sweave my .tex 파일은 항상 내 홈 디렉토리에 생성됩니다. 이것을 바꿀 수 있습니까? 난 내가 쉘 스크립트를 MV 수있는 의미,하지만 난 그것을R CMD Sweave의 출력 디렉토리를 변경하려면 어떻게해야합니까?

@Dirk을 몇 가지 더 나은 트릭 there`s 같아요 내가 그것을 항상 쓰여 있기 때문에 파일을 찾을 수없는 here 및 pdflatex을 게시 스크립트를 사용 내 사용자의 HOME 디렉토리로 이동하십시오.

답변

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 
+0

@Dirk, 내 R 코드 내에서 Wd로 HOME을 사용하지 않기 때문에 이상합니다. –

+0

처음으로 나는이 코드를 오리너구리와 함께 사용할 수있게 만들었습니다. –

0

허? 항상 현재 작업 디렉토리에 있습니다. 당신은) 소스를 넣고 B)는 명령을 호출 한 곳이기 때문에 그래서 지금 ~/foo 될 것

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

whatever.tex을 시도합니다.

+0

그냥 링크에서 스크립트를 가리 키도록 내 질문을 편집하십시오. 이 스크립트는 .Rnw 파일 (Mac OSX)을 선택할 수있는 대화 상자를 엽니 다. –

+0

그런 다음 스크립트 및/또는 경로에 문제가있을 수 있으며 b) 'R CMD Sweave'가 잘못되지 않았으므로 특히 잘못 말하는 질문이있을 수 있습니다. –

+0

나는'R CMD Sweave'를 비난하지 않는다. :) 출력 디렉토리에 대한 인수가 있다면 파일 대신에 사용할 수 있습니다. 실제로 문제는 osascript에서 반환 된 $ myfile이 전체 posix 경로이며 올바르게 분할하는 데 문제가 있다는 것입니다. 그러나 내가 분리해야만하는 유일한 이유는 (R CMD 때문에) 주변에 물건을 놓을 필요가 있기 때문입니다. –

관련 문제