Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何将生成的图形保存到子文件夹?_R_Sweave - Fatal编程技术网

R 如何将生成的图形保存到子文件夹?

R 如何将生成的图形保存到子文件夹?,r,sweave,R,Sweave,我想在根据我的Swave报告创建的所有graphics.pdf上使用一些基于shell脚本的pdfcrop。因此,如果所有的图形都存储在一个子文件夹中,而不是放在所有latex文件(如.aux.log文件等)所在的位置,那我就好了。如果我只需要在特定目录中的所有文件上使用crop脚本,那会容易得多 以下是我的Swave区块: \begin{figure}[htbp] \begin{center} <<fig=true,echo=false>>= print(m

我想在根据我的Swave报告创建的所有graphics.pdf上使用一些基于shell脚本的pdfcrop。因此,如果所有的图形都存储在一个子文件夹中,而不是放在所有latex文件(如.aux.log文件等)所在的位置,那我就好了。如果我只需要在特定目录中的所有文件上使用crop脚本,那会容易得多

以下是我的Swave区块:

\begin{figure}[htbp]
  \begin{center}
  <<fig=true,echo=false>>=
  print(mygraph)
  @
\caption{my graph}
\end{center}
\end{figure}
\begin{figure}[htbp]
\开始{center}
=
打印(mygraph)
@
\标题{my graph}
\结束{中心}
\结束{图}
如果我运行swave代码,mygraph.pdf将与report.tex文件本身存储在同一目录中

是否有办法将此文件存储在现有子文件夹(如/graphics)中

好的RTFM,ran2

以下是方法:

 \SweaveOpts{prefix.string=graphics/report} 
另见:

graphics是目录,report是您可能想要使用的子字符串。至少你会在谷歌上找到更好的:)

编辑:

为了完整起见,我将在此处添加几行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作为目录参数

插入以下内容:

\SweaveOpts{prefix.string=foo/bar}

进入您的swave源文件,最好是在序言的顶部。上面这一行取自Swave常见问题解答,表示创建的图形将存储在(Swave源所在目录的)子目录
foo
,并且每个图像文件名将以
bar
开头。这一点,还有更多内容将在

acc中讨论。尽管我觉得这次我更快了;)@ran2你是,大约10秒;-)选择你自己的答案作为被接受的答案并没有错——甚至还有一个徽章(“自学”IIRC)。如果你想去接受你的回答,我不会觉得难受。最重要的是,一个有效的答案会被接受,这样任何人在以后遇到这个问题时都会知道答案是成功的。如果你自己的答案至少获得3票,那么你就会获得自学徽章。所以尽管接受了你的建议,我还是得到了一个;)