r - 在 RStudio 中, `knit` 始终有效,但 `rmarkdown::render` 在第二次运行时失败(但不是第一次!)

标签 r r-markdown knitr kable kableextra

我正在尝试做一些非常简单的事情:生成 PDF 格式的报告。终于找到了一种重现我的问题的方法。我需要使用 rmarkdown::render根据 GlobalEnv 中的数据创建报告.我正在使用 tinytex包裹。这里是 test.Rmd :

---
title: "Untitled"
output: pdf_document
---

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

## R Markdown

```{r cars}
mtcars %>%
  kable(booktabs = TRUE) %>%
  kable_styling(latex_options = "striped")
```

作品:

RStudio 中的“Knit”似乎总是在这个文件上工作,正如预期的那样,产生 mtcars数据框,用 kable() 很好地格式化

不起作用(但应该?):

运行rmarkdown::render("test.Rmd")适用于第一次运行,但不是第二次。它抛出错误:
! LaTeX Error: Unknown float option `H'.

之后,RStudio 中的“Knit”会生成 PDF,但 R/knitr 会打印来自 rmarkdown::render("test.Rmd") 的任何警告/错误消息。命令。

附加信息

运行rmarkdown::render("test.Rmd")如果将上述代码块更改为
```{r cars}
mtcars %>%
  kable()
```

最佳答案

我选择回答我自己的问题,因为我找到了一种解决方法,如果有人找到错误的原因,希望它是不必要的。
除了最基本的 LaTeX 安装 tinytex 之外,PDF 渲染引擎似乎什么都不识别。我尝试 tinytex::tlmgr_install 手动安装必要的 LaTeX 包,但它们都返回了“包已经存在”消息。
解决方案
我在 Rmd 的 YAML 中添加了以下内容:

header-includes:
   - \usepackage{booktabs}
   - \usepackage{float}
   - \usepackage{colortbl}
   - \usepackage[table]{xcolor}
我基本上添加了每一行 \usepackage 直到我没有收到我正在寻找的格式错误。
工作 Rmd 代码rmarkdown::render()knit (Rstudio)都可以工作(以及我的 OWN 代码!):
---
title: "Untitled"
output: pdf_document
header-includes:
   - \usepackage{booktabs}
   - \usepackage{float}
   - \usepackage{colortbl}
   - \usepackage[table]{xcolor}
---

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

## R Markdown

```{r cars}
mtcars %>%
  kable(booktabs = TRUE) %>%
  kable_styling(latex_options = "striped")
```

关于r - 在 RStudio 中, `knit` 始终有效,但 `rmarkdown::render` 在第二次运行时失败(但不是第一次!),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56606299/

相关文章:

r - 将图像从剪贴板复制到 Markdown 报告

css - 有什么方法可以在不丢失颜色的情况下打印 rmarkdown 表吗?

r - ggplotly() 不将日期放在 x 轴上

r - 计算R中字符串(不包括空格)中的字符?

r - 将逗号分隔的字符串拆分为 bool 列

在命令行上使用参数运行 RMarkdown

r - 使用 knitr 对 block 的动态调用次数

r - 在 rmarkdown 表中嵌入 png

r - 使用 dplyr/tidyverse 进行类似扫描的操作

r - 如何在 PDF 输出中打破多个列中的编织表? - Markdown