4

我正在尝试使用 knitR 在 Latex 中生成模拟报告。我的 R 代码在产品上有一个循环,并为每个产品生成一个图表。我想为每个循环迭代包含一个部分标题。我使用了 resuls='asis' 并尝试在循环中打印部分标题,如下面的代码块所示:

<<looptest, echo=FALSE, results='asis', warning=FALSE>>=
for (product in c("prod 1","prod 2")){
    print(paste("\\section{",product,"}", sep=""))
}
@

问题是我在乳胶输出中得到了这个:

[1] "\\section{prod 1}"
[1] "\\section{prod 2}"
4

2 回答 2

5

托马斯建议我将其发布为答案。解决方案是使用 cat() 而不是 print()

<<looptest, echo=FALSE, results='asis', warning=FALSE>>= 
for (product in c("prod 1","prod 2")){ 
cat(paste("\\section{",product,"}", sep="")) }
@

具有正确的乳胶输出:

\section{prod 1} 
\section{prod 2} 
于 2013-12-09T08:55:19.133 回答
2

如果您正在循环某些内容以动态生成部分/章节,我建议您使用循环功能knit_child。请参阅GitHub 上knitr-examples 的代码。

于 2013-08-01T15:13:20.903 回答