修改缩写书目样式,使姓氏在排版条目中排在第一位

修改缩写书目样式,使姓氏在排版条目中排在第一位

\bibliographystyle{abbrvnat}在 LaTeX 中使用参考书目样式\documentclass{book}

一切都很好,只是我希望书目按作者姓氏的字母顺序排列,而不是按作者姓名的首字母排序。有人遇到过这种情况吗?任何帮助我都非常感谢。

答案1

刚刚才注意到您的帖子;我希望以下答案对您仍然有用。

如果我正确理解了您的目的,您希望将姓氏列在参考文献中的名字(如果有的话,还有中间名)的首字母之前,并用逗号将姓氏与名字和中间名分开。

从书目样式文件开始abbrvnat.bst,您的目标可以通过以下方式实现:

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

  • 在您最喜欢的文本编辑器中打开该文件myabbrvnat.bst。(您用来编辑文件的那个.tex就可以了。)搜索以下行:

    { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
    

    (它将位于调用的函数中format.names)并将其更改为

    { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't :=
    

    您可能猜到“vv”代表姓名的“von 部分”,“ll”代表“姓氏”,等等。上面建议的顺序符合美国用法,即把“von 部分”放在姓氏前面,例如“von der Vogelweide, W”​​。如果您希望“von 部分”放在姓氏前面,则名字的首字母,即,如果您希望将名字排版为“Vogelweide,W. von der”,则应将上面的行更改为

    { s nameptr "{ll}{, jj}{, f. }{, vv}" format.name$ 't :=
    
  • 将文件保存myabbrvnat.bst在主文件所在的目录中.tex,或保存在 TeX 发行版搜索的目录中。如果选择后者,请确保以适合您的 TeX 发行版的方式更新 TeX 文件名数据库。

  • 通过发出命令开始使用新的样式文件\bibliographystyle{myabbrvnat}。请务必使用此新设置再运行 LaTeX、BibTeX 和 LaTeX 两次,以便所有更改都能完全传播。

例如,假设您在对另一个答案的评论中提供了 bib 条目,即,

@ARTICLE{KoBaTr00, 
    author = {D. Komatitsch and C. Barnes and J. Tromp}, 
    title  = {Wave propagation near a fluid-solid interface: 
             a spectral element approach}, 
    journal = geophysics, 
    year    = {2000}, 
    volume  = {65}, 
    pages   = {623-631}, 
    number  = {2}, 
    doi     = {10.1190/1.1444758}, 
}

存储在名为 的文件中temp.bib。然后,以下 MWE

\documentclass{article}
\usepackage{natbib,url}
\bibliographystyle{myabbrvnat}
\begin{document}
\nocite{*}
\bibliography{temp}
\end{document}

将产生以下输出:

在此处输入图片描述

答案2

我怀疑你以错误的方式存储了作者姓名,导致编译器认为首字母是姓氏的一部分。描述作者的正确方法(来源维基百科)http://en.wikipedia.org/wiki/BibTeX#Author_formatting

姓氏前缀(例如 von、van 和 der)会自动处理,前提是这些前缀是小写的,以便与中间名区分开来。多词姓氏与名字和中间名的区别在于,将姓氏放在第一位,然后是逗号,然后是名字和中间名。姓名后缀(例如 Jr.、Sr. 和 III)通常使用两个逗号分隔符来处理,如下例所示:

@Book{hicks2001,
 author    = "von Hicks, III, Michael",
 title     = "Design of a Carbon Fiber Composite Grid Structure for the GLAST
              Spacecraft Using a Novel Manufacturing Technique",
 publisher = "Stanford Press",
 year      =  2001,
 address   = "Palo Alto",
 edition   = "1st",
 isbn      = "0-69-697269-4"
}

如果作者不使用逗号将名字后缀与姓氏分隔,则可以使用花括号{Hicks III} 代替。

多位作者之间应该用“and”分隔,而不是用逗号:

@Book{Torre2008,
 author    = "Joe Torre and Tom Verducci",
 publisher = "Doubleday",
 title     = "The Yankee Years",
 year      =  2008,
 isbn      = "0385527403"
}

作者在参考书目中的显示方式取决于参考书目样式。样式概述如下:

风格概览

要按字母顺序排序并将作者显示为姓氏,例如首字母,请选择“ametsoc”作为样式。

相关内容