#pandoc #csl #pandoc-citeproc
Вопрос:
Когда я конвертирую файл markdown в pdf, порядок ссылок в списке литературы такой же, как и в .bib
файле. В результате ссылки в тексте отображаются в неправильном порядке. В результате я могу иметь в тексте предложения, подобные ... reported in [2] after [1] ...
тем, которые я хотел бы, чтобы ссылки были отсортированы в библиографии по мере их появления в тексте, как это было бы при использовании unsrt.bib
.
Вопрос в следующем: как мне добиться сортировки записей в разделе библиографии в порядке их появления в тексте?
MWE, скомпилированный с использованием pandoc -C -f markdown testing.md -o testing.pdf
testing.md:
---
bibliography: test.bib
csl: aps.csl
---
The first reference [@second_title_2015]
The second reference [@author_title_2014]
тест.нагрудник
@article{author_title_2014,
title = {The title},
author = {Author, A. B. and Other, C. D.},
year = {2014},
}
@article{second_title_2015,
title = {The other title},
author = {Second, T. A. and First, F. G.},
year = {2015},
}
Вывод
Изменение порядка @article
‘s в test.bib
приводит к желаемому результату: The first reference [1] the second reference [2]
.
Я использую aps.csl
репозиторий стиля, взятый из zotero: https://www.zotero.org/styles/american-physics-society?источник=1
причина проблемы:
У меня был устаревший pandoc, установленный conda (pandoc является необходимым условием для некоторых важных пакетов, в которых я нуждался), и эта версия имела приоритет над установкой arch по умолчанию из $PATH
-за того, что ранее был каталог исполняемых файлов conda /bin/
.
Ответ №1:
Вы использовали устаревший pandoc? Я протестировал ваш код с помощью pandoc 2.13, который выдал правильный вывод. Вы можете получить последнюю версию здесь.
pandoc --version
pandoc 2.13
Compiled with pandoc-types 1.22, texmath 0.12.2, skylighting 0.10.5,
citeproc 0.3.0.9, ipynb 0.1.0.1
pandoc -C -f markdown testing.md -o testing.pdf
Комментарии:
1. Да, я это сделал. Кто бы ни столкнулся с той же проблемой: у меня был устаревший pandoc, установленный conda (pandoc является необходимым условием для некоторых важных пакетов, в которых я нуждался), и эта версия имела приоритет над установкой arch по умолчанию из-за того, что каталог исполняемых файлов conda был
$PATH
перед `/bin/.