我喜欢以 alpha.bst 格式书写的字母数字引用,其中包含作者姓名首字母和年份,但我希望作者姓名的信息采用 abbrv 格式。
在 alpha 样式中我将获得:
[ML12] 伊娃·蒙克鲁斯和伊娃·拉霍亚。 .......
以缩写形式我将获得:
[1] E. Monclús 和 E. Lahoya .........
我想要的风格是:
[ML12] E. Monclús 和 E. Lahoya .........
答案1
这就是你能做的。
打开alpha.bst
并将文档目录中的副本保存为myalpha.bst
。
找到以下行:
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" =
{ " et~al." * }
{ " and " * t * }
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
替换ff~
为f.~
并保存文件。
此时使用myalpha
作为参考书目样式,如下例所示:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{auth00a,
author = {Monclús, Eva and Lahoya, Eva},
journal = {Journal},
title = {MyBook},
year = {2000}
}
\end{filecontents*}
\begin{document}
\nocite{*}
\bibliographystyle{myalpha}
\bibliography{\jobname}
\end{document}
输出: