我需要根据《自然》的要求调整我的参考书目风格。
以下是参考列表中需要包含的内容:
39. Lucas, A., Mangeney, A., Mège, D., & Bouchut, F. Influence of the scar geometry on landslide dynamics and deposits: Application to martian landslides. J. Geophys. Res. - Planets, **116**, E10001, (2011).
目前,我有一些非常接近的东西:
[39] Lucas A., Mangeney A., Mège D., & Bouchut F. Influence of the scar geometry on landslide dynamics and deposits: Application to martian landslides. J. Geophys. Res. - Planets, **116**, E10001, (2011).
但是,我需要在每个名字和首字母后加一个逗号,并将 [39] 改为 39。
基本上我目前使用
\usepackage[superscript]{cite}
和
\bibliographystyle{unsrt}
我想我需要编辑 unsrt(即制作自己的副本然后编辑它)。实际上,我已经更改了它,以便获得“and”而不是“&”符号,以及括号中的所有年份,而 unsrt 则不是这种情况。我快要成功了,但说实话,我有点卡住了。
以下是 bst 文件的样子,大家可以看到,在原始的 unsrt.bst 中已经添加了符号和括号中的年份:
FUNCTION {format.date}
{ year empty$
{ month empty$
{ "" }
{ "there's a month but no year in " cite$ * warning$
month
}
if$
}
{ month empty$
{ "(" year * ")" * }
{month " " * "(" year * }
if$
}
if$
}
FUNCTION {format.names}
{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
nameptr #1 >
{ namesleft #1 >
{ ", " * t * }
{ numnames #2 >
{ "," * }
'skip$
if$
t "others" =
{ "{\it et~al.}" * }
{ " \& " * t * }
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
那么我应该如何更改 format.name 函数以便在每个姓氏和首字母后添加“,”?bst 对我来说真的很神秘。
谢谢你的帮助!
答案1
好的,现在可以正常工作,因为我将 bst 文件更改如下:
FUNCTION {format.names}
{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
% { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := % TDS
{ s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := % last name first
nameptr #1 >
{ namesleft #1 >
{ ", " * t * }
{ numnames #2 >
{ "," * }
'skip$
if$
t "others" =
{ " et~al." * }
{ " \& " * t * }
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
仍然需要研究编号的格式(即 [])。