书目中的姓氏,在线乳胶

书目中的姓氏,在线乳胶

我找到了很多有类似问题的帖子,但我没能解决我的,因为问题略有不同。我希望参考书目显示如下:

Doniger, W.。《Splitting the Difference》。芝加哥:芝加哥大学出版社,1999 年。

相反,我有:

W. Doniger,《Splitting the Difference》。芝加哥:芝加哥大学出版社,1999 年。

我的代码是:

\documentclass[12pt,a4paper,openany]{report}
\usepackage{natbib}
\bibliographystyle{abbrvnat}
\setcitestyle{authoryear,open={(},close={)}}
...
\printbibliography
\bibliography{bib}
\end{document}

基本上我只需要反转名字和姓氏,而无需更改其他任何内容,因为它已经按字母顺序排列,并且具有我需要的引用样式。我使用的是在线版本的 latex,所以我不知道是否可以更改软件包(而且我不知道如何操作)。有什么想法吗?

答案1

我建议您按如下方式进行。

  • 在你的 TeX 发行版中找到该文件abbrvnat.bst。如果你使用在线 LaTeX 编译器,我建议你从以下位置获取该文件:https://www.ctan.org/tex-archive/macros/latex/contrib/natbib/

  • 复制此文件并将副本命名为abbrvnat-reverse.bst。不要直接编辑 TeX 发行版的原始文件。

  • 在文本编辑器中打开文件abbrvnat-reverse.bst。你用来编辑 tex 文件的编辑器就可以了。

  • 在文件中abbrvnat-reverse.bst找到函数format.names。在我的文件副本中,该format.names函数从第 216 行开始。

  • 在此函数中,找到以下行:

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

    将此行更改为

        { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't :=
    
  • 将文件保存abbrvnat-reverse.bst在主 tex 文件所在的目录中(如果您使用在线 LaTeX 编译器,则此说明适用)或 BibTeX 搜索的目录中。如果您选择后一种方法,请同时适当更新 TeX 发行版的文件名数据库。

  • 在你的主 TeX 文件中,更改

    \bibliographystyle{abbrvnat}
    

    \bibliographystyle{abbrvnat-reverse}
    
  • 最后,执行完整的重新编译循环(LaTeX、BibTeX,再进行两次 LaTeX),以完全传播所有更改。

祝您 BibTeX 愉快!

相关内容