Я поддерживаю citeproc-js
, который, вероятно, является наиболее широко используемым процессором CSL. Хотя в настоящее время этот случай не рассматривается ни в спецификации CSL, ни в citeproc-js
, вариант использования и условия для запуска поведения ясны. Размышляя о том, как подойти к этому, я думаю, что нужно рассмотреть два уровня: способ выразить это в таблице стилей CSL; и как это сделать внутри процессора.
Прежде всего, принимая во внимание таблицы стилей, может показаться простым просто неявно отразить порядок сортировки ссылок в несортированной (или citation-number
-сортированной) библиографии. Это можно сделать без каких-либо изменений в языке CSL (за исключением, возможно, указания поведения). Это заманчиво, но порядок сортировки в библиографиях CSL может быть явным, так что будут пограничные случаи, и это может запутать всех заинтересованных лиц.
Под капотом, внутри процессора, вы бы использовали для этого ключ сортировки для чего-то вроде first-reference-citation-number
. [1] Вы можете использовать его в качестве первичного ключа для сортировки ссылок в библиографии, а issued
(или что-то подобное) использовать в качестве вторичного ключа. С элементами, выстроенными в таком порядке, все станет на свои места: citation-number
будет присваиваться элементам в порядке возрастания обычным способом, присвоенные номера будут отображаться в элементах цитирования в тексте, и если цитирование налагает сортировку на issued
(или любом другом) числовое свертывание будет работать, как и ожидалось.
Для ясности вы хотели бы разрешить явную сортировку по (все еще гипотетическому) first-reference-citation-number
; и это потребует (небольших) изменений в спецификации CSL.
Это мои два бита по этому вопросу. У @RinzeZelle и @adam.smith могут быть дополнительные мысли по этому поводу.
[1] Мы не можем использовать для этого существующий first-reference-note-number
, так как все цитаты в тексте имеют номер примечания 0
.
person
Frank Bennett
schedule
11.04.2017