我在每一列的每个单元格中都有一个带有\rule{1cm}{0.4pt}
LaTeX命令的R Markdown表。如果我不包括kable
包,则表格格式可以使用kableExtra
很好。如果我确实包含kabelExtra,
,则不会解释LaTeX命令。不带kableExtra和带kableExtra的结果如下所示。没有其他更改。最好的例子是我想要的结果。
我检查了.tex输出。 kableExtra
似乎将LaTeX命令格式化为文本文本:\textbackslash{}rule\{1cm\}\{0.4pt\}
而不是上面显示的命令。
我想将kableExtra用于设置列宽等其他功能,但是我需要它来解释LaTeX命令。我在手册中没有发现任何似乎解决了LateX命令的问题。我想念什么吗?
在使用format = "latex"
时,我尝试将kable
添加到kableExtra
调用中,但结果仍然不理想。
---
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)
```
答案 0 :(得分:3)
使用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)
```