gpt4 book ai didi

r - kableExtra 仅在演示文稿中有另一个表格时才有效?

转载 作者:行者123 更新时间:2023-12-02 02:13:52 27 4
gpt4 key购买 nike

当我使用 kableExtra 进行 PDF 输出时,该表呈现精美,但如果程序中没有另一个非 kable 额外表,则会出现错误。还有其他人看到过这种行为吗?该文件看起来很好,但随后在 pandoc 中抛出错误?

例如,这段代码:

---
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.
\beamer@doifinframe ...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

还有其他人见过这种行为吗?除了“将虚拟表格作为最后一张幻灯片”之外,还有其他解决方法吗?

最佳答案

Beamer 幻灯片不允许 kableExtra 像在常规 pdf 文档中那样自动加载 latex 包。您在 LaTeX 中看到了该错误消息,因为未加载 booktabs。当您放置普通的 Markdown 表格时,rmarkdown pandoc 模板中的一些魔法会自动加载 booktabslongtable,这就是错误消失的原因。

您可以按照kableExtra文档的入门部分中的文档进行操作,并输入

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

请注意,我从列表中删除了 -\usepackage[table]{xcolor} ,因为 beamer 使用不同的选项设置加载了 xcolor

关于r - kableExtra 仅在演示文稿中有另一个表格时才有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47315509/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com