循环编织选项

时间:2012-10-15 20:04:04

标签: 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}

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

1 个答案:

答案 0 :(得分:5)

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

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