读这个
只要嵌套结构在您的脑海中清晰可见,您就可以在另一个文档中自由地嵌套一个Rnw文档.
在http://yihui.name/knitr/demo/child/ 我认为可以在已经嵌套的Rnw文档中嵌套一个Rnw文件.不幸的是,我没有设法这样做(可能是由于缺乏知识).例如,我有以下目录和文件:
工作目录
_ test.Rnw
_子文件夹
_ _ subdoc.Rnw
_ _子文件夹
_ _ _ subsubdoc.Rnw
包含:
% test.Rnw
\documentclass{article}
\begin{document}
<<child1, child='Subfolder/subdoc.Rnw', eval=TRUE>>=
@
\end{document}
Run Code Online (Sandbox Code Playgroud)
...并在subdoc.Rnw中我想包含另一个Rnw:
% subdoc.Rnw
<<child1, child='Subsubfolders/subsubdoc.Rnw', eval=TRUE>>=
@
Run Code Online (Sandbox Code Playgroud)
不幸的是,我在编织test时得到以下错误信息.Rnw:
...
label:child1(带选项)2 $ child的列表:chr"Subsubfolder/subsubdoc.Rnw"$ eval:logi TRUE
readLines中的Warnung(if(is.character(input2)){:kann Datei'Pubububderder /subsubdoc.Rnw'nichtöffnen:Datei oder Verzeichnis nicht gefunden
从第1-1行退出(./Subfolder/Subsubfolder/subsubdoc.Rnw)
从第2-4行退出(./Subfolder/Subsubfolder/subsubdoc.Rnw)
readLines中的Fehler(if(is.character(input2)){:kann Verbindungnichtöffnen
调用:knit ... process_group.block - > call_block - > lapply - > FUN - > knit - > readLines
Ausführungangehalten
这意味着,knitr无法打开'Subsubfolder/subsubdoc.Rnw',因为没有这样的文件或目录.将subdoc.Rnw中的代码更改为
<<child1, child='Subfolder/Subsubfolders/subsubdoc.Rnw', eval=TRUE>>=
@
Run Code Online (Sandbox Code Playgroud)
也没有意义,因为现在knitr试图将wd设置为
./Subfolder/Subfolder/Subsubfolder/subsubdoc.Rnw
Run Code Online (Sandbox Code Playgroud)
.编译test.Rnw没有在subdoc.Rnw中的子输入工作完美.
我在平台上使用knitr_1.5,R版本3.0.2(2013-09-25):i686-pc-linux-gnu(32位).