kableExtra 停止评估表中的乳胶代码

Mic*_*lor 2 r r-markdown kableextra kable

我有一个 R Markdown 表格,\rule{1cm}{0.4pt}其中一列的每个单元格中都包含此 LaTeX 命令。kable如果我不包含该包,表格格式就很好kableExtra。如果我确实包含kabelExtra,LaTeX 命令,则不再解释。不使用和使用 kableExtra 的结果如下所示。没有进行其他更改。上面的例子是我想要的结果。

我检查了 .tex 输出。kableExtra似乎将 LaTeX 命令格式化为文字文本:\textbackslash{}rule\{1cm\}\{0.4pt\}而不是上面显示的命令。

我想使用 kableExtra 来实现其他功能,例如设置列宽,但我需要它来解释 LaTeX 命令。我在手册或小插图中没有找到任何似乎涉及 LateX 命令的内容。我错过了什么吗?

编辑

我尝试在使用时添加format = "latex"到呼叫中,但仍然出现不期望的结果。kablekableExtra

微量元素

---
title: "Without kableExtra"
output: 
  pdf_document: 
    keep_tex: TRUE
---

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

```{r}
library(tibble)
library(knitr)
#library(kableExtra)

a = seq(1:3)
b = seq(4:6)
tab <- as.tibble(cbind(a,b))
tab <- add_column(tab, c = "\\rule{1cm}{0.4pt}")
```

```{r}
kable(tab,
      booktabs = TRUE, 
      longtable = TRUE)
```
Run Code Online (Sandbox Code Playgroud)

结果

不带和带 kableExtra

Rek*_*kyt 5

使用时,kableExtra您应该将参数添加escape = FALSE到您的kable()调用中。该escape参数允许您在表中使用 LaTeX 命令。

以下作品:

---
title: "Without kableExtra"
output: 
  pdf_document: 
    keep_tex: TRUE
---

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

```{r}
library(tibble)
library(knitr)
library(kableExtra)

a = seq(1:3)
b = seq(4:6)
tab <- as.tibble(cbind(a,b))
tab <- add_column(tab, c = "\\rule{1cm}{0.4pt}")
```

```{r}
kable(tab,
      booktabs = TRUE, 
      longtable = TRUE,
      escape = FALSE)
```
Run Code Online (Sandbox Code Playgroud)