Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
针织及;rmarkdown::render()生成不同的结果(可扩展格式;PDF)_R_Pdf_R Markdown_Knitr_Kableextra - Fatal编程技术网

针织及;rmarkdown::render()生成不同的结果(可扩展格式;PDF)

针织及;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

我有一些Rmarkdown文档,我正试图
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
,而以前没有。