2016-09-28 55 views
5

我试图在rmarkdown文档的行首输出德语长格式的日期(今天的日期将是“2016年9月28日”)。但是,在一天之后添加点会在输出文档的一天之前和之后产生额外的空间。rmarkdown中的德国长日期

--- 
title: "german long date in rmarkdown" 
output: html_document 
--- 

**Date without dot** 

`r format(Sys.Date(), "%d %B %Y")` 

**Date with dot** 

`r format(Sys.Date(), "%d. %B %Y")` 

german long date in rmarkdown

我能做些什么来解决这个问题?

+1

https://github.com/rstudio/rmarkdown/issues/145你必须转义:“28 \\。September 2016” – jogo

+0

@jogo:呵呵,我预计这个问题以前曾经提过过,但是,在rmarkdown问题中没有发现任何带有“德国日期”搜索的内容。很高兴知道,谢谢! 由于易辉也建议逃离这个点,我想我可以将我的答案标记为官方答案。 ;) – dpprdan

回答

8

问题是,pandoc将一行后面跟着一个点的数字转换为一个有序列表,因此在这种情况下,它将呈现“28 September 2016”作为有序列表,该列表从28开始使用该项目“2016年9月”。 (可能)最简单的方法来解决这个问题是为了避免r/rmarkdown中的点。

**Date with escaped dot** 

`r format(Sys.Date(), "%d\\. %B %Y")` 

date with escaped dot

更新:如果你想使用德语长日期在YAML header,使用

date: '`r format(Sys.time(), "%d\\. %B %Y")`' 

即单个外部引号和双引号内。