knitr::kable 有没有办法减小字体大小?

问题描述 投票:0回答:4

我正在使用这个代码块

```{r, echo = FALSE}
  knitr::kable(df)
```

但是我想减小该表中所有字体的大小,以便输出看起来更好。有没有办法用 kable 做到这一点,或者有其他包支持它吗?

r knitr r-markdown
4个回答
58
投票

您也可以尝试

library(kableExtra)
。它有很多自定义表格的选项。

具体来说,字体大小:https://haozhu233.github.io/kableExtra/awesome_table_in_html.html#font_size

df %>%
  kable("html") %>%
  kable_styling(font_size = 7)

12
投票

我在函数之前使用 iny ormalsize 之后,适用于使用格式 latexmarkdown 的 .pdf。

@r0berts 的请求:

这是一个完整的示例:

---
title: "Test"
output:
  pdf_document: default
date: "2023-11-30"
---

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

```{r}
library(knitr)
kable(iris[1:5,])
```


\tiny 

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

\normalsize

这会将其呈现为 .pdf


6
投票

当您对全局设置感到满意时,请在

.table
上使用 css。要为一张表设置它,我知道的唯一方法是使用
div
。这两种方法都不能用于乳胶等,但全局方法对我来说看起来更干净,因为格式化被委托给单独的 css。

---
title: "Small kable"
output: 
  html_document:
    css: kable.css

---

# Global setting

```{r}
library(knitr)
kable(iris[1:5,])
```


# Local setting, not portable
<div class="verysmall">

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

</div>

CSS 文件

.table{
  width:auto;
  font-size: 12px;
}

.verysmall .table{
  font-size: 8px;
}

在大多数情况下,我还对 kable 表使用自动格式化。


1
投票

迪特的回答对我有用。我第一次在 rmarkdown 中使用 CSS。我没有使用单独的 CSS 文件,而是将以下代码嵌入到 rmarkdown 文档的顶部,如下所示:https://bookdown.org/yihui/rmarkdown-cookbook/html-css.html.

    ```{css, echo = FALSE}
    .verysmall .table{
      font-size: 8px;
    }
    ```
© www.soinside.com 2019 - 2024. All rights reserved.