我很好奇,有没有办法在循环中结合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}
然而,这会产生一些非常奇怪的输出。有没有办法使用这样的循环来动态更改输出,或者可能包含或不包含某些块?
答案 0 :(得分:5)
这是不可能的。一个文档仅支持一个主题,因为所有颜色都在前导码中定义,并且只能有一组定义。如果您想要不同的主题,它们必须存在于不同的文档中。请参阅此要点,了解如何在HTML中执行此操作以及knitr
中的内置主题库:https://gist.github.com/3422133
使用LaTeX / PDF,您还可以在Rnw文档上循环生成不同主题的PDF,并使用\includegraphics{}
将它们包含在主TeX文档中。您可以解决它,因为它与上面的HTML示例没有太大区别。