How does pandoc-citeproc sort citations?
Asked Answered
S

1

8

I have a pandoc-style Markdown text where I cite two papers by the same author in the same place:

Lorem ipsum [@Author2000;@Author2001] dolor sit amet.

This is rendered as

Lorem ipsum (Author 2001, 2000) dolor sit amet.

Why are these citations sorted this way, contradicting the sequence in my text, contradicting author-year sorting, and contradicting the sequence in which they appear in the list of references? How can I change this? Is it possible to switch off any kind of sorting and keep the order in which I specify the citations?

More information: The text is converted by pandoc with the options --filter pandoc-citeproc --csl=elsevier-harvard.csl into latex and then processed with xelatex. The csl file can be downloaded from Zotero. Pandoc is v1.13.2, pandoc-citeproc is v0.6.

Stonemason answered 6/3, 2015 at 16:7 Comment(0)
C
10

In-text citation formatting is defined by your CSL between <citation></citation> tags. The sorting of your citations is defined between the <sort></sort> tags. The CSL you are using sorts by author and then by descending date issued - (Author 2001, 2000):

<citation ...>
    <sort>
        <key macro="author"/>
        <key macro="issued" sort="descending"/>
    </sort>
    ...
</citation>

To sort by author and then by ascending date issued - (Author 2000, 2001):

<citation ...>
    <sort>
        <key macro="author"/>
        <key macro="issued" sort="ascending"/>
    </sort>
    ...
</citation>

To not sort the citations, just remove everything between the <sort></sort> tags.

<citation ...>
    <sort>
    </sort>
    ...
</citation>
Cuttler answered 12/3, 2015 at 4:11 Comment(2)
Thanks, works perfectly. Do you think this is a bug, or can you conceive of any reason why one would want references to be sorted by descending date?Stonemason
@A.Donda Dates should be ascending according to this resource, so you could make a pull request at the csl repositoryCuttler

© 2022 - 2024 — McMap. All rights reserved.