防止在Rmarkdown中拆分表

防止在Rmarkdown中拆分表,r,r-markdown,R,R Markdown,有没有办法把我的桌子放在一页纸上?我有一张夹在两页之间的桌子。以下是一个可复制的示例: --- output: pdf_document --- `r rep("Text", 400)` ```{r} # This will create a page break knitr::kable(mtcars, caption = "A split table") ``` 这将生成一个2页的pdf,其中包含一个断开的表,如下所示: 有两种简单的方法可以做到这一点: 1。添加分页符 如果只使用PD

有没有办法把我的桌子放在一页纸上?我有一张夹在两页之间的桌子。以下是一个可复制的示例:

---
output: pdf_document
---

`r rep("Text", 400)`

```{r}
# This will create a page break
knitr::kable(mtcars, caption = "A split table")
```
这将生成一个2页的pdf,其中包含一个断开的表,如下所示:


有两种简单的方法可以做到这一点:

1。添加分页符

如果只使用PDF输出,实际上可以将LaTeX命令直接集成到报告中。因此,
\newpage
命令将强制分页,如下所示:

---
output: pdf_document
---

`r rep("Text", 400)`

\newpage
```{r}
knitr::kable(mtcars, caption = "A fixed table")
```

2。使用页面浮动

由于RMarkdown使用LaTeX构建PDF,您可以利用该页面。这可能需要一些时间来适应,但LaTeX不会将图形或表格锁定在设定的位置,而是尝试将图形放置在它认为“最佳”的位置。对于表,它将尝试删除任何分页符

这里有一个例子。表格将浮动到第二页。确保更新YAML以包括
标题includes:
参数:

---
output: pdf_document
header-includes:
   - \usepackage{booktabs}
---

`r rep("Text", 400)`

```{r}
knitr::kable(mtcars, format = "latex",
             caption = "A caption",
             booktabs = TRUE,
             longtable = FALSE)
```

`r rep("Text", 200)`
如果查看输出,您将看到第二个文本块与第一个文本块继续在同一页上,并且表格位于第二页的中心。这一切都是由LaTeX自动完成的,如果您在表格前添加更多文本,则可以避免以后的痛苦,因为之前可能会导致表格再次损坏


希望这能有所帮助。

在编写PDF时,只需在代码垃圾之前添加
\newpage
。嗨,我是不是要将\newpage放在kable函数之前?因为在\newpage的“\”中有一个意外的标记。请将它放在代码垃圾之前,即在“`{r}Hi Bustergun之前,再次是我:)再次编辑问题,以便包含一个可复制的示例。