我有一个pandoc风格的Markdown文字,我在同一个地方引用了同一作者的两篇论文:
Lorem ipsum [@Author2000;@Author2001] dolor sit amet.
这将呈现为
Lorem ipsum(作者2001,2000)dolor sit amet。
为什么这些引文按照这种方式排序,与我的文本中的顺序相矛盾,与作者年份排序相矛盾,并且与它们在引用列表中出现的顺序相矛盾?我怎么能改变这个?是否可以关闭任何类型的排序并保持我指定引用的顺序?
更多信息:文本通过pandoc和选项--filter pandoc-citeproc --csl=elsevier-harvard.csl
转换为latex,然后使用xelatex进行处理。 csl文件可以从Zotero下载。 Pandoc是v1.13.2,pandoc-citeproc是v0.6。
答案 0 :(得分:7)
文本引文格式由您的CSL在<citation></citation>
标记之间定义。引文的排序是在<sort></sort>
标记之间定义的。您正在使用的CSL按作者排序,然后按发布的降序日期排序 - (作者2001,2000):
<citation ...>
<sort>
<key macro="author"/>
<key macro="issued" sort="descending"/>
</sort>
...
</citation>
按作者排序,然后按发出的升序日期排序 - (作者2000,2001):
<citation ...>
<sort>
<key macro="author"/>
<key macro="issued" sort="ascending"/>
</sort>
...
</citation>
要不对引文进行排序,只需删除<sort></sort>
代码之间的所有内容。
<citation ...>
<sort>
</sort>
...
</citation>