书目样式:将 alpha 样式与 abbrv 样式合并以显示作者信息

书目样式:将 alpha 样式与 abbrv 样式合并以显示作者信息

我喜欢以 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} 

输出:

在此处输入图片描述

相关内容