knitr / RMD:后n行分页/ n的距离(knitr/Rmd: page break afte

2019-08-31 22:54发布

让我警告说,这可能是更适合作为一个HTML / CSS的问题,但(一)我不是太熟悉这些技术和(b)我想如果可能的话,以保持它的所有家庭(R系列)。

我想用knitr写学术报告风格采用Rmarkdown(APA 6型准则 )。 我已经得到了很多方面的工作了,但不破页。 我可以手动设置分页符的东西,如:

# report

```{r setup, include=FALSE}
# set global chunk options
opts_chunk$set(cache=TRUE)
```
------
## Page 1

```{r plot1}
plot(1:10, 1:10)
```
------
## Page 2

在下面的.Rmd我想以后n行/ n的距离以编程方式设置这些中断。 因此,让后8英寸或140线的说。

# report

```{r setup, include=FALSE}
# set global chunk options
opts_chunk$set(cache=TRUE)
```
Initial Text. Yay!

```{r plot1}
plot(1:10, 1:10)
```

More Text.  Outstanding.  What Hadley's not calling it plyr2?

```{r plot2, fig.width=4, fig.height=4}
plot(1:10, 1:10)
```

`r paste(rep("So much text so little time!", 10000))`

我如何编程集合n的距离之后分页符。 这类似于如何LaTeX ,所以如果这个数字占用太多的空间,将被强制下页将打破文件到页面。

编辑发现这从一个朋友: http://www.w3.org/TR/css3-page/可能会有所帮助。

Answer 1:

编程方式。 创建一个HTML DIV。 这个div的宽度和高度设置为一个固定的量,并且滚动溢出。

<div style="height:1000px; width: 500px; overflow-y: scroll;">
    ...
</div>

处理您的降价到HTML元素。 我有5个h1是300像素高的每个标签。

<h1 style="height:300px;">First</h1>
<h1 style="height:300px;">Second</h1>
<h1 style="height:300px;">Third</h1>
<h1 style="height:300px;">Fourth</h1>
<h1 style="height:300px;">Fifth</h1>

这5个h1不会都适合在同一页上。 该页面仅1000像素高。 只有3 h1标签将适合此页面上。 我们需要第三个元素后插入分页符。

逐步增加每个新项目到DOM。 将每个项目的检查,以查看浏览器的滚动条出现后。 如果是,那么我们就知道,我们刚插入的项目太大了这个页面; 删除的项目,并插入一个分页符。

之前:

### First
### Second
### Third
### Fourth
### Fifth

后:

### First
### Second
### Third
------
### Fourth
### Fifth

这将适用于任何元素,你就不必担心项目的高度。 因为,如果你刚插入的项目所作的HTML DIV滚动那么我们就需要一个分页符。 图像,视频,H1,H2,P,自定义/动态CSS,任何东西。

UPDATE

你也可以计算每个div元素的高度。 http://api.jquery.com/height/这样重新计算54页的文件会容易得多。



文章来源: knitr/Rmd: page break after n lines/n distance