Rom*_*rik 8 latex r literate-programming sweave
我在LaTeX写论文,因为我的口味有点长,我把它分成了几个文件.让我们给他们打电话thesis.tex
,intro.tex
,mat_n_met.tex
,rslts.tex
和discsn.tex
.我有联系intro.tex
,mat_n_met.tex
,rslts.tex
并discsn.tex
通过thesis.tex
与\include{intro}
(等等...).我还创建了一个名为r_crunching.Rnw
(我通过Sweave运行)的单独文件,其中包含一个运行R脚本的块,其中包含数据分析和块,这些块生成我嵌入的图形的pdf输出\includegraphics
(例如,rslts.tex
).还在关注?
如果我使用R脚本运行一个Rnw(即我重命名rslts.tex
为rslts.Rnw
)没有"链接"到块,您将收到一个Sweave()
错误,指出引用\Sexpr{}
不存在.有没有办法,没有将所有文件合并到一个.Rnw,来打电话\Sexpr{}
说rslts.Rnw
?
其他方法如何实现这一点是受欢迎的.
我建议使用RStudio(http://www.rstudio.com/ide/).Sweave很好地集成到IDE中,它支持多文件文档.使用多文件文档时,即使Synctex和TeX错误日志导航仍然有效.
从主文件中,您可以包含子文件
\SweaveInput{Child.Rnw}
Run Code Online (Sandbox Code Playgroud)
您可以通过包含指令将子文件链接回主文件
% !Rnw root = Master.Rnw
Run Code Online (Sandbox Code Playgroud)
在子文件中.这样,当处理子文件并对其进行排版时,RStudio知道要排版主文件.
有关详细信息,请参阅http://www.rstudio.com/ide/docs/authoring/multiple_rnw_files上的RStudio文档.
暂时忘记您正在处理 Sweave,只需考虑乳胶问题 -\include
并\includeonly
提供解决方案。使用一些简单的测试文件尝试一下。
一旦你弄清楚了这一点,将 Sweave 重新融入到混合中,它就可以像 Sweave 那样工作,因为 Sweave “仅仅”是一个预处理步骤,尽管这是一个非常聪明的步骤。