我对乳胶和相关的东西还很陌生,但我无法让一件事为我工作。
考虑以下 bib 条目:
@book{latexcompanion,
author = "Michel Goossens and Frank Mittelbach and Alexander Samarin",
title = "The LaTeX Companion",
year = "1993",
publisher = "Addison-Wesley",
address = "Reading, Massachusetts"
}
我在参考书目中得到的输出中,姓氏后面有令人恼火的逗号(对我来说):
[2] Goossens, M., Mittelbach, F., and Samarin, A. The LaTeX Companion.
Addison-Wesley, Reading, Massachusetts, 1993.
这是否可能是一些常见的错误,或者我必须深入研究 bst 文件才能修复此问题?在这个特定的例子中,我替换了提供的 bst(是的,我也替换了 .cls 中的样式),而它发生在我在 Bibtex 中找到的文件夹中的 .bst 中(acm.bst
)。
任何帮助都将不胜感激。提前致谢。
答案1
正如@AlanMunn 在评论中指出的那样,作者姓氏的格式化和他/她名字的首字母之间存在逗号是不是错误。相反,这实际上是显示作者姓名的一种相当常见的风格选择。
该文件的序言acm.bst
包含以下信息:
% ACM Transactions 书目样式(2010 年 12 月 8 日版本)
% 与 abbrv.bst 非常相似,但名字以“姓氏、首字母”的形式出现,并且以 \sc 格式出现。
% 一些日期带括号。
请注意,逗号功能和名称以小写字母排版的事实是明确提到的。
您尝试过使用unsrt
bib 样式了吗?另外:如果您使用natbib
引文管理包,您可能希望使用unsrtnat
而不是unsrt
。它是对更古老的 bib 样式的重新实现unsrt
,但能够 (a) 处理诸如url
、issn
和 等字段,isbn
以及 (b) 生成作者年份样式的引文标注以及基本的数字样式标注。
假设您希望继续使用acm
参考书目样式,并且只是希望姓氏和首字母之间没有逗号,我建议您按以下步骤操作。
acm.bst
在你的 TeX 发行版中找到该文件的副本。复制此文件并将副本命名为
acm-nocommas.bst
。不要直接编辑 TeX 发行版的原始文件。在文本编辑器中打开文件
acm-nocommas.bst
。你用来编辑 tex 文件的编辑器就可以了。在此文件中,找到名为 的函数
format.names
。(在我的此文件副本中,该函数从第 190 行开始。)在此函数中,找到
{ s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't :=
如果你好奇的话:
vv
、ll
和jj
指的是一个人全名的(未缩写的) von、lastname(或姓氏)和 junior 部分,而f.
指的是缩写的名字部分。将此行更改为
{ s nameptr "{vv~}{ll}{ f.}{, jj}" format.name$ 't :=
观察两个变化已应用:(i) 前面不再有逗号
f.
;(ii) “次要部分”现在放在最后,仍然用逗号与名称的其余部分隔开。我认为以这种方式设置任何“次要部分”至关重要。将文件保存
acm-mod.bst
在主 tex 文件所在的目录中或 BibTeX 搜索的目录中。如果选择后者,请确保适当更新文本分发的文件名数据库。在您的主 tex 文件中,将指令更改
\bibliographystyle{acm}
为\bibliographystyle{acm-mod}
。接下来,执行完整的重新编译循环:LaTeX、BibTeX,然后再执行两次 LaTeX。
祝您 BibTeX 愉快!
完整的 MWE 及其输出:
\RequirePackage{filecontents}
\begin{filecontents}{mybib.bib}
@book{latexcompanion,
author = "Michel Goossens and Frank Mittelbach and Alexander Samarin",
title = "The \LaTeX{} Companion",
year = 1993,
publisher = "Addison-Wesley",
address = "Reading, Massachusetts",
}
@article{lucas-rapping:1969,
author = "Lucas, Jr., Robert E. and Leonard A. Rapping",
title = "Real Wages, Employment, and Inflation",
journal = "Journal of Political Economy",
year = 1969,
volume = 77,
number = 5,
pages = "721--754",
}
\end{filecontents}
\documentclass{article}
\bibliographystyle{acm-mod}
\begin{document}
\cite{latexcompanion}, \cite{lucas-rapping:1969}
\bibliography{mybib}
\end{document}