gpt4 book ai didi

r - 防止表格在 Rmarkdown 中被拆分

转载 作者:行者123 更新时间:2023-12-03 22:17:44 25 4
gpt4 key购买 nike

有没有办法将我的表格放在一页中?我有一张 table ,它在两页之间坏了。这是一个可重现的示例:

---
output: pdf_document
---

`r rep("Text", 400)`

```{r}
# This will create a page break
knitr::kable(mtcars, caption = "A split table")
```

这将生成一个 2 页的 pdf,其中包含一个损坏的表格,如下所示:

enter image description here

最佳答案

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

1. 添加分页符

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

---
output: pdf_document
---

`r rep("Text", 400)`

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

enter image description here

2.使用页面 float :

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

这是一个例子。表格将 float 到第二页。确保更新 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)`

如果您查看输出,您将看到第二个文本块与第一个文本块在同一页面上,并且表格位于第二个页面的中心。这一切都是由 LaTeX 自动完成的,如果您在表格之前添加更多文本,这可能会导致表格再次损坏,则可以避免麻烦。

enter image description here

希望有帮助。

关于r - 防止表格在 Rmarkdown 中被拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48984596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com