一、背景
用Latex写文章时,使用bib添加参考文献是一种最为简便的方式。但有的期刊模板,如机器人顶会IROS,会出现正文参考文献序号没按顺序排列的情况,如下图所示。按理说文献[4]应该是文献[2],[2]应该是[3],因为前面有参考文献[1]了。
问题分析:出现这种情况的原因是正文参考文献顺序是按照字母排列的,比较次序为作者、年度和标题。
下面介绍按照正文引用的先后排序方法。
二、参考文献按照正文引用的先后排序
方法1:有的教程说在引用bib格式的参考文献时,将style中的属性plain修改为unsrt:
也就是将tex文件中的两条命令
\bibliographystyle{plain}
\bibliography{%filename%.bib}
改为:
\bibliographystyle{unsrt}
\bibliography{%filename%.bib}
其中\bibliographystyle{unsrt}为定义参考文献格式
\bibliography{%filename%.bib}为我们的参考文献文件
小tip:
-
plain,按字母的顺序排列,比较次序为作者、年度和标题
-
unsrt,样式同plain,只是按照引用的先后排序
-
alpha,用作者名首字母+年份后两位作标号,以字母顺序排序
-
abbrv,类似plain,将月份全拼改为缩写,更显紧凑:
-
ieeetr,国际电气电子工程师协会期刊样式:
-
acm,美国计算机学会期刊样式:
-
siam,美国工业和应用数学学会期刊样式:
-
apalike,美国心理学学会期刊样式:
虽然这种方式可行,但会修改参考文献的样式,比如IROS会议的参考文献样式为:IEEEtranS,如下图所示。我们改为unsrt样式后,明显不符合期刊要求。因此,如果原来参考文献的style为plain的,可以使用此方法,如果原来参考文献的style不是plain的,不推荐此方法。对于后一种情况,可以采用方法2.
方法2:修改参考文献格式文件.bst
打开我们引用的参考文献格式文件,也就是上图标红的IEEEtranS.bst,搜索SORT,找到后删除,如下图所示,保存关闭即可。
再次运行tex文件后,正文中参考文献的序号按照引用的顺序排列。
完结~~~