我有一个主R降价文档(Rmd),其中我想在其中一个块中knit
几个单独的 Rnw文档(无子文档)。但是,当我在Rnw文档上调用knit
时,似乎没有处理包含的R代码块,导致在尝试对它们运行texi2pdf
时出错。
情况说明:
内部主人。 Rmd :
```{r my_chunk, echo=FALSE, message=FALSE, results='asis'}
... some code ...
knit("sub.**Rnw**", output = ..., quiet = TRUE)
tools::texi2pdf(tex_file)
... some code ...
```
是否需要一些其他配置才能使此方案有效?
答案 0 :(得分:2)
有几个原因可以直接执行您要执行的操作(在knit
环境中调用knit
)...
话虽如此,这似乎是完全预期的行为。
的内容
library(knitr)
files <- list.files( pattern = "*.Rnw", path = ".")
files
## [1] "test_extB.Rnw" "test_ext.Rnw"
for( f in files ) {
system( paste0("R -e \"knitr::knit2pdf('", f, "')\"") )
}
list.files( pattern="*.pdf", path=".")
## [1] "test_extB.pdf" "test_ext.pdf"
或在循环中调用Rscript
应该可以解决问题(基于提供的信息),这实际上是@kohske在评论中表达的内容。