有没有办法将我的表格放在一页中?我有一张桌子,它在两页之间坏了。这是一个可重现的示例:
---
output: pdf_document
---
`r rep("Text", 400)`
```{r}
# This will create a page break
knitr::kable(mtcars, caption = "A split table")
```
Run Code Online (Sandbox Code Playgroud)
这将生成一个 2 页的 pdf,其中包含一个损坏的表格,如下所示:
有两种简单的方法可以做到这一点:
1.添加分页符
如果您只使用 PDF 输出,您实际上可以将 LaTeX 命令直接集成到报告中。因此,该\newpage命令将按如下方式强制分页:
---
output: pdf_document
---
`r rep("Text", 400)`
\newpage
```{r}
knitr::kable(mtcars, caption = "A fixed table")
```
Run Code Online (Sandbox Code Playgroud)
2. 使用页面浮动:
由于 RMarkdown 使用 LaTeX 来构建 PDF,您可以利用页面浮动功能。这可能需要一些时间来适应,但不是将图形或表格锁定在固定位置,LaTeX 会尝试将图形放置在它认为“最佳”的位置。对于表格,它将尝试删除任何分页符。
这是一个例子。表格将浮动到第二页。确保更新 YAML 以包含header-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)`
Run Code Online (Sandbox Code Playgroud)
如果您查看输出,您将看到第二个文本块与第一个文本块在同一页面上,并且表格位于第二个页面的中心。这一切都是由 LaTeX 自动完成的,如果您在表格之前添加更多文本,这可能会导致表格再次损坏,则可以避免麻烦。
希望有帮助。
| 归档时间: |
|
| 查看次数: |
3347 次 |
| 最近记录: |