相关疑难解决方法(0)

防止knitr/Rmarkdown与代码交错块输出

当我使用knitr从以下代码构建HTML文档时:

Chunk Output
========================================================

Outside a chunk.

```{r chunk1, results='asis'}

cat('Inside a chunk\n\n')

for (i in 1:3) {
    cat('* Inside loop #', i, '\n')
}

cat('Outside a loop, but still inside the first chunk')
```

Between chunks.

```{r chunk2, results='asis'}

cat('Inside second chunk')

```
Run Code Online (Sandbox Code Playgroud)

我得到输出,其中代码chunk1cat语句的输出交错.有趣的是,for循环内的输出作为单个块输出.

我宁愿所有的代码chunk1先出现,然后是所有的输出chunk1.有没有办法让Rmarkdown/knitr避免它目前正在进行的更细粒度的交织?

markdown r knitr r-markdown

7
推荐指数
1
解决办法
2628
查看次数

R,knitr不尊重块和文本的顺序

想象一下,我编织了这个Rnw文件:

\documentclass{article}

\begin{document}

Table1
<<example,results='asis', echo=FALSE>>=
require(xtable)
nn <- 15
mydata <- data.frame(A=1:nn,C=nn:1, C=runif(nn), D=rnorm(nn))
xtable(mydata, caption="Table1")
@

Table2
<<example2,results='asis', echo=FALSE>>=
xtable(mydata, caption="Table2")
@

Table3
<<example3,results='asis', echo=FALSE>>=
xtable(mydata, caption="Table3")
@

\begin{obeylines}
Just some text 
\end{obeylines}


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

这是一个简单的例子,只打印一些文本和三个表.

奇怪的是,它不尊重我在代码上写的内容的顺序.我明白了(两个pdf页面的侧面视图) 在此输入图像描述

但是"Table3"文本应该出现在table3本身之前和table2之后,文本"只是一些文本"应该出现在文档的最后.

如果我在那里写几行,它就会打破这些行.

我知道如果一个表不适合某个地方,它必须移动到下一页,但应该使用下面的文本和表格.

我还观察到,在其他示例中,一些表在不适合时会随机重新分配.

如何防止编织者这样做?我不知道是编织问题还是乳胶问题.

我正在使用Texlive 2015,Rstudio,R 3.2.3和Windows 10以及所涉及的所有软件包的最新版本.

latex r knitr

5
推荐指数
1
解决办法
707
查看次数

标签 统计

knitr ×2

r ×2

latex ×1

markdown ×1

r-markdown ×1