[rmarkdown]如何在beamer_presentation中处理表格

问题描述

当我嵌入使用knitr :: kable生成的表时, 我想在beamer_presentation的幻灯片中调整表格的宽度。

像这张照片一样,执行以下代码时,某些列不会显示在幻灯片中。

enter image description here

您能告诉我如何在不更改列名的情况下解决此问题吗?

---
title: "test"
author: "test"
date: "`r Sys.time()`"
output:
   beamer_presentation:
     latex_engine: xelatex 

fontsize: 6pt 
---

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

```


## Table
```{r test,results = "asis",include=TRUE}

test_tbl = tibble(
  example_name1 = c("a","b"),example_name2 = c("aa","bb"),example_name3 = c("aaa","bbb"),example_name4 = c("aaaa","bbbb"),example_name5 = c("aaaaa","bbbbb")
)


knitr::kable(test_tbl,format = "markdown")
```

解决方法

桌子太大,无法放在一张幻灯片上。通过使用kableExtra调整字体大小,可以更改表格的大小。为此,请在format = "latex"中设置参数kable(),然后用管道输送kable_styling()

knitr::kable(test_tbl,format = "latex") %>%
  kableExtra::kable_styling(font_size = 7) 

包含booktabs之类的LaTeX软件包以用kablekableExtra很好地格式化表格很有用。这不像直接使用LaTeX那样灵活,但是通常会带来很好的结果。

首先,在YAML标头中包含booktabs

---
title: "test"
author: "test"
date: "`r Sys.time()`"
header-includes:
- \usepackage{booktabs}
output: beamer_presentation
---

然后在booktabs = TRUE中设置kable()

knitr::kable(test_tbl,format = "latex",booktabs = T) %>%
  kableExtra::kable_styling(font_size = 7) 

enter image description here

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...