Показать все использованные ссылки при использовании компактной нумерации c стиль цитирования - PullRequest
6 голосов
/ 29 марта 2020

Я отрисовываю html от уценки, используя bookdown, и использую компактный стиль цитирования c, так что, например, 1, 2, 3 отображается как 1-3. Я бы хотел, чтобы ссылки отображались внизу каждой страницы (link-citations: yes), но отображаются только первая и последняя ссылки в диапазоне (показаны только ссылки 1 и 3, см. Скриншот ниже). Есть ли способ, чтобы все цитируемые ссылки отображались на каждой странице с оговоркой, что только первая и последняя будут связаны?

Примечание: все ссылки правильно отображаются в окончательной библиографии.

Воспроизвести:

download.file('https://raw.githubusercontent.com/jgm/pandoc-citeproc/7d824e2e0d4698cf8a6d5e784aa0df27a0f2888a/tests/biblio.bib', 'ex.bib')
download.file('https://raw.githubusercontent.com/citation-style-language/styles/31187daa2c010df338c2bf9b7b30070c91b7af95/nature.csl', 'nature.csl')

и связать файл уценки со следующим содержанием:

---
title: A title
author: An author
bibliography: ex.bib
link-citations: yes
output:
  bookdown::gitbook:
    pandoc_args: [ "--csl", "nature.csl" ]
---

# Intro

baz [@item1; @item2; @пункт3]

# Refs

resulting html


Информация о сеансе

> sessioninfo::session_info()
─ Session info ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 setting  value                       
 version  R version 3.6.0 (2019-04-26)
 os       macOS Mojave 10.14.3        
 system   x86_64, darwin15.6.0        
 ui       RStudio                     
 language (EN)                        
 collate  en_AU.UTF-8                 
 ctype    en_AU.UTF-8                 
 tz       Australia/Melbourne         
 date     2020-03-29                  

─ Packages ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 package     * version date       lib source        
 assertthat    0.2.1   2019-03-21 [2] CRAN (R 3.6.0)
 bookdown      0.17    2020-01-11 [1] CRAN (R 3.6.0)
 cli           2.0.2   2020-02-28 [1] CRAN (R 3.6.0)
 crayon        1.3.4   2017-09-16 [2] CRAN (R 3.6.0)
 digest        0.6.25  2020-02-23 [1] CRAN (R 3.6.0)
 evaluate      0.14    2019-05-28 [2] CRAN (R 3.6.0)
 fansi         0.4.1   2020-01-08 [1] CRAN (R 3.6.0)
 glue          1.3.2   2020-03-12 [1] CRAN (R 3.6.0)
 htmltools     0.4.0   2019-10-04 [1] CRAN (R 3.6.0)
 knitr         1.25    2019-09-18 [1] CRAN (R 3.6.0)
 packrat       0.5.0   2018-11-14 [2] CRAN (R 3.6.0)
 Rcpp          1.0.4   2020-03-17 [1] CRAN (R 3.6.0)
 rlang         0.4.5   2020-03-01 [1] CRAN (R 3.6.0)
 rmarkdown     1.16    2019-10-01 [1] CRAN (R 3.6.0)
 rsconnect     0.8.15  2019-07-22 [2] CRAN (R 3.6.0)
 rstudioapi    0.10    2019-03-19 [2] CRAN (R 3.6.0)
 sessioninfo   1.1.1   2018-11-05 [2] CRAN (R 3.6.0)
 withr         2.1.2   2018-03-15 [2] CRAN (R 3.6.0)
 xfun          0.10    2019-10-01 [1] CRAN (R 3.6.0)
 yaml          2.2.0   2018-07-25 [2] CRAN (R 3.6.0)
❯ pandoc --version
pandoc 2.9.2.1
Compiled with pandoc-types 1.20, texmath 0.12.0.1, skylighting 0.8.3.2
...
Copyright (C) 2006-2020 John MacFarlane
Web:  https://pandoc.org
This is free software; see the source for copying conditions.
There is no warranty, not even for merchantability or fitness
for a particular purpose.

