Как pandoc-citeproc сортирует цитаты?

У меня есть текст Markdown в стиле пандока, где я цитирую две статьи одного и того же автора в одном месте:

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

Это отображается как

Lorem ipsum (Автор 2001, 2000) Долор Сит Амет.

Почему эти цитаты отсортированы таким образом, противоречащие последовательности в моем тексте, противоречащие сортировке по годам авторов и противоречащие последовательности, в которой они появляются в списке литературы? Как я могу это изменить? Можно ли отключить какую-либо сортировку и сохранить порядок, в котором я указываю цитаты?

Дополнительная информация: текст преобразуется в pandoc с опциями --filter pandoc-citeproc --csl=elsevier-harvard.csl в латекс, а затем обрабатывают с помощью xelatex. Файл csl можно скачать с Zotero. Pandoc v1.13.2, pandoc-citeproc v0.6.

1 ответ

Решение

Форматирование цитирования в тексте определяется вашим CSL между <citation></citation> теги. Сортировка ваших цитат определяется между <sort></sort> теги. CSL, который вы используете, сортируется по автору, а затем по убыванию даты выпуска (Author 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>
Другие вопросы по тегам