循环编织选项

jeb*_*nes 2 r knitr

我很好奇,有没有办法在循环中结合knitr选项的变化?例如,如果我想循环查看同一块代码在所有不同的knitr主题中的外观,我的第一个猜测是:

\ {的DocumentClass文章}

\begin{document}

<<test>>=
themes<-knit_theme$get()


for (a.theme in themes){

  knit_theme$set(a.theme)

  a <- 3+5
   b<- sum(1:10, na.rm=T)
  for(g in 1:10) z<-0
}
@

\end{document}
Run Code Online (Sandbox Code Playgroud)

然而,这会产生一些非常奇怪的输出.有没有办法使用这样的循环,动态更改输出,或者动态包含或不包含某些块?

Yih*_*Xie 5

这是不可能的.一个文档仅支持一个主题,因为所有颜色都在前导码中定义,并且只能有一组定义.如果您想要不同的主题,它们必须存在于不同的文档中.请参阅以下要点:HTML中的内容以及内置主题库knitr:https://gist.github.com/3422133

使用LaTeX/PDF,您还可以在Rnw文档上循环生成不同主题的PDF,并用于\includegraphics{}将它们包含在主TeX文档中.您可以解决它,因为它与上面的HTML示例没有太大区别.