如何使用 csl 和 rmarkdown 正确引用德语书名(大写)?

如何使用 csl 和 rmarkdown 正确引用德语书名(大写)?

我在 RStudio 中使用 RMarkdown,并希望使用 csl 引用多个来源,具体来说,我使用样式“elsevier-with-titles.csl”。我想引用德语参考文献,因此标题必须有大写单词(英语参考文献除外),但标题必须完全小写。

我的来源在 .bib 文件(BibTex 格式)中正确设置。

我的 RMarkdown 文件中的 YAML 标头:

title: "mytitle"
author: "nunberg"
date: '01\.01\.2019'
output:
  pdf_document: default
  html_document: default
bibliography: refs.bib
csl: elsevier-with-titles.csl

.bib 文件:

@book{georgii2015stochastik,
  title={Stochastik: Einf{\"u}hrung in die Wahrscheinlichkeitstheorie und Statistik},
  author={Georgii, Hans-Otto},
  year={2015},
  publisher={de Gruyter}
}

我在我的针织输出文件中得到了这个结果。

  1. 乔治·何。随机学:计量理论和统计方面的引介。德格鲁伊特; 2015 年。

但我想要:

  1. 乔治·何。随机学:计量理论和统计的引介。德格鲁伊特; 2015 年。

在这种情况下,有人知道如何正确设置吗?

答案1

这似乎是 pandoc 的一个功能,与 BibTeX 没有直接关系(BibTeX 也具有将标题转换为句子大小写的功能,请参阅BibTeX 在创建 .bbl 文件时丢失大写字母)。

CSL 要求标题以句子大小写保存,而.bib文件则要求标题以标题大小写保存(请参阅在参考书目数据库中存储标题时,应使用什么大小写?.bib)。因此,在将文件中的标题传递给 CSL 样式之前,pandoc 将其转换为句子大小写似乎是合理的。

根据https://github.com/jgm/pandoc-citeproc/blob/master/man/pandoc-citeproc.1.md您应该能够通过手动告诉 pandoc 您的引用是德语(其中没有句子大小写与标题大小写的概念)来禁用非英语标题的此行为,因此标题应该保持不变。这通过字段实现langid(该字段也将用于biblatex决定是否应用句子大小写)。

@book{georgii2015stochastik,
  title     = {Stochastik: Einführung in die Wahrscheinlichkeitstheorie und Statistik},
  author    = {Georgii, Hans-Otto},
  year      = {2015},
  publisher = {de Gruyter},
  langid    = {ngerman},
}

相关内容