如何编写多文件项目?

Rom*_*rik 8 latex r literate-programming sweave

我在LaTeX写论文,因为我的口味有点长,我把它分成了几个文件.让我们给他们打电话thesis.tex,intro.tex,mat_n_met.tex,rslts.texdiscsn.tex.我有联系intro.tex,mat_n_met.tex,rslts.texdiscsn.tex通过thesis.tex\include{intro}(等等...).我还创建了一个名为r_crunching.Rnw(我通过Sweave运行)的单独文件,其中包含一个运行R脚本的块,其中包含数据分析和块,这些块生成我嵌入的图形的pdf输出\includegraphics(例如,rslts.tex).还在关注?

如果我使用R脚本运行一个Rnw(即我重命名rslts.texrslts.Rnw)没有"链接"到块,您将收到一个Sweave()错误,指出引用\Sexpr{}不存在.有没有办法,没有将所有文件合并到一个.Rnw,来打电话\Sexpr{}rslts.Rnw

其他方法如何实现这一点是受欢迎的.

Gus*_*ius 5

我建议使用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文档.


Dir*_*tel 4

暂时忘记您正在处理 Sweave,只需考虑乳胶问题 -\include\includeonly提供解决方案。使用一些简单的测试文件尝试一下。

一旦你弄清楚了这一点,将 Sweave 重新融入到混合中,它就可以像 Sweave 那样工作,因为 Sweave “仅仅”是一个预处理步骤,尽管这是一个非常聪明的步骤。