簡體   English   中英

knitr / Rmd:n行/ n距離后分頁

[英]knitr/Rmd: page break after n lines/n distance

請允許我說,這可能更適合作為html / css問題,但(a)我對這些技術不太熟悉,並且(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/可能會有所幫助。

以編程方式。 創建一個HTML div。 將此div的寬度和高度設置為固定值,並滾動溢出。

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

將降價處理為HTML元素。 我有5個h1標簽,每個高度為300px。

<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不會完全適合同一頁面。 頁面只有1,000像素高。 此頁面僅可容納3個h1標簽。 我們需要在第三個元素之后插入一個分頁符。

逐步將每個新項目添加到DOM中。 插入每個項目后,檢查是否存在瀏覽器的滾動條。 如果是,那么我們知道剛插入的項目對於此頁面來說太大了; 刪除該項目並插入一個分頁符。

之前:

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

后:

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

這對任何元素都適用,您不必擔心項目的高度。 因為,如果您剛剛插入的項目使HTML div滾動,那么我們需要分頁符。 圖片,視頻,h1,h2,p,自定義/動態css等。

更新

您還可以計算每個div元素的高度。 http://api.jquery.com/height/這樣,重新計算54頁的文檔會容易得多。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM