在书目条目中以以下形式显示第一作者的姓名:姓氏,首字母,以以下形式显示合著者:首字母,姓氏

在书目条目中以以下形式显示第一作者的姓名:姓氏,首字母,以以下形式显示合著者:首字母,姓氏

我想根据以下规范来格式化我的参考文献:

作者:姓氏,首字母,合著者:首字母,姓氏

我正在使用natbibabbrvnat作为参考书目样式,我想我必须编辑.bst文件(FUNCTION {format.names})。

如果有人能帮助我或者推荐其他东西我将不胜感激。

答案1

为了获得作者名字和姓氏的所需顺序,我建议您执行以下操作:

  • 在您的 TeX 发行版中找到该文件abbrvnat.bst。复制此文件并将副本命名为 。myabbrvnat.bst(不要直接从 TeX 发行版编辑文件。

  • 在文本编辑器中打开该文件myabbrvnat.bst;您用来编辑 tex 文件的编辑器就可以了。

  • format.names在文件中查找该函数。(在我的文件副本中,该函数从第 216 行开始。删除所有 27 行左右的函数;最后一行只包含一个右花括号}。)

  • 在已删除函数的位置插入以下代码块:

    FUNCTION {format.names}
    { duplicate$ empty$ 'skip$ {
      's :=
      "" 't :=
      #1 'nameptr :=
      s num.names$ 'numnames :=
      numnames 'namesleft :=
        { namesleft #0 > }
        { s nameptr
          duplicate$ #1 >
            { "{f.~}{vv~}{ll}{, jj}" }
            { "{vv~}{ll}{, f.}{, jj}" }
          if$
          format.name$
          't :=
          nameptr #1 >
            {
              namesleft #1 >
                { ", " * t * }
                {
                  s nameptr "{ll}" format.name$ duplicate$ "others" =
                    { 't := }
                    { pop$ }
                  if$
                  "," *
                  t "others" =
                    { " et~al." * }
                    { " " * t * }
                  if$
                }
              if$
            }
            't
          if$
          nameptr #1 + 'nameptr :=
          namesleft #1 - 'namesleft :=
        }
      while$
      } if$
    }
    

    请注意,我已将您的规范解释为表明作者列表中的最后一位作者之前不应有“and”连接词。

  • 将文件保存myabbrvnat.bst在主 tex 文件所在的目录中,或保存在 BibTeX 搜索的文件夹中。如果选择后一种方法,请确保适当更新 TeX 发行版的文件名数据库。

  • 通过将指令替换为 来开始使用新的参考书目样式\bibliographystyle{abbrvnat}\bibliographystyle{myabbrvnat}请务必再运行 LaTeX、BibTeX 和 LaTeX 两次,以完全传播所有更改。

以下是一个示例文件:

在此处输入图片描述

\documentclass{article}
\usepackage[numbers]{natbib}
\bibliographystyle{myabbrvnat}

\usepackage{filecontents}
\begin{filecontents*}{mybib.bib}
@article{abc,
  author    = "Anna Anderson and Brenda Branson and Carla Carlson",
  title     = "Random thoughts",
  journal   = "Circularity Today",
  year      = 3001,
  volume    = 1,
  number    = 1,
  pages     = "1-100",
}
\end{filecontents*}

\begin{document}
\nocite{*}
\bibliography{mybib}
\end{document}

相关内容