References in Rmarkdown: use title capitalization as is in the .bib file
Asked Answered
T

2

5

I'm writing a manuscript using Rmarkdown with RStudio and knitr. To format the references, I'm using the .csl file for the journal Global Ecology and Biogeography, which I got from https://www.zotero.org/styles.

My problem is that the titles are automatically transformed to sentence case. This is especially problematic for species names, which become lower case.

For example,

Two types of morphophysiological dormancy in seeds of two genera (Osmorhiza and Erythronium) with an Arcto-Tertiary distribution pattern

becomes

Two types of morphophysiological dormancy in seeds of two genera (osmorhiza and erythronium) with an arcto-tertiary distribution pattern

According to this question: How to set references to 'sentence case'?, I should remove from the .csl file all lines like text-case=. The problem is that there are no such lines, and still my titles are transformed.

For a bonus, I would also like to know how to keep species names in italics.

Rmarkdown file

---
title: "Untitled"
output: html_document
bibliography: refs.bib
csl: global-ecology-and-biogeography.csl
link-citations: yes
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

[@RN1045]

# References

refs.bib file with the bibliography

@article{RN1045,
   author = {Baskin, Carol C.; Meyer, Susan E.; Baskin, Jerry M.},
   title = {Two types of morphophysiological dormancy in seeds of two genera (Osmorhiza and Erythronium) with an Arcto-Tertiary distribution pattern},
   journal = {American Journal of Botany},
   volume = {82},
   number = {3},
   pages = {293-298},
   ISSN = {00029122},
   DOI = {10.1002/j.1537-2197.1995.tb12633.x},
   url = {<Go to ISI>://WOS:A1995QM77500001; https://bsapubs.onlinelibrary.wiley.com/doi/abs/10.1002/j.1537-2197.1995.tb12633.x},
   year = {1995},
   type = {Journal Article}
}

global-ecology-and-biogeography.csl file with the style

<?xml version="1.0" encoding="utf-8"?>
<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" default-locale="en-US">
  <info>
    <title>Global Ecology and Biogeography</title>
    <id>http://www.zotero.org/styles/global-ecology-and-biogeography</id>
    <link href="http://www.zotero.org/styles/global-ecology-and-biogeography" rel="self"/>
    <link href="http://www.zotero.org/styles/bioinformatics" rel="template"/>
    <link href="http://onlinelibrary.wiley.com/journal/10.1111/%28ISSN%291466-8238/homepage/ForAuthors.html" rel="documentation"/>
    <author>
      <name>Bernhard Hoiß</name>
      <email>[email protected]</email>
    </author>
    <category citation-format="author-date"/>
    <category field="biology"/>
    <issn>1466-822X</issn>
    <eissn>1466-8238</eissn>
    <summary>The Global Ecology and Biogeography style</summary>
    <updated>2016-09-10T14:32:31+00:00</updated>
    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
  </info>
  <locale>
    <terms>
      <term name="edition" form="short">edn.</term>
      <term name="editor" form="verb-short">ed. by</term>
      <term name="translator" form="verb-short">trans.</term>
    </terms>
  </locale>
  <macro name="editor">
    <names variable="editor" delimiter=",">
      <label form="verb-short" prefix=" (" suffix=" "/>
      <name sort-separator=", " and="text" initialize-with="." delimiter=", " suffix=")"/>
    </names>
  </macro>
  <macro name="author">
    <names variable="author">
      <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with="." delimiter=", " delimiter-precedes-last="never"/>
      <label form="short" prefix=" "/>
      <substitute>
        <names variable="editor"/>
        <text variable="title"/>
      </substitute>
    </names>
  </macro>
  <macro name="author-short">
    <names variable="author">
      <name form="short" and="symbol" delimiter=", " initialize-with=". "/>
      <et-al term="et-al" font-style="italic"/>
      <substitute>
        <names variable="editor"/>
        <names variable="translator"/>
        <text variable="title"/>
      </substitute>
    </names>
  </macro>
  <macro name="title">
    <text variable="title"/>
  </macro>
  <macro name="publisher">
    <group delimiter=", ">
      <text variable="publisher"/>
      <text variable="publisher-place"/>
    </group>
  </macro>
  <macro name="year-date">
    <date variable="issued">
      <date-part name="year"/>
    </date>
  </macro>
  <macro name="edition">
    <choose>
      <if is-numeric="edition">
        <group delimiter=" ">
          <number variable="edition" form="ordinal"/>
          <text term="edition" form="short"/>
        </group>
      </if>
      <else>
        <text variable="edition" suffix="."/>
      </else>
    </choose>
  </macro>
  <citation et-al-min="3" et-al-use-first="1" disambiguate-add-year-suffix="true" collapse="year-suffix" year-suffix-delimiter=",">
    <sort>
      <key macro="year-date"/>
      <key macro="author-short"/>
    </sort>
    <layout prefix="(" suffix=")" delimiter="; ">
      <group delimiter=", ">
        <text macro="author-short"/>
        <text macro="year-date"/>
        <text variable="locator"/>
      </group>
    </layout>
  </citation>
  <bibliography hanging-indent="true" entry-spacing="0">
    <sort>
      <key macro="author"/>
      <key variable="title"/>
    </sort>
    <layout suffix=".">
      <text macro="author"/>
      <date variable="issued" prefix=" (" suffix=")">
        <date-part name="year"/>
      </date>
      <choose>
        <if type="bill book graphic legal_case legislation motion_picture report song" match="any">
          <group delimiter=" " prefix=" ">
            <text macro="title" font-style="italic" suffix=","/>
            <text macro="edition"/>
            <text macro="editor"/>
            <text macro="publisher"/>
          </group>
        </if>
        <else-if type="chapter paper-conference" match="any">
          <text macro="title" prefix=" " suffix="." font-style="italic"/>
          <group prefix=" " suffix=",">
            <text variable="container-title" font-style="italic"/>
            <text variable="collection-title" prefix=" " suffix="."/>
            <text macro="editor"/>
          </group>
          <group suffix=".">
            <group prefix=" " suffix=".">
              <label variable="page" suffix=" " form="short"/>
              <text variable="page"/>
            </group>
            <text macro="publisher" prefix=" "/>
          </group>
        </else-if>
        <else>
          <text macro="title" prefix=" " suffix="."/>
          <group delimiter=", " prefix=" " suffix=".">
            <text variable="container-title" form="long" font-style="italic"/>
            <text variable="volume" font-weight="bold"/>
            <text variable="page"/>
          </group>
        </else>
      </choose>
    </layout>
  </bibliography>
</style>
Toniatonic answered 3/6, 2020 at 15:40 Comment(0)
C
5

It looks like knitr uses pandoc-citeproc for citation rendering, and that you can preserve casing by using another set of brackets around the title. See https://github.com/jgm/pandoc-citeproc/issues/269.

So instead of

title = {Two types of morphophysiological dormancy in seeds of two genera (Osmorhiza and Erythronium) with an Arcto-Tertiary distribution pattern}

you'd use

title = {{Two types of morphophysiological dormancy in seeds of two genera (Osmorhiza and Erythronium) with an Arcto-Tertiary distribution pattern}}

See also https://github.com/jgm/pandoc-citeproc/blob/master/man/pandoc-citeproc.1.md#titles-title-vs-sentence-case,

For species names, try \textit{Osmorhiza}. (per https://latex.org/forum/viewtopic.php?t=21255)

Caldwell answered 4/6, 2020 at 3:39 Comment(1)
Thank you, this solved my problem. For those (like me) generating the .bib file from an EndNote library, I will add that you can edit the BibTeX export style of EndNote so it inserts the double {{}} in your titles to protect them from alteration of capitalization. You can also insert the \textit{Osmorhiza} in your EndNote reference to have the italics in the final document generated with knitr, but then it will appear like that if you want to use it in Word.Logistic
F
1

An alternative if you want capitalised and italicised species names is to wrap the species name in {\emph{species name}} in the title.

For example:

@article{berra1973,
   title = {A home range study of {\emph{Galaxias bongbong}} in Australia}
}

@Rintze Zelle's answer using double curly brackets is required to retain a capital 'A' in 'Australia' in this example.

I use Zotero as a citation manager and the Visual Editor in RStudio to lookup and populate a .bib file for a RMarkdown document, and if the species name is wrapped in <i>species name</i> in the title in Zotero, RStudio Visual Editor automatically replaces <i>species name</i> with {\emph{species name}} in the .bib file.

Frenulum answered 10/8, 2021 at 4:46 Comment(1)
You are answering the question so please don't ask counter question in answer ?Alkyne

© 2022 - 2024 — McMap. All rights reserved.