rmarkdown 中的德国长日期

Posted

技术标签:

【中文标题】rmarkdown 中的德国长日期【英文标题】:German long date in rmarkdown 【发布时间】:2017-02-06 11:50:55 【问题描述】:

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

---
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")`

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

【问题讨论】:

github.com/rstudio/rmarkdown/issues/145 你必须转义:"28\\. September 2016" @jogo:嗯,我预计这之前已经作为问题提交,但在 rmarkdown 问题中没有找到任何带有“德国日期”搜索的内容。很高兴知道,谢谢!由于 yihui 也建议避开点,我想我可以将我的答案标记为官方答案。 ;) 【参考方案1】:

问题在于 pandoc 将行首的数字后跟一个点转换为有序列表,因此在这种情况下,它将 "28. September 2016" 呈现为从 28 开始的有序列表,并带有 " 2016 年 9 月”。解决这个问题的(可能)最简单的方法是转义 r/rmarkdown 中的点。

**Date with escaped dot**

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

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

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

即单外引号和双内引号。

【讨论】:

以上是关于rmarkdown 中的德国长日期的主要内容,如果未能解决你的问题,请参考以下文章

html [Jekyll日期格式] Jekyll中的德国日期#jekyll

以德国日期格式输入数据并结合 Chart Js

在具有德国区域设置的计算机上使用 VBA 自动过滤器过滤日期问题

如何在 RMarkdown 中显示代码但隐藏输出?

将德国日期转换为美国日期时出现 DateTime.TryParse() 问题

博客中的 YAML 当前日期