我很乐意在我的Sweave报告中创建的所有graphics.pdf上使用一些基于shell脚本的pdfcrop。因此,如果将所有图形存储到子文件夹而不是丢弃所有乳胶类似.aux .log文件(等等)所在的位置,我会很高兴。如果我只需要在特定目录中的所有文件上使用裁剪脚本,那就容易多了。
这是我的Sweave大块:
\begin{figure}[htbp]
\begin{center}
<<fig=true,echo=false>>=
print(mygraph)
@
\caption{my graph}
\end{center}
\end{figure}
如果我运行sweave代码,mygraph.pdf存储在与report.tex文件本身相同的目录中。
有没有办法将此文件存储在像/ graphics这样的现有子文件夹中?
答案 0 :(得分:9)
插入此内容:
\SweaveOpts{prefix.string=foo/bar}
进入您的Sweave源文件,最好是前言中的顶部。上面的行取自Sweave FAQ,并指出创建的数字将存储在子目录(Sweave源所在的目录)foo
中,每个图像文件名将以bar
开头。在Sweave FAQ.
答案 1 :(得分:6)
好的RTFM,ran2。
以下是:
\SweaveOpts{prefix.string=graphics/report}
另见:the manual。
图形是目录,报告是您可能想要使用的子字符串。至少你会在谷歌上找到更好的东西:)
编辑:
为了完整起见,我将在这里添加几行shell脚本:
#!/bin/sh
R CMD Sweave report.Rnw
for file in `ls graphics`;
do pdfcrop "$file" graphics/"$file"
done
pdflatex report.tex
open report.pdf
也许有些人想要使用$ 1作为目录参数。