【问题标题】:[rmarkdown]How to deal with table in beamer_presentation[rmarkdown]beamer_presentation中如何处理table
【发布时间】:2020-11-30 15:27:41
【问题描述】:

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

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

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

---
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")
```

【问题讨论】:

  • 你能显示生成的 .tex 代码吗?您可以选择较小的字体大小、旋转列名或重新排列表格的布局。

标签: r r-markdown beamer


【解决方案1】:

表格太大,一张幻灯片放不下。通过使用kableExtra 调整字体大小,可以更改表格的大小。为此,请在 kable() 中设置参数 format = "latex",然后通过管道传输 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
---

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

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

【讨论】:

  • 谢谢!我成功地做到了。
猜你喜欢
  • 1970-01-01
  • 2021-05-23
  • 2021-05-19
  • 2021-05-23
  • 2021-05-24
  • 1970-01-01
  • 2021-05-23
  • 1970-01-01
  • 2014-12-04
相关资源
最近更新 更多