问题描述
当我将 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]
test.bib
@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
中 test.bib
的顺序会产生所需的输出:The first reference [1] the second reference [2]
。
我正在使用从 zotero 样式存储库中获取的 aps.csl
:
https://www.zotero.org/styles/american-physics-society?source=1
问题原因:
我有一个由 conda 安装的过时的 pandoc(pandoc 是我需要的一些重要软件包的先决条件),并且这个版本优先于默认的 arch 安装,因为 conda 的可执行文件目录在 $PATH
之前位于 /bin/
}}。
解决方法
您是否使用过时的 pandoc?我用 pandoc 2.13 测试了你的代码,它产生了正确的输出。您可以获得最新版本 here。
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