我想知道是否有什么技巧可以将当前日期放在要由knitr
和rmarkdown
包处理的.rmd
文档的YAML前缀中。我曾经在我的wiki页面的顶部有下面这行,
_baptiste, `r format(Sys.time(), "%d %B, %Y")`_
它将在html输出中转换为baptiste,2014年5月3日。现在,我想利用rmarkdown
提供的高级pandoc包装器,但是在YAML头中使用r代码似乎不起作用:
---
title: "Sample Document"
output:
html_document:
toc: true
theme: united
date: `r format(Sys.time(), "%d %B, %Y")`
author: baptiste
---
Error in yaml::yaml.load(front_matter) :
Scanner error: while scanning for the next token at line 6, column 7
found character that cannot start any token at line 6, column 7
Calls: <Anonymous> ... output_format_from_yaml_front_matter ->
parse_yaml_front_matter -> <Anonymous> -> .Call
有什么解决方法吗?
发布于 2014-05-08 06:12:57
这有点棘手,但是您只需要通过引用内联R表达式来使date
字段在YAML中有效,例如
date: "`r format(Sys.time(), '%d %B, %Y')`"
然后解析错误就会消失,日期将在markdown输出中生成,这样Pandoc就可以使用Sys.time()
中的值了。
发布于 2014-08-20 01:41:13
只是关注@艺惠。奇怪的是,我发现:
'`r format(Sys.Date(), "%B %d, %Y")`'
其效果优于:
"`r format(Sys.Date(), '%B %d, %Y')`"
对于后者,每当在HTML和PDF输出之间切换时,RStudio都会选择将外引号更改为'
,从而破坏代码。
发布于 2015-07-14 07:12:25
或者只使用单引号和双引号,反之亦然。
---
title: "Sample Document"
output:
html_document:
toc: true
theme: united
date: '`r format(Sys.time(), "%d %B, %Y")`'
author: baptiste
---
https://stackoverflow.com/questions/23449319
复制相似问题