按时间顺序排列的引文 - CSL文件修改

时间:2017-04-11 15:28:55

标签: citations csl

我知道内联引文组中引文的排序由.csl引文样式决定。我想知道是否有人能够提供有关如何编辑现有样式的指导,该样式不按时间顺序排列内联引用,以便它可以。具体来说,我有兴趣修改debugfsNature style)所以引用的组中的项目,例如文本中的“1-5”按时间顺序排列在参考书目中。

编辑:我需要这个而不是打破发布商的引文格式指南。

2 个答案:

答案 0 :(得分:1)

我是CSL的开发人员之一,您无法使用当前版本的CSL 1.0.1指定此行为。我认为您有三种选择:

  1. 您可以按时间顺序自动对引文组中的文本引用进行排序,并按照引用顺序保留参考书目。但是,因为项目编号始终基于参考书目顺序,这可能导致看起来很奇怪的引用,例如“4,3,5”(例如,如果您首先引用项目3,然后引用项目3,4和5,第3项具有第4项和第5项之间的发布日期。
  2. 如果您可以接受,您可能会按时间顺序对整个参考书目进行排序,从而获得更好的结果。 https://gist.github.com/rmzelle/bc869c900549226483123c11b0a90cb9/revisions#diff-505d66a4e3748adc6417742a07ce4f51显示了自然风格中所需的修改(按年份排序)。
  3. 你可能也可以用当前的风格来实现这个目标,只要你确保只要你在一个引文中引用多个新项目,你就会按时间顺序引用它们。

答案 1 :(得分:1)

我维护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