Używam pakietu kableExtra w rmarkdown (bookdown), aby wygenerować ładne stoliki w wyjściach PDF. Wszystkie działa dobrze z wyjątkiem renderowania kodu lateksowego w nagłówkach. Nagłówek o nazwie $\\alpha$ nie jest renderowany jako grecka alfa. Wynik jest tylko $\alpha$ pokazany w dokumencie PDF.

Dodatkowe informacje: Używam format = "latex" i escape = TRUE. Jeśli używam escape = FALSE, otrzymuję błąd podczas renderowania dokumentu:

I was unable to find any missing LaTeX packages from the error log _main.log.
! Misplaced \noalign.
\cmidrule ->\noalign 
                     {\ifnum 0=`}\fi \@ifnextchar [{\@cmidrule }{\@cmidrule ...
l.1293 \cmidrule
                {3-7} 

Przykro mi, że nie dając powtarzalnego przykładu. Jakoś mam nadzieję, że to ustawienie, które tęskniłem gdzieś w kableExtra. Jeśli jest to potrzebne, podejmiemy przykład.

Z góry bardzo dziękuję!

0
rdatasculptor 24 marzec 2021, 12:09

1 odpowiedź

Najlepsza odpowiedź

Możesz spróbować tego:

---
title: "Use slashes to escape"
author: "bttomio"
date: "3/24/2021"
output: pdf_document
---

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

```{r echo=F}
library(kableExtra)
x <- matrix(1:4, ncol=2)
kbl(x, col.names=c('$\\alpha$', 'B'), align = 'c', 'latex', booktabs = T, escape = F) %>%
    add_header_above(c("$\\\\alpha$" = 2), escape = F)
```

-wynik

enter image description here

1
bttomio 24 marzec 2021, 20:51