Как совместить kableExtra с латексным нижним колонтитулом?

Я пытаюсь связать следующий RMarkdown в PDF:

---
title: 'Title'
params:
  set_title: 'title report'
header-includes:
- \usepackage{fancyhdr}
- \pagestyle{fancy}
- \lhead{}
- \chead{}
- \rhead{Semester Graduation Report `r params$set_title`}
output:
  pdf_document:
    latex_engine: xelatex
---

```{r, include =FALSE}
knitr::opts_chunk$set(echo = F, message = F, warning = F)
library(knitr)
library(tidyverse)
library(kableExtra)
options(knitr.kable.NA = '-')
```


```{r, results='asis'}
kable(mtcars, format = 'latex', longtable = T, booktabs = T, caption='This is a caption' ) %>% 
  add_header_above(c(" " = 1, "something"=2, "something else"=2)) %>% 
  kable_styling(latex_options = c("repeat_header"))
```

```{r}
kable(mtcars)
```

Тем не менее, он восстанавливает и ошибка

! Отсутствует $ вставлено. $ l.239 \end{document}

Я заметил, что если я удалю header-includes он работает нормально, но я бы предпочел не отбрасывать заголовок. Что я делаю неправильно?

1 ответ

Ты можешь сказать kableExtra не загружать какие-либо пакеты LaTeX, установив глобальную опцию kableExtra.latex.load_packages быть FALSE перед тем, как загрузить этот пакет и самостоятельно поместить необходимые пакеты LaTeX.

Вы можете обратиться к Getting Started Раздел пакета виньетка. (Пожалуйста, прости меня за опечатку в иллюстрированном коде...)

В этом случае вы делаете

---
title: 'Title'
params:
  set_title: 'title report'
header-includes:
- \usepackage{fancyhdr}
- \pagestyle{fancy}
- \lhead{}
- \chead{}
- \rhead{Semester Graduation Report `r params$set_title`}
- \usepackage{booktabs}
- \usepackage{longtable}
- \usepackage{array}
- \usepackage{multirow}
- \usepackage[table]{xcolor}
- \usepackage{wrapfig}
- \usepackage{float}
- \usepackage{colortbl}
- \usepackage{pdflscape}
- \usepackage{tabu}
- \usepackage{threeparttable}
- \usepackage[normalem]{ulem}
output:
  pdf_document:
    latex_engine: xelatex
---

```{r, include =FALSE}
knitr::opts_chunk$set(echo = F, message = F, warning = F)
library(knitr)
library(tidyverse)
options(kableExtra.latex.load_packages = FALSE)
library(kableExtra)
options(knitr.kable.NA = '-')
```
Другие вопросы по тегам