uma*_*ani 5 r rstudio knitr rnw
我从我的大学获得了两个使用LaTeX撰写论文的文件.一个是.sty文件,另一个是.TeX文件.为了在R studio中工作,我决定为每个章节分别使用.Rnw文件和一个用于组合所有章节的文件.我认为.TeX文件是我可以组合所有章节的文件,因为它提供了输出中的示例章节.在R studio的网站上有一个标题为"使用多个Rnw文件"的页面,它描述了这个过程(我猜),但我不清楚.它讨论了'儿童'文件,我认为这是我案例中的章节.所以我的简单问题是,如果我创建不同的.Rnw文件,每章一个,我怎么能要求R将它们合并到一个大学提供给我的TeX文件中?因为我不熟悉可重复的研究内容,请承担我的无知.
假设您使用 knit(我强烈推荐 knitr 而不是 sweave),执行此操作的简单方法是使用child chunk 选项。
举个例子,假设您有 2 个章节,保存在文件chap1.Rnw和chap2.Rnw一个主文档中thesis.Rnw(大学风格文件名为thesisStyle)。您可以将它们放在一起thesis.Rnw- 假设它们都在同一个目录中 - 通过:
\documentclass{article}
\usepackage{thesisStyle}
\begin{document}
% "include" chapter 1
<<chap1, child='chapt1.Rnw'>>=
@
% again with chapter 2
<<chap2, child='chap2.Rnw'>>=
@
\end{document}
Run Code Online (Sandbox Code Playgroud)
然后只需编译 RStudio thesis.Rnw,它就会输出thesis.tex将所有内容正确捆绑在一起的信息。
但这还不是全部!您chap1.Rnw无需为其提供自己的序言即可进行开发。也就是说,如果 的内容chap1.Rnw是
<<echo=FALSE, cache=FALSE>>=
set_parent('thesis.Rnw')
@
\chapter{In a world where...}
\section{Great voice actors in movie trailer history}
ANYTHING YOU'D NORMALLY PUT IN AN .Rnw FILE
Run Code Online (Sandbox Code Playgroud)
然后你可以chap1.Rnw像任何常规 .Rnw 文件一样进行编译,并且它将在运行你正在使用的任何 TeX 后端(通常是 pdflatex 或 xelatex)之前获取前导码thesis.Rnw。特别是,knitr 会拍击顶部的\documentclass{article}和线。\usepackage{thesisStyle}chapt1.tex
需要注意的是,我发现 knitr 中的子父模型对空白敏感。因此,请确保块上方没有空间
<<echo=FALSE, cache=FALSE>>=
set_parent('thesis.Rnw')
@
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1670 次 |
| 最近记录: |