一、投递Multimedia Tools and Applications遇到的参考文献问题
最近投递Multimedia Tools and Applications遇到的参考文献问题,这是官网提到的参考文献格式要求:
References
Citation
Reference citations in the text should be identified by numbers in square brackets. Some examples:
1、Negotiation research spans many disciplines [3].
2、This result was later contradicted by Becker and Seligman [5].
Journal article
Gamelin FX, Baquet G, Berthoin S, Thevenet D, Nourry C, Nottin S, Bosquet L (2009) Effect of high intensity intermittent training on heart rate variability in prepubescent children. Eur J Appl Physiol 105:731-738. https://doi.org/10.1007/s00421-008-0955-8
Authors preparing their manuscript in LaTeX can use the bibliography style file sn-basic.bst which is included in the Springer Nature Article Template.
意思就是既要求文献按照出现顺序排序,且是用数字表示引用(sn-mathphys.bst是这种格式),还要求最终生成的参考文献是作者后面+发表年份(sn-basic.bst是这种格式)
二、 解决方法
1.找到sn-jnl.cls文件,找到如下语句:
\if@Spr@basic@refstyle%
\usepackage[authoryear]{natbib}%
\gdef\NumBib{NO}%
\bibliographystyle{sn-basic}%
\setlength{\bibsep}{0.12em}%
\def\bibfont{\reset@font\fontfamily{\rmdefault}\normalsize\selectfont}%
\fi%
注释掉第二行和第三行,添加新的两行语句,如下:
\if@Spr@basic@refstyle%
% \usepackage[authoryear]{natbib}%
% \gdef\NumBib{NO}%
\usepackage[numbers,sort&compress]{natbib}%
\gdef\NumBib{YES}%
\bibliographystyle{sn-basic}%
\setlength{\bibsep}{0.12em}%
\def\bibfont{\reset@font\fontfamily{\rmdefault}\normalsize\selectfont}%
\fi%
改了之后重新编译就发现文中的参考文献都以数字的形式显示
2.打开sn-basic.bst文件,找到两行“SORT”代码(一定是大写的),注释这两行,保存
% SORT 注释掉
STRINGS { last.label next.extra }
INTEGERS { last.extra.num number.label }
FUNCTION {initialize.extra.label.stuff}
{ #0 int.to.chr$ 'last.label :=
"" 'next.extra :=
#0 'last.extra.num :=
#0 'number.label :=
}
FUNCTION {forward.pass}
{ last.label label =
{ last.extra.num #1 + 'last.extra.num :=
last.extra.num int.to.chr$ 'extra.label :=
}
{ "a" chr.to.int$ 'last.extra.num :=
"" 'extra.label :=
label 'last.label :=
}
if$
number.label #1 + 'number.label :=
}
FUNCTION {reverse.pass}
{ next.extra "b" =
{ "a" 'extra.label := }
'skip$
if$
extra.label 'next.extra :=
extra.label
duplicate$ empty$
'skip$
{ "{\natexlab{" swap$ * "}}" * }
if$
'extra.label :=
label extra.label * 'label :=
}
EXECUTE {initialize.extra.label.stuff}
ITERATE {forward.pass}
REVERSE {reverse.pass}
FUNCTION {bib.sort.order}
{ sort.label
" "
*
year field.or.null sortify
*
" "
*
title field.or.null
sort.format.title
*
#1 entry.max$ substring$
'sort.key$ :=
}
ITERATE {bib.sort.order}
% SORT 注释掉
3.重新编译即可