2017-11-15 7 views
0

PDF 출력에 kableExtra를 사용하면 테이블이 아름답게 렌더링되지만 프로그램에 다른 kable 테이블이 없으면 오류가 발생합니다. 다른 사람이이 동작을 보았습니까? 파일이 잘 뜨개질하는 것처럼 보이지만 판도크에서 오류가 발생합니다. 예를 들어kableExtra는 프레젠테이션에 다른 테이블이있는 경우에만 작동합니까?

,이 코드 :

--- 
output: 
    beamer_presentation: 
fontsize: 10pt 
--- 

```{r global_options, include=FALSE} 
library(rmarkdown) 
library(knitr) 
library(kableExtra) 

``` 
### Slide with table 
```{r echo=FALSE, warning=FALSE, message=FALSE} 
df=mtcars[1:8,1:3] 
kable(df,format="latex",booktabs=T,row.names=F) %>% 
    row_spec(6, color = "red") 
``` 

이 오류를

processing file: t.rmd 
List of 1 
$ include: logi FALSE 

    |.......................................       | 60% 
    ordinary text without R code 

    |....................................................    | 80% 
label: unnamed-chunk-1 (with options) 
List of 3 
$ echo : logi FALSE 
$ warning: logi FALSE 
$ message: logi FALSE 

    |.................................................................| 100% 
    ordinary text without R code 


"C:/PROGRA~2/Pandoc/pandoc" +RTS -K512m -RTS t.utf8.md --to beamer --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash --output t.pdf --highlight-style tango --latex-engine pdflatex 
output file: t.knit.md 

! Undefined control sequence. 
\[email protected] ...in {tabular}{rrr} \toprule 
                mpg & cyl & disp\\ \midrul... 
l.86 \end{frame} 

pandoc.exe: Error producing PDF 
Error: pandoc document conversion failed with error 43 
In addition: Warning message: 
running command '"C:/PROGRA~2/Pandoc/pandoc" +RTS -K512m -RTS t.utf8.md --to beamer --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash --output t.pdf --highlight-style tango --latex-engine pdflatex' had status 43 
Execution halted 

를 제공하지만 더미 테이블 또 하나 개의 슬라이드를 추가하는 경우, 그것은 아름답게 인쇄 :

--- 
output: 
    beamer_presentation: 
fontsize: 10pt 
--- 

```{r global_options, include=FALSE} 
library(rmarkdown) 
library(knitr) 
library(kableExtra) 
``` 
### Slide with table 
```{r echo=FALSE, warning=FALSE, message=FALSE} 
df=mtcars[1:8,1:3] 
kable(df,format="latex",booktabs=T,row.names=F) %>% 
     row_spec(6, color = "red") 
``` 
### Non-kableExtra table needed for some reason? 
```{r echo=FALSE} 
kable(df) 
``` 

output

누구도이 동작을 보았습니까? "마지막 슬라이드로 더미 테이블을 넣는 것"이외의 해결 방법은 무엇입니까?

답변

2

비머 슬라이드는 일반 PDF 문서와 마찬가지로 kableExtra에 라텍스 패키지를 자동으로 넣을 수 없습니다. booktabs가로드되지 않았기 때문에 LaTeX에서 그 오류 메시지를 보았습니다. 일반 markdown table을 넣을 때 rmarkdown pandoc 템플릿에있는 일부 마법은 자동으로 booktabs & longtable을로드합니다. 그게 바로 오류가 사라진 이유입니다.

당신은 kableExtra 문서의 Getting Started 섹션의 문서를 따라 비머 다른 옵션 설정으로 xcolor를로드하기 때문에이 목록에서 - \usepackage[table]{xcolor}을 제거

header-includes: 
- \usepackage{booktabs} 
- \usepackage{longtable} 
- \usepackage{array} 
- \usepackage{multirow} 
- \usepackage{wrapfig} 
- \usepackage{float} 
- \usepackage{colortbl} 
- \usepackage{pdflscape} 
- \usepackage{tabu} 
- \usepackage{threeparttable} 

주를 넣을 수 있습니다.