Специальные символы (фигурные скобки) получают нежелательную обратную косую черту с помощью collapse_rows () - PullRequest
0 голосов
/ 18 февраля 2019

При создании таблицы с kable и kableExtra в программе уценки R я хочу сгруппировать строки и сгенерировать заголовок группы, используя функцию collapse_rows ().Это отлично работает.Однако, если значения в переменной, используемой для группировки, содержат специальные символы, такие как "(" и ")", переданный файл PDF вставил "\" перед специальными символами в строке заголовка.Есть ли способ как это исправить?

Я использую версию R 3.4.3 (2017-11-30) - «Дерево кайта» на x86_64-pc-linux-gnu (64-разрядная версия).R Studio является версией 1.1.442.Knitr - это версия 1.18.KableExtra - это версия 0.9.0.latex-engine по умолчанию установлен в pdflatex, но я также пробовал xelatex.

Я также пытался установить escape = T в kable (), а также column_spec (), первое не имеет никакого эффекта, а второе вызывает сообщение об ошибкев моем окружении.

---
output:
  pdf_document:
  fig_caption: yes
documentclass: article
fontsize: 11pt
geometry: "a4paper, portrait, left=3.00cm, right=1.98cm, bottom=3.81cm, top=2.01cm"
header-includes:
- \usepackage{booktabs}
- \usepackage{longtable}
- \usepackage{array}
- \usepackage{multirow}
- \usepackage{wrapfig}
- \usepackage{float}
- \usepackage{pdflscape}
- \usepackage[normalem]{ulem}

---

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

```{r prepcode, echo=FALSE, warning=FALSE, message=FALSE, include=FALSE}
rm(list=ls())
library(tidyverse)
options(kableExtra.latex.load_packages = FALSE)
library(kableExtra)
```

```{r tab, echo=FALSE, warning=FALSE, message=FALSE}
x <- rnorm(n=18)
t <- expand.grid(COL1=c("Stratum 1 (my first stratum)", "Stratum 2 (my second stratum)"),
                 COL2=c("A", "B", "C"),
                 COL3=c("x", "y", "z"))
xt <- cbind(t, COL4=x) %>% arrange(COL1, COL2, COL3)

knitr::kable(xt, format="latex", row.names=FALSE, booktabs=T) %>%
  kable_styling(font_size=8, latex_options = c("repeat_header")) %>%
  column_spec(1, bold=T) %>%
  collapse_rows(1:2, row_group_label_position = 'stack', latex_hline = "major")
```

Например, "Stratum 1 (мой первый слой)" отображается в PDF как "Stratum 1 \ (my first stratum))".

...