现在我正在努力写这本书,所以没有足够的时间深入研究技术细节。
简而言之:对于参考书目,我使用纳特比布使用选项 [square,numbers,longnamesfirst],除了引用列表的视图外,它按我想要的方式工作。我希望使引用看起来像:
- 第一作者 AB、第二作者 AB、[...]、最后作者 AB来源描述
也就是说,列出所有作者时不应使用“and”、“&”、“et al.”等类似词语,且作者姓名后不应有首字母缩写。
答案1
我认为你对plainnat
书目样式格式化书目项目的方式感到满意除了列出作者姓名的方式。我猜你想列出姓氏前首字母和中间字母,姓氏和相关首字母之间没有逗号,有逗号(但没有“和”连词)之间作者。
如果这个理解正确的话,我建议你按如下方式进行:
在您的 TeX 发行版中找到该文件
plainnat.bst
。复制此文件并将副本命名为 。plainnat-mod.bst
(不要直接从您的 TeX 发行版编辑原始文件。在文本编辑器中打开该文件
plainnat-mod.bst
。找到名为 的函数format.names
。(它在我的文件副本中从第 216 行开始。)在此函数中,找到以下行:
{ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
将此行更改为
{ s nameptr "{vv~}{ll}{, jj}{ f.}" format.name$ 't :=
您大概可以猜到,这
ff
代表“完整名字”,而这f.
代表“截断名字并附加句点(又名“句号”)。在 bst 文件中往下几行,找到以下一组行:
{ numnames #2 > { "," * } 'skip$ if$ t "others" = { " et~al." * } { " and " * t * } if$
删除第一块四条指令,即将前一组改为
{ t "others" = { " et~al." * } { ", " * t * } if$
将文件保存
plainnat-mod.bst
在主 tex 文件所在的目录中,或保存在 BibTeX 搜索的目录中。如果选择后者,您还应该适当更新 TeX 发行版的文件名数据库。在您的主 tex 文件中,将指令更改
\bibliographystyle{plainnat}
为\bibliographystyle{plainnat-mod}
。请务必重新运行 LaTeX、BibTeX 和 LaTeX 两次,以完全传播所有更改。
祝您 BibTeX 愉快!
MWE(最小工作示例):
\RequirePackage{filecontents}
\begin{filecontents}{mybib.bib}
@article{abc,
author = "Anna X. Author and Bertha Y. Buthor and Carla Z. Cuthor",
title = "Thoughts",
journal= "Circularity Today",
year = 3000,
volume = 1,
number = 2,
pages = "3-4",
}
@article{ab,
author = "Anna X. Author and Bertha Y. Buthor",
title = "Deep Thoughts",
journal= "Circularity Today",
year = 3005,
volume = 6,
number = 7,
pages = "8-9",
}
@article{a,
author = "Anna X. Author",
title = "Final Thoughts",
journal= "Circularity Today",
year = 3010,
volume = 11,
number = 12,
pages = "13-14",
}
\end{filecontents}
\documentclass{article}
\usepackage[square,numbers]{natbib}
\bibliographystyle{plainnat-mod}
\begin{document}
\cite{a} \cite{ab} \cite{abc}
\bibliography{mybib}
\end{document}