2010-08-18 5 views
0

EDIT :이 스크립트의 문제는 Sweave Code의 출력 디렉토리이므로 Sweave/R 문제이기 때문에이 문제를 다시 고쳐야했습니다. R CMD Sweave에 해당하는 옵션이 있습니까?쉘 스크립트로 만든 파일의 디렉토리를 설정 하시겠습니까?

.Rnw 파일에서 .tex 파일을 만드는 셸 스크립트가 있습니다. 이 파일은 더 이상 처리해야하지만 스크립트에 의해 발견되지는 않습니다. 왜냐하면 그것이 자동으로 홈 디렉토리에 생성되기 때문입니다.

다른 모든 정보가 있으므로 .Rnw 파일의 폴더에 .tex 파일을 생성해야합니다. .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 

들으, 초기 스크립트를 도와 준 모든 사람들에게 :

여기에 코드입니다!

+0

이 도구로 만든 Apps는 기본적으로 .tex 파일을 Apps 패키지 폴더에 저장하기 때문에 어제에서 제안한 Platypus와 함께 사용하는 것이 중요합니다. –

답변

1

dirname은 파일의 디렉토리 이름을 가져 오는 데 사용하거나 /으로 이전에 확장자와 동일한 대체 유형을 사용할 수 있습니다.

filedir="${no_ext%/*}" 
/usr/local/texlive/2009/bin/universal-darwin/pdflatex -output-directory "$filedir" "$no_ext.tex" 
+0

Thx, 필자가 pdflatex의 출력 디렉토리 옵션을 인식하지 못했던 것처럼 보입니다. :) –

관련 문제