R 有没有办法在代码中定义所有swave选项?

R 有没有办法在代码中定义所有swave选项?,r,sweave,R,Sweave,引用pgfSweave手册: 如何设置图形和缓存的子目录? 这是直接从swave和cacheswave手册中获得的(这里没有什么新内容)。对于地物子目录,请使用prefix.string选项: 对于缓存子目录,请在开头使用代码块,或在文档中使用类似以下内容的代码块: = setCacheDir(“缓存”) @ 我觉得这两个选项在不同的地方很烦人,R代码和latex指令。是否有一种方法可以在调用swave之前使用R code设置前缀.string选项?可以使用\swaveopts或在调用swav

引用pgfSweave手册:

如何设置图形和缓存的子目录? 这是直接从swave和cacheswave手册中获得的(这里没有什么新内容)。对于地物子目录,请使用prefix.string选项:

对于缓存子目录,请在开头使用代码块,或在文档中使用类似以下内容的代码块:

=
setCacheDir(“缓存”)
@

我觉得这两个选项在不同的地方很烦人,R代码和latex指令。是否有一种方法可以在调用
swave
之前使用R code设置
前缀.string
选项?

可以使用
\swaveopts
或在调用
swave
时全局设置swave选项,如下所示:

Sweave("tmp.Rnw", prefix.string="figs/figs")

我想知道答案。我想知道的更多是,是否有一种方法可以同时调整图形的渲染大小(R)和它在文档中的显示大小(LaTeX)。看……嗯,我的两个问题。我也不记得我为那个项目做了什么。我认为困难的一部分(或全部?)是
\swaveopts
实际上并不是一个乳胶指令。相反,这是一个指示,以swave。Swave使用
prefix.string
告诉R的
pdf()
和/或
ps()
将图形文件放在何处,并告诉LaTeX在何处查找它们(通过构造
\includegraphics{}
命令)。如果它只是一个LaTeX指令,那么通过类似于
=
块的方法,您将有更好的机会找到解决方法。@Ben Bolker:这与您在tex.stackexchange上链接到的方法类似。简单的回答是,您要么修改swave驱动程序,要么编写一个LaTeX函数。我很快会有一个扩展的答案,至少会发布其中一个问题。@BenBolker:我后来了解到,使用
\setkeys{Gin}
比我想象的更强大,而且是更改文档中显示的大小的一种简单方法;你显然已经知道这一点了。所以我不太明白你说的用宏包装它是什么意思,以及它的目的是什么。谢谢你。很高兴知道。FWIW,通过
.Rnw
文档中的
\swaveopts
设置的任何选项似乎优先于调用
swave()
@JoshO'Brien中设置的相同选项,顺序合理。在四处探索的同时,我还发现可能有一个环境变量也能起到帮助作用。有人知道吗?我刚才遇到的一个警告是pgfSweave不接受驱动程序中的prefix.string选项。@Andrewred:看起来选项可以通过
swave_options
环境变量传递,并且必须是单字符字符串的形式,选项之间用逗号分隔。这里有一个有效的例子:
swave_OPTIONS=“prefix.string=swavefigures/,png=TRUE”
。通常,您可以通过调用
Sys.setenv()
或在
etc/Renviron.site
中以交互方式进行设置。
<<setup,echo=F>>=
setCacheDir("cache")
@
Sweave("tmp.Rnw", prefix.string="figs/figs")