缩放kable表以适合页面宽度

时间:2018-03-01 07:36:11

标签: r r-markdown kable

如何使用kable函数格式化pdf中的表格?因为我的输出表宽度超过了pdf的宽度。这是一个例子:

---
output: pdf_document
---

```{r}
df <- cbind(mtcars[1:5,], mtcars[1:5,])
knitr::kable(df)
```

enter image description here

2 个答案:

答案 0 :(得分:11)

一种选择是使用kable_styling包中的kableExtra。选项latex_options="scale_down"将适合纸张边距内的表格。有关所有格式选项的详细示例,请参阅the vignette

---
output: pdf_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
library(knitr)
library(kableExtra)
```

```{r}
kable(cbind(mtcars[1:5,], mtcars[1:5,]))
```

```{r}
kable(cbind(mtcars[1:5,], mtcars[1:5,]), format="latex", booktabs=TRUE) %>% 
  kable_styling(latex_options="scale_down")
```

enter image description here

答案 1 :(得分:0)

请注意,如果您使用的是longtable,this answer说,

由于longtable不支持resizebox,因此不能在latex_options中使用“ scale_down”选项。

但是,他们建议使用font_size,例如

kable(df, "latex", longtable = T, booktabs = T) %>%
  kable_styling(font_size = 7)