1

I am using RMarkdown in RStudio and want to cite several sources using csl, specifically I use the style "elsevier-with-titles.csl". I want to cite a german reference, so title must have upper case words other than for english references but the titles are forced to be completely lower case.

My sources are correctly set up in a .bib file (BibTex format).

YAML header in my RMarkdown file:

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

.bib file:

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

I get this result in my knitted output files.

  1. Georgii H-O. Stochastik: Einführung in die wahrscheinlichkeitstheorie und statistik. de Gruyter; 2015.

But I want:

  1. Georgii H-O. Stochastik: Einführung in die Wahrscheinlichkeitstheorie und Statistik. de Gruyter; 2015.

Does somebody know how to set things up correctly in this case?

  • Mhhh, good question, but it is probably more about CSL and how pandoc handles .bib files than about LaTeX or BibTeX. The usual LaTeX answer to this problem is to protect the words with braces: tex.stackexchange.com/q/10772/35864. But I think that is bad practice for German titles (where basically everything would have to be protected), instead one should use a style that does not use sentence casing. – moewe Apr 7 at 6:47
  • I have never used pandoc/RMarkdown/... before, but I'm a bit confused. AFAIK CSL files assume content is stored in sentence case and the .csl you use does not change the title casing for @books. So naively I'd have assumed that in your example you should not see case changes at all. The only explanation for what you see that makes sense to me is that whatever program passes your .bib file on to the CSL format converts your titles into sentence case without asking. Maybe that can be turned off. – moewe Apr 7 at 6:50
  • 1
    Maybe, just maybe, it is enough to add langid = {ngerman}, to the entry: github.com/jgm/pandoc-citeproc/blob/master/man/… – moewe Apr 7 at 6:56
  • langid = {ngerman} in the .bib file entry works perfectly for me. A bit tedious for longer .bib files though. If you write an answer I will accept it. – nunberg Apr 7 at 8:25
1

This seems to be a feature of pandoc and is not directly related to BibTeX (which also has a feature to convert titles to sentence case, see BibTeX loses capitals when creating .bbl file).

CSL expects titles to be saved in sentence case while .bib files are expected to contain titles in Title Case (see What is the proper casing to use when storing titles in the bibliography database?). Hence, it seems reasonable that pandoc would convert your titles in the .bib file to sentence case before passing them to on the CSL style.

According to https://github.com/jgm/pandoc-citeproc/blob/master/man/pandoc-citeproc.1.md you should be able to disable this behaviour for non-English titles by telling pandoc manually that your citation is in German (where there is no concept of sentence case vs Title Case) and that therefore the titles should be left alone. This happens via the langid field (that would also be used by biblatex to decide whether or not to apply sentence casing).

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.