kableExtra перестает оценивать латексный код в таблице

У меня есть таблица 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" к вызову kable при использовании kableExtra, но нежелательный результат остался.

MWE

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


person Michael S Taylor    schedule 09.10.2018    source источник


Ответы (1)


При использовании 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)
```
person Rekyt    schedule 09.10.2018
comment
Я подумал, что мне что-то не хватает. Искал вариант, который затрагивал бы таблицу в целом, а не отдельные ячейки. Если бы я только мог прожить жизнь, не делая предположений! - person Michael S Taylor; 09.10.2018