【问题标题】:R-Markdown - kableExtra package - format = 'latex' not workingR-Markdown - kableExtra 包 - 格式 = 'latex' 不起作用
【发布时间】:2017-10-10 10:37:24
【问题描述】:

使用 kableExtra 文档。在我正在运行的 RMardown 内部:

```{r}
library(knitr)
library(kableExtra)

dt <- mtcars[1:5, 1:6]

kable(dt, format = "rmarkdown")

```

这实际上输出了一个表格,但我在控制台中也得到了以下信息:

    Error in kable_rmarkdown(x = c("Mazda RX4", "Mazda RX4 Wag", "Datsun 710",  : 
  could not find function "kable_rmarkdown"

当我切换到:

```{r}
library(knitr)
library(kableExtra)

dt <- mtcars[1:5, 1:6]

kable(dt, format = "latex")

```

我没有收到错误,也没有表格。我需要安装 Latex 才能使用此功能吗?

【问题讨论】:

  • 正确的选项名称是markdown(不是rmarkdown)。这能回答你的问题吗?
  • kableExtra 仅在您将格式设置为“latex”或“html”时才有效。如果您没有看到第二个块的任何表格输出,您是否尝试在 HTML 文档中呈现它?
  • @Hao 如果我理解正确的新手册(“awesome table in pdf”, 2018-05-21, p.2),那就没有必要了。
  • @petzi 是的,使用最新版本,您不再需要 kable 中的“latex”。感谢您提供更新的答案!

标签: r r-markdown knitr kable kableextra


【解决方案1】:

只是为了提供一个完整的答案将这些 cmets 放在一起:以下引用来自kableExtra vignette

从 kableExtra 0.9.0 开始,当你加载这个包 (library(kableExtra)) 时,它会根据你当前的环境自动设置全局选项 'knitr.table.format'。除非您正在渲染 PDF,否则 kableExtra 将尝试为您渲染 HTML 表格。您不再需要在每个 kable() 函数中手动设置全局选项或格式选项。

所以你可以在你的例子中写(markdown 和 LaTeX):

library(knitr)
library(kableExtra)

dt <- mtcars[1:5, 1:6]

kable(dt)

根据您的输出格式,您将获得以 HTML 或 LaTeX (PDF) 呈现的表格。是的:对于 PDF,您需要安装 LaTeX。但是现在使用TinyTeX by Yihui Xie 很容易。

【讨论】:

    猜你喜欢
    • 2022-10-19
    • 2018-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多