我很乐意在我的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}
Run Code Online (Sandbox Code Playgroud)
如果我运行sweave代码,mygraph.pdf存储在与report.tex文件本身相同的目录中.
有没有办法将此文件存储在像/ graphics这样的现有子文件夹中?
插入此:
\SweaveOpts{prefix.string=foo/bar}
Run Code Online (Sandbox Code Playgroud)
进入您的Sweave源文件,最好是前言中的顶部.上面的行取自Sweave FAQ,并指出创建的数字将存储在子目录(Sweave源所在的目录)中foo,并且每个图像文件名都将以bar.在Sweave FAQ中讨论了这一点以及更多内容.
好的RTFM,ran2.
这是如何做:
\SweaveOpts{prefix.string=graphics/report}
Run Code Online (Sandbox Code Playgroud)
另见:手册.
图形是目录,报告是您可能想要使用的子字符串.至少你会在谷歌上找到更好的:)
编辑:
为了完整起见,我将在这里添加几行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
Run Code Online (Sandbox Code Playgroud)
也许有些人想要使用$ 1作为目录参数.