Changing how citeproc (?) decides between 'single' and 'multiple'

edited September 23, 2017
I am using juris-m, but I think that my question applies to the csl interpreter more generally. I am using OSCOLA csl, but again, the point applies more generally.

Plurals for (non-page) pinpoint identifiers are not working the way that I would like them to. Currently, if I pinpoint to paragraphs 7 and 8, Zotero correctly renders it as paras 7-8. However, if I am referencing subparagraphs or multiple paragraphs, it defaults to para. Thus, paragraphs 7, 8 renders as para 7, 8; and paragraphs 15(1)-15(2) renders as para 15(1)-15(2), rather than as paras 15(1)-15(2).

I am not sure how the csl engine decides between plurals and singular in cases like this, but if it would be possible to change this behaviour, I think it would be preferable.
  • This is controlled by the coding of the style. @adamsmith coded OSCOLA with extensive feedback by the legal scholars who requested it, so I assume the choice here was made intentionally.
  • edited September 23, 2017
    Sorry, I have been unclear. So far as I understand, the only part of the OSCOLA style that determines how pinpoint identifiers are rendered is the following:

    <term form="short" name="paragraph">
    <single>para</single>
    <multiple>paras</multiple>
    </term>

    This is the correct form of the plural as per the OSCOLA guide.

    However, my issue is not with how a particular CSL style renders plural pinpoints, but with how the CSL engine (citeproc?) decides when to use multiple, and when to use single.

    But I may be incorrect that this decision in entirely in Zotero's implementation of CSL. Is there some part of the individual csl styles that indicates how this decision should be made?
  • edited September 23, 2017
    No, this really isn't an issue with citeproc-js, but with the coding of the style. When the locators are actually called by the style later, there is no plural attribute given (e.g., <label variable="locator" form="short" strip-periods="true"/>). plural defaults to "false" when unspecified, so the style just needs to have plural="contextual" added wherever the locator label is called.

    @adamsmith You know this style much better than I do—the labels should be pluralized contextually, correct?

    @damnation
  • No, @bwiernik misread the specs here. plural defaults to false for cs:term, but to contextual for cs:label
    See: http://docs.citationstyles.org/en/stable/specification.html#label

    This is indeed citeproc-js and it'd be helpful if @fbennett could chime in (it's his code and I know he's thought a lot about this).
  • Sorry, mea culpa.
  • I should note that for the two use cases mentioned in the specification (i.e. two numbers connected by a hyphen, two numbers connected by an ampersand), the behaviour is as expected. It's only with more complicated numbering is used, or when two numbers are used with a comma that the behaviour was different than I expected.
    I do realize that this may have been a deliberate decision.
  • (I'm on the road at the moment, but should be able to respond by the weekend. Sounds like maybe the processor should be a little more aggressive with the plural setting - will look forward to discussion.)
  • @liam.mchugh.russell: There have been changes to singular/plural handling since these posts. I think this has been resolved - if that's not right, feel free to ping back.
Sign In or Register to comment.