Функции kableExtra в R возвращают латексные ошибки при компиляции файла rmarkdown в документ PDF в Rstudio - PullRequest
0 голосов
/ 22 ноября 2018

Я пытаюсь связать файл rmarkdown с файлом PDF, который содержит kableExtra функций, таких как:

  • kable_styling
  • column_spec
  • add_header_above

Однако я всегда получаю следующую ошибку:

! Extra alignment tab has been changed to \cr.
<template> \endtemplate 

l.184 \end{tabular}}


pandoc.exe: Error producing PDF
Error: pandoc document conversion failed with error 43
Ejecución interrumpida

Один простой пример, которыйЯ выполняю:

```
---
output:
 pdf_document:
   keep_tex: yes
classoption: table
header-includes:
  - \usepackage{array}
  - \usepackage{float}
  - \usepackage{xcolor}
---

```{r results='asis'}
options(kableExtra.latex.load_packages = FALSE)
require(kableExtra)
print(kable(head(cars),"latex")%>%kable_styling(latex_options = c("striped", 
"bordered"))
  %>%column_spec(column=1:2,width = "0.5in") %>%
      kable_styling(c("striped", "bordered"),latex_options = 
"scale_down")%>% add_header_above(c(" "=7,
"Absolute"=1,"Relative"=1,"Absolute"=1,"Relative"=1,
"Absolute"=1,"Relative"=1,"Absolute"=1,"Relative"=1,"Absolute"=1,
"Relative"=1))%>%
add_header_above(c(" "= 1,"Non-weighted"=1,"Weighted"=1,"Non- 
weighted"=1,"Weighted"=1,"Non-weighted"=1,
"Weighted"=1,"Weighted"=2,"Non-weighted"=2,"Weighted"=2,"Non- 
weighted"=2,"Weighted"=2))%>%
add_header_above(c("Theoretical Values"= 1,"First-Order Predicted 
Value"=2,"Second-Order Predicted Value"=2,
"Third-Order Predicted Value"=2,
"Non-linearity 1st Order"=2,"Non-linearity 2nd Order"=4,"Non-linearity 3rd 
Order"=4)))

`` `

Может кто-нибудь помочь мне с этим вопросом?

Я был бы признателен за любую подсказку!

1 Ответ

0 голосов
/ 22 ноября 2018

Вы говорите kableExtra не загружать пакеты LaTeX (почему?), Поэтому вы должны сделать это самостоятельно.Используемые функции требуют array, float и xcolor с опцией table.Одна трудность заключается в том, что fancyvrb v3.0 уже загружает xcolor с другими параметрами .Вы можете обойти это, указав table в качестве опции класса:

---
output: 
  pdf_document:
    keep_tex: yes
classoption: table    
header-includes:
  - \usepackage{array}
  - \usepackage{float}
---


```{r results='asis'}
options(kableExtra.latex.load_packages = FALSE)
require(kableExtra)
print(kable(head(cars),"latex") %>%column_spec(column=1:2,width = "0.5in"))
```

```{r results='asis'} 
print(kable(head(cars),"latex")%>%kable_styling(latex_options = c("striped", "bordered")))
```
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...