How does pandoc-citeproc sort citations?

拟墨画扇 提交于 2019-11-28 07:33:19

问题


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.


回答1:


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>


来源:https://stackoverflow.com/questions/28902783/how-does-pandoc-citeproc-sort-citations

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!