CSL single and multiple pages

edited November 20, 2017
I have a CSL style with, amongst other things, the code:

<term name="page" form="short">
<single>p. </single>
<multiple>pp. </multiple>
</term>


According to the documentation and other CSL files I've seen, this should cause Zotero to output references in the bibliography with page ranges such as 'p. 123' and 'pp. 123–132'.

However, using this code produces page ranges preceded with 'p.' whether there is one or more than one page, for example 'p. 123-132'.

What can I do to make Zotero output 'pp. 123-132'? I'm using Zotero 5.0.25 on macOS Sierra.
  • Can you post your entire style to a secret gist at gist.github.com and paste a link here?

    When you call for <label variable="page" form="short"/> in your style, does it have a plural="never" property?

    (As an aside, if you are working in English, you don't need to add the page term to your style's locale section—what you are coding is the default. You also don't want to put the spaces in the terms themselves, but rather to code suffix=" " as needed when you call the label in the style.)
  • Thanks bwiernik.

    I'm calling it as follows:

    <macro name="page">
    <label variable="locator" form="short" suffix=" "/>
    <text variable="page"/>
    </macro>


    I tried playing with the 'plural' property but while plural="always" made everything appear as plural, for example 'pp. 123', plural="contextual" didn't change anything.

    If I remove the page term from the code, then all page labels appear in the singular, for example 'p. 123-132'.
  • Can you paste the entire style to http://gist.github.com and paste a link here?
  • I think you need to call the label via label variable=page and not =locator. (Just on my phone, so can't test)
  • Thanks damnation, that was the answer!
Sign In or Register to comment.