切换knitr输出格式

时间:2016-09-09 15:44:03

标签: r rstudio knitr

在RStudio中使用knitr,我有一个rmarkdown文件:

---
title: "PDF knit error"
output: pdf_document
date: "`r format(Sys.time(), '%d %B, %Y')`"
---

#Content

在RStudio中,有一个很好的小下拉选项,我可以在其中更改输出格式:

screenshot of Knit output options button

但是,当我使用它来更改输出格式时,YAML标头会以不合需要的方式更改(当output值更改时,它也会相应更改)。也就是说,date字段有一个R片段,可以动态地将值分配给date,因为双引号被更改为单个引号,并且单引号更改为单引号的

例如,当我使用此按钮将输出格式更改为HTML时,降价文件将更改为:

---
title: "PDF knit error"
output: html_document
date: '`r format(Sys.time(), ''%d %B, %Y'')`'
---

#Content

date更改比较:

"`r format(Sys.time(), '%d %B, %Y')`"   # before another output option selected
'`r format(Sys.time(), ''%d %B, %Y'')`' # after another output option selected

此更改导致编织失败:

processing file: yaml-header-test.Rmd
Quitting from lines 2-7 (yaml-header-test.Rmd) 
Error in base::parse(text = code, keep.source = FALSE) : 
  <text>:1:29: unexpected input
1: format(Sys.time(), ''%d %B, %Y'')
                            ^
Calls: <Anonymous> ... inline_exec -> withVisible -> eval -> parse_only -> <Anonymous>
Execution halted

是否可以阻止通过下拉菜单切换格式导致编辑到date字段?并且,先发制人,是的,我认识到我可以通过直接编辑output字段来完成格式的更改,但我的问题是关于GUI按钮的后果。

系统详情:

  • Ubuntu 16.04
  • pandoc 1.17.2
  • R 3.3.1
  • RStudio 0.99.489

0 个答案:

没有答案