微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

缩小使表格难以阅读 - kableExtra

如何解决缩小使表格难以阅读 - kableExtra

我正在尝试从 rmarkdown 生成报告,我有几个表格要打印在 pdf 文件中。我正在使用 kablekableExtra

由于某些列包含文本,此表格的宽度很大。 我在 scale_down 选项中使用 kable_styling,但表格在 pdf 中变得太小,我不喜欢它。

这是我的 df 的一个例子:

df<-data.frame(A=c('This is a quite long text that doesn't fit','This also is a long text that',B=c('aaaa','bbbb'),C=c('aaaaa','ccccc'),D=c(10,20))


knitr::kable(df,format='latex',booktabs = T,caption = "capt")%>%
        kable_styling(latex_options = c("hold_position","scale_down"))

它在 pdf 上的显示方式

enter image description here

我找不到让桌子变大(高度)同时将桌子保持在纸边距内的方法

解决方法

如果我正确理解您的问题,那么答案是简单地增加行分隔,这可以通过 LaTeX 代码(使用 \arraystretch)实现。为此,您只需在代码块上方添加类似 \renewcommand{\arraystretch}{2}(双行分隔)的内容。例如(使用基于您的代码的东西):

\renewcommand{\arraystretch}{2}

```{r}
df<-data.frame(A=c("This is a quite long text that doesn't fit","This also is a long text that doesn't fit because it is very,very long and boring"),B=c('aaaa','bbbb'),C=c('aaaaa','ccccc'),D=c(10,20))


knitr::kable(df,format='latex',booktabs = T,caption = "capt") %>%
    kable_styling(latex_options = c("hold_position","scale_down"))
```

产生这个:

Table with increased row separation

而不是这个:

Table with increased normal separation

显然,您可以将行分隔设置为您想要的任何值(例如,\renewcommand{\arraystretch}{5} 表示较大的行,或 \renewcommand{\arraystretch}{1.5} 表示适度的行)。

请注意,下面的任何其他表格都会继续这样做。因此,如果您想恢复正常的行间距,则需要添加 \renewcommand{\arraystretch}{1}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。