【发布时间】:2010-08-18 08:47:26
【问题描述】:
编辑:不得不重新标记这个,因为它是一个 Sweave / R 问题,因为这个脚本的问题是 Sweave 代码的输出目录。 R CMD Sweave 有对应的选项吗?
我有一个从 .Rnw 文件创建 .tex 文件的 shell 脚本。该文件需要进一步处理,但脚本找不到,因为它以某种方式自动生成到我的主目录。
我需要在 .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
感谢所有帮助编写此初始脚本的人!
【问题讨论】:
-
这对于昨天建议的 Platypus 的使用也很重要,因为使用该工具创建的应用程序默认将 .tex 文件保存到应用程序包文件夹中,这也不是最佳的。