使用 natbib 自定义参考书目样式

使用 natbib 自定义参考书目样式

使用下面的代码,我的参考书目如下所示

如何强制 LateX:

  1. 按姓氏字母顺序排列作者(例如 Basdevant 然后是 Hall)
  2. 将第一作者的姓氏放在前面(例如 Basdevant,Oliver)

    \documentclass{article}
    
    \usepackage[round]{natbib}
    
    \begin{document}
    
    According to \citet{hall2003} ...
    
    
    \bibliographystyle{plainnat}
    
    \bibliography{/Users/joedangerstox/Documents/library}
    
    \end{document}
    

答案1

解决了。​​我会把这个留在这里,以防其他人需要解决方案。这将使引用如下:

1 位作者的情况:姓氏,名字

2 位作者的情况:姓氏、名字和名字姓氏

3 位作者的情况:姓氏、名字、名字姓氏和名字姓氏

(1) 我决定尝试查看 plainnat.bst 文件,但发现我没有。我不知道它是否内置,但我决定从这里

(2)将此文件保存为其他文件,以免覆盖原始的 plainnat.bst(无论其在何处)并打开它。

(3)搜索此代码块:

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$
}

并将其替换为:

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

(4)更换

\bibliographystyle{plainnat}

使用您需要的任何路径和文件名来查找文件(无论您将其保存在何处)

\bibliographystyle{/Users/joedanger/Documents/my_plainnat.bst}

相关内容