Knit & rmarkdown::render() 产生不同的结果(kable 格式;PDF)
Knit & rmarkdown::render() producing different results (kable format; PDF)
我有一些 Rmarkdown 文档,我正在尝试 knit
/render
作为 PDF 文件。我想让 render
正常工作,因为我要 运行 在一个脚本中使用多个 Rmd 文件以及许多其他进程(例如数据抓取和处理)。
使用 knit
按钮可产生所需的结果。如果我使用 rmarkdown::render
,table 布局就会变得古怪(参见示例)。这是重现我的问题的最小示例。
RMD
---
title: "RmdTest"
author: "TTS"
date: '`r format(Sys.time(), "%d %B, %Y")`'
output: pdf_document
always_allow_html: true
---
```{r Rmd-Setup, include=FALSE}
options(knitr.kable.NA = '')
library(kableExtra)
# Dummy Data
df <- structure(list(Location = c("Farm", "Farm", "Farm", "Farm"),
Animal = c("dog", "cat", "cat", "cat"), Age = c("Adult",
"Juvenile", "Adult", "Total"), Abundance = c(27269L, 62308L,
34904L, 97212L)), row.names = c(NA, -4L), class = "data.frame")
```
## Why?
The 'Knit' button is producing the desired result, while running rmarkdown::render is producing a different (undesirable) result.
```{r Table-1, echo=FALSE}
kable(df, caption = 'This data does not make sense.', booktabs = TRUE) %>%
kable_styling(latex_options = 'scale_down') %>%
landscape() %>%
add_footnote(label = 'Here is a footnote.')
```
渲染
rmarkdown::render(input = 'test.Rmd', output_format = "pdf_document")
版本
R version 4.0.0 (2020-04-24)
Rmarkdown v 1.1
kableExtra v 1.1.0
预期结果: 使 render
具有与 knit
按钮相同的输出,特别是 table 格式。任何帮助表示赞赏。如果有任何其他信息有帮助,请告诉我。干杯!
截图
新的奇怪行为
通过退出并重新启动 RStudio 重新启动我的 R 会话后,我能够 运行 render
成功,具有所需的格式。返回错误消息后立即再次尝试 运行 render
:! LaTeX Error: Environment landscape undefined.
但是,如果我使用 .rs.restartR()
,render
会产生不正确的格式。 运行 render
之后产生相同的结果:产生格式不正确的 PDF。
注意:我今天早上重新安装了 tinytex 以确保这不是问题所在。
尝试在 YAML 序言中包含正确的 Latex 包。我不确定为什么在 Rstudio UI 中选择 Knit 按钮和使用 render
函数的工作方式不同;但他们这样做了。我发现包含 Latex 软件包通常可以解决问题。
---
title: "RmdTest"
author: "TTS"
date: '`r format(Sys.time(), "%d %B, %Y")`'
header-includes:
- \usepackage{pdflscape}
- \usepackage{booktabs}
output: pdf_document
always_allow_html: true
---
我有一些 Rmarkdown 文档,我正在尝试 knit
/render
作为 PDF 文件。我想让 render
正常工作,因为我要 运行 在一个脚本中使用多个 Rmd 文件以及许多其他进程(例如数据抓取和处理)。
使用 knit
按钮可产生所需的结果。如果我使用 rmarkdown::render
,table 布局就会变得古怪(参见示例)。这是重现我的问题的最小示例。
RMD
---
title: "RmdTest"
author: "TTS"
date: '`r format(Sys.time(), "%d %B, %Y")`'
output: pdf_document
always_allow_html: true
---
```{r Rmd-Setup, include=FALSE}
options(knitr.kable.NA = '')
library(kableExtra)
# Dummy Data
df <- structure(list(Location = c("Farm", "Farm", "Farm", "Farm"),
Animal = c("dog", "cat", "cat", "cat"), Age = c("Adult",
"Juvenile", "Adult", "Total"), Abundance = c(27269L, 62308L,
34904L, 97212L)), row.names = c(NA, -4L), class = "data.frame")
```
## Why?
The 'Knit' button is producing the desired result, while running rmarkdown::render is producing a different (undesirable) result.
```{r Table-1, echo=FALSE}
kable(df, caption = 'This data does not make sense.', booktabs = TRUE) %>%
kable_styling(latex_options = 'scale_down') %>%
landscape() %>%
add_footnote(label = 'Here is a footnote.')
```
渲染
rmarkdown::render(input = 'test.Rmd', output_format = "pdf_document")
版本
R version 4.0.0 (2020-04-24)
Rmarkdown v 1.1
kableExtra v 1.1.0
预期结果: 使 render
具有与 knit
按钮相同的输出,特别是 table 格式。任何帮助表示赞赏。如果有任何其他信息有帮助,请告诉我。干杯!
截图
新的奇怪行为
通过退出并重新启动 RStudio 重新启动我的 R 会话后,我能够 运行 render
成功,具有所需的格式。返回错误消息后立即再次尝试 运行 render
:! LaTeX Error: Environment landscape undefined.
但是,如果我使用 .rs.restartR()
,render
会产生不正确的格式。 运行 render
之后产生相同的结果:产生格式不正确的 PDF。
注意:我今天早上重新安装了 tinytex 以确保这不是问题所在。
尝试在 YAML 序言中包含正确的 Latex 包。我不确定为什么在 Rstudio UI 中选择 Knit 按钮和使用 render
函数的工作方式不同;但他们这样做了。我发现包含 Latex 软件包通常可以解决问题。
---
title: "RmdTest"
author: "TTS"
date: '`r format(Sys.time(), "%d %B, %Y")`'
header-includes:
- \usepackage{pdflscape}
- \usepackage{booktabs}
output: pdf_document
always_allow_html: true
---