繁体   English   中英

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

[英]kableExtra stops evaluating latex code in table

我在一个列的每个单元格中都有一个带有\\rule{1cm}{0.4pt} LaTeX命令的R Markdown表。 如果我不包括kableExtra包,则表格格式与kable kableExtra 如果我确实包含kabelExtra,则不再解释LaTeX命令。 不带kableExtra和带kableExtra的结果如下所示。 没有其他更改。 最好的例子是我想要的结果。

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

我想将kableExtra用于设置列宽等其他功能,但是我需要它来解释LaTeX命令。 我在手册中没有发现任何似乎解决了LateX命令的问题。 我想念什么吗?

编辑

我尝试在使用kableExtra时将format = "latex"添加到kable调用中,但是仍然保留了不希望的结果。

微机

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

结果

没有和有kableExtra

使用kableExtra ,应在kable()调用中添加参数escape = FALSE 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)
```

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM