针织及;rmarkdown::render()生成不同的结果(可扩展格式;PDF)
我有一些Rmarkdown文档,我正试图针织及;rmarkdown::render()生成不同的结果(可扩展格式;PDF),r,pdf,r-markdown,knitr,kableextra,R,Pdf,R Markdown,Knitr,Kableextra,我有一些Rmarkdown文档,我正试图knit/呈现为PDF文件。我想让render正常工作,因为我将在一个包含多个Rmd文件的脚本以及许多其他进程(例如数据采集和处理)中运行它 使用knit按钮产生所需的结果。如果我使用rmarkdown::render,表格布局会变得古怪(参见示例)。这里有一个最小的例子,它再现了我的问题 RMD --- title: "RmdTest" author: "TTS" date: '`r format(Sys.time
knit
/呈现为PDF文件。我想让render
正常工作,因为我将在一个包含多个Rmd文件的脚本以及许多其他进程(例如数据采集和处理)中运行它
使用knit
按钮产生所需的结果。如果我使用rmarkdown::render
,表格布局会变得古怪(参见示例)。这里有一个最小的例子,它再现了我的问题
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.')
```
版本
R version 4.0.0 (2020-04-24)
Rmarkdown v 1.1
kableExtra v 1.1.0
所需结果:获取渲染
以获得与knit
按钮相同的输出,特别是表格格式。感谢您的帮助。请让我知道如果任何其他信息将有帮助。干杯
屏幕截图
R version 4.0.0 (2020-04-24)
Rmarkdown v 1.1
kableExtra v 1.1.0
新的奇怪行为
rmarkdown::render(input = 'test.Rmd', output_format = "pdf_document")
通过退出并重新启动RStudio重新启动R会话后,我能够以所需格式成功运行渲染
。尝试在返回错误消息后立即再次运行渲染!LaTeX错误:环境景观未定义。
但是,如果使用.rs.restartR()
,渲染
会产生不正确的格式。之后运行渲染
会产生相同的结果:生成格式不正确的PDF
注意:我今天早上重新安装了tinytex,以确保这不是问题所在。尝试在YAML前言中包含正确的Latex软件包。我不知道为什么在Rstudio UI中选择Knit按钮和使用render
功能的效果不同;但他们确实如此。我发现包括乳胶包通常可以解决这个问题
---
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
---
我无法重现这种情况:当我运行代码时,knit按钮和rmarkdown::render
产生完全相同的结果。你能发布这个问题的截图吗?图片已加载。还添加了一个新的行为描述。进一步说明:添加的LaTeX包似乎需要存在,以便render
函数识别并包含它们,而knit
按钮显然能够识别出对这些包的需求,即使它们没有包含在YAML中。错误消息中给出了线索!LaTeX错误:未定义环境景观
,并通过向YAML添加keep_tex:true
。如果您查看.tex
文件,它现在应该包括包pdflscape
和booktab
,而以前没有。