Ссылки в Rmarkdown: используйте заглавные буквы, как в файле .bib

Я пишу рукопись, используя Rmarkdown с RStudio и knitr. Для форматирования ссылок я использую файл .csl для журнала Global Ecology and Biogeography, который я получил от https://www.zotero.org/styles.

Моя проблема в том, что заголовки автоматически преобразуются в регистр предложений. Это особенно проблематично для названий видов, которые становятся строчными.

Например,

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

становится

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

В соответствии с этим вопросом: Как установить ссылки на "приговор"?, я должен удалить из файла .csl все строки типа text-case=. Проблема в том, что таких строк нет, а у меня все равно заголовки трансформируются.

В качестве бонуса я также хотел бы знать, как сохранить названия видов курсивом.

Файл Rmarkdown

---
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 с библиографией

@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 со стилем

<?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>

person Eduardo Fernández-Pascual    schedule 03.06.2020    source источник


Ответы (1)


Похоже, что knitr использует pandoc-citeproc для отображения цитирования, и вы можете сохранить регистр, используя другой набор квадратных скобок вокруг заголовка. См. https://github.com/jgm/pandoc-citeproc/issues/269.

Итак, вместо

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

ты бы использовал

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

См. также https://github.com/jgm/pandoc-citeproc/blob/master/man/pandoc-citeproc.1.md#titles-title-vs-sentence-case,

Для названий видов попробуйте \textit{Osmorhiza}. (согласно https://latex.org/forum/viewtopic.php?t=21255< /а>)

person Rintze Zelle    schedule 04.06.2020
comment
Спасибо, это решило мою проблему. Для тех (таких как я), создающих файл .bib из библиотеки EndNote, я добавлю, что вы можете отредактировать стиль экспорта BibTeX EndNote, чтобы он вставлял двойной {{}} в ваши заголовки, чтобы защитить их от изменения заглавных букв. Вы также можете вставить \textit{Osmorhiza} в свою ссылку EndNote, чтобы курсив в окончательном документе был создан с помощью knitr, но тогда он будет выглядеть так, если вы хотите использовать его в Word. - person Eduardo Fernández-Pascual; 04.06.2020