❯ pandoc-citeproc --version
pandoc-citeproc 0.17

1 Ответ

3 голосов
/ 03 апреля 2020

Мне кажется, что в файле nature.csl нужно посмотреть на два элемента

[Строки 104-131].

Проблема возникает то, что ваш bibliography в строке 112 зависит от определения citation в строке 104. Термин collapse взаимодействует с вашим bibliography форматированием.

Моя рекомендация заключается в том, что вы посмотрите на Веб-сайт Citation Style Language и просмотрите справочные стили для обновления вашего конкретного форматирования. Надеясь, это поможет вам направиться в правильном направлении.

  1. Введение в CSL
  2. Пример стилей цитирования <- Супер полезный </li>
  3. Пример IEEE <- соответствует вашему описанному стилю </li>
  4. Визуальный редактор для создания стиля по вашему выбору и загрузки

Я чувствую, что вам нужно создать пользовательское определение cite-group-delimiter в вашем файле .csl, а не использовать collapse. Может быть сложно, но чувствует себя выполнимым.

http://docs.citationstyles.org/en/stable/specification.html#citation
<citation collapse="citation-number">
    <sort>
      <key variable="citation-number"/>
    </sort>
    <layout vertical-align="sup" delimiter=",">
      <text variable="citation-number"/>
    </layout>
  </citation>
  <bibliography et-al-min="6" et-al-use-first="1" second-field-align="flush" entry-spacing="0" line-spacing="2">
    <layout suffix=".">
      <text variable="citation-number" suffix="."/>
      <group delimiter=" ">
        <text macro="author" suffix="."/>
        <text macro="title" suffix="."/>
        <choose>
          <if type="chapter paper-conference" match="any">
            <text term="in"/>
          </if>
        </choose>
        <text macro="container-title"/>
        <text macro="editor"/>
        <text macro="volume"/>
        <text variable="page"/>
        <text macro="issuance"/>
        <text macro="access"/>
      </group>
    </layout>
  </bibliography>

Цитирование

Элемент cs: citation описывает форматирование цитат , которые состоят из одной или нескольких ссылок («цитирует») на библиографические источники c. Цитаты отображаются в виде текстовых цитат (в авторе (например, «[Doe]»)), даты автора («[Doe 1999]»)), метки («[doe99]») или номера («* 1051»). * 1 ”) или примечания. Обязательный дочерний элемент cs: layout описывает, какие и как библиографические данные c должны быть включены в цитаты (см. Макет). cs: layout может предшествовать элемент cs: sort, который можно использовать для указания того, как должны быть отсортированы ссылки в цитировании (см. Сортировка). Элемент cs: citation может содержать атрибуты для Citation-speci c Options и Inheritable Name Options. Пример элемента cs: citation:

<citation>
  <sort>
    <key variable="citation-number"/>
  </sort>
  <layout>
    <text variable="citation-number"/>
  </layout>
</citation>

Примечание для разработчиков процессоров CSL В стилях примечаний цитирование часто является предложением само по себе. Поэтому первый символ цитирования предпочтительно должен быть в верхнем регистре, если в примечании нет предшествующего текста. Во всех других случаях (например, когда цитата вставлена ​​в середину ранее существующей сноски), цитата должна быть напечатана как есть.

Библиография

Элемент библиографии cs: описывает форматирование библиографий, в которых перечислены один или несколько источников библиографии c. Обязательный дочерний элемент cs: layout описывает, как должна быть отформатирована каждая запись библиографии c. cs: layout может предшествовать элемент cs: sort, который можно использовать, чтобы указать, как следует сортировать ссылки в библиографии (см. Сортировка). Элемент cs: bibliography может содержать атрибуты для параметров, определяемых библиографией c и параметров наследуемого имени. Пример библиографического элемента cs:

<bibliography>
  <sort>
    <key macro="author"/>
  </sort>
  <layout>
    <group delimiter=". ">
      <text macro="author"/>
      <text variable="title"/>
    </group>
  </layout>
</bibliography>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...