\RequirePackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{Arter95,
Author = {David Arter},
Date-Added = {2013-08-11 17:38:06 +0000},
Date-Modified = {2013-09-01 15:13:22 +0000},
Journal = {Journal of Common Market Studies},
Number = {3},
Pages = {361-287},
Title = {The {EU} {Referendum} in {Finland} on 16 October 1994:
{A} Vote for the {West}, not for {Maastricht}},
Volume = {33},
Year = {1995}}
@article{Detlef95,
Author = {Jahn, Detlef; Storsved,Ann-sofie},
Date-Added = {2013-08-11 17:14:34 +0000},
Date-Modified = {2013-08-11 17:16:45 +0000},
Journal = {West European Politics},
Number = {4},
Pages = {18-37},
Title = {Legitimacy through referendum? The nearly successful domino‚Äêstrategy of the Eu‚Äêreferendums in Austria, Finland, Sweden and Norway},
Volume = {18},
Year = {1995}}
\end{filecontents}
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{natbib}
\bibpunct{(}{)}{;}{a}{}{,}
\makeatletter
\renewcommand\@biblabel[1]{}
\makeatother
\begin{document}
\cite{Arter95}
\bibliography{\jobname}
\bibliographystyle{plainnat}
\end{document}
请帮忙。我希望作者的名字显示为“Arter, D.”而不是 David Arter
答案1
正如您所发现的,plainnat
参考书目样式不会缩写名字(“第一”)。要更改此行为以及将名字放在后姓氏,建议您执行以下步骤:
在你的 TeX 发行版中找到该文件
plainnat.bst
并将其复制到myplainnat.bst
。(不要直接编辑作为 TeX 发行版一部分提供的文件。)在您喜欢的文本编辑器中打开该文件
myplainnat.bst
并搜索名为的函数format.names
。(它在我的副本中从第 216 行开始plainnat.bst
。)在此函数中,查找行
{ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
将此行更改为
{ s nameptr "{vv~}{ll}{, f.}{, jj}" format.name$ 't :=
将文件保存
myplainnat.bst
到包含主文件的目录.tex
或 TeX(和 BibTeX)发行版搜索的目录中。(如果选择第二个选项,您可能还需要适当刷新文件名数据库。)通过发出命令开始使用修改后的参考书目样式文件
\bibliographystyle{myplainnat}
。
顺便说一句,由于 和plainnat
的延伸,myplainnat
参考书目样式使用 [英语]“句子样式”来排版title
类型条目中字段的内容,因此您应该将 、 和等单词@article
括在花括号中,以防止它们被排版为全小写。EU
Referendum
Finland
Maastricht
附录:有人建议我提供更多有关函数中的字符串"{ff~}{vv~}{ll}{, jj}"
和含义的信息。"{vv~}{ll}{, f.}{, jj}"
format.names
首先介绍一些背景信息。就 BibTeX 而言,作者的全名最多可以包含四个独立部分:名字部分(也包括中间名)、“von”部分(例如,“de”、“von”、“van”、“van der”、“della”等)、姓氏部分(通常但不一定是一个单词;与此规则相当不同的是四个单词的姓氏“Mies van der Rohe”——以及“junior”部分(例如,“Jr.”、 “Sr.”、 “III”等)。全名必须包含至少“姓氏”部分;名字、von 和 junior 部分是可选的。
您现在可能已经猜到了,上面的字符串ff
、和表示四个部分;形式“ ”指示 BibTeX 打印完整的名字和中间名(当然,如果存在的话),而形式“ vv
”指示 BibTeX 仅打印每个名字和中间名的首字母。ll
jj
ff
f.
有各种语法规则决定了 BibTeX 如何解析全名以得出各个组成部分。虽然这里不是 BibTeX 语法完整教程的地方,但值得一提的是以下几个主题:
- BibTeX 不会检查内部的特殊字符的名字部分。假设作者的全名在您的
.bib
。BibTeX 会正确地将“CA”识别为名字部分,但不会为“。” (点) 赋予任何特殊含义里面“CA”,即它不会注意到该字段的名字部分由两个单独的首字母组成,每个首字母都以点结尾。因此,如果文件{ f.}
中提供了“ ”解析说明符.bst
,BibTeX 会将“CA”缩写为“C.”,即使这可能不是您想要它执行的操作。
那么,如果你想展示全部名字部分的首字母,而不仅仅是第一个首字母?您需要将作者字段写为“CA Brown”或等效地写为“Brown, CA”。这样,BibTeX 会“注意到”名字部分有两个部分(“C.”和“A.”),并会忠实地呈现这两个部分。
- 如上所述,BibTeX 假定每个作者的姓名都有至少姓氏部分——可能多达四个部分。这个事实对于处理具有所谓“公司作者”的条目很有用,例如“美国国家航空航天局”和“国际货币基金组织”。如果任其发展,BibTeX 会将前作者字段解释为具有二[!](回想一下,“and”是
author
字段中的保留字)分隔作者,第一个作者名为“国家航空航天局”,第二个作者名为“太空管理局”;对于后一个作者字段,其语法规则将使其得出结论,只有一位作者,其名字为“International”,中间名“Monetary”,姓氏为“Fund”。
如果参考书目样式指定名字应缩写并列在相应的姓氏后面,BibTeX 最终会将作者字段排版为“ Aeronautics, N. and Administration, S.
”和“ Fund, I. M.
”。此外,前一个条目将归类为“A”(代表航空)而不是“N”,而后一个条目将归类为“F”(代表基金)而不是“I”。此外,如果生成作者年份引文,它们将看起来像“航空和管理([年份])”和“基金([年份])”。显然,这些结果都不可能是您想要的!
公司作者问题的解决方案很简单:将整个作者字段括在双花括号中对于上面的两个例子,应该写成
author = {{National Aeronautics and Space Administration}},
和
author = {{International Monetary Fund}},
分别。外侧的一对花括号界定了字段,而内侧的一对花括号则使 BibTeX 将该字段视为具有只有一个组件——根据其语法规则,它必须是姓氏部分。从某种意义上说,BibTeX 会认为前一位作者有一个由五个单词组成的复杂姓氏,而后一位作者的姓氏由三个单词组成。不过,令人高兴的结果是,名字将被正确呈现和排序。
答案2
此解决方案仅解决了那些与 OP 共享所需名称格式但不关心格式其他方面的人的问题(评论表明 OP 希望以其他方式保留原始格式,但这并没有做到):
替换\bibliographystyle{plainnat}
为\bibliographystyle{agsm}
(我学到了这个这里。
答案3
抱歉回复旧问题,但我想详细说明 Mico 的回答,因为我目前正在处理同样的问题,也许还有其他人需要类似的参考书目样式。建议的解决方案是将参考书目列表中的所有名称更改为该样式。像细胞生物学杂志不过,请使用一种样式,其中只有第一作者的姓名采用“姓氏”、“名字”的顺序。所有其他作者都遵循“名字”“姓氏”的顺序。这是我需要使用的样式。
因此,要做到这myplainnat.bst
一点,需要对文件进行更多编辑。在我的系统中,原始plainnat.bst
文件中第 221-223 行如下所示:
{ namesleft #0 > }
{ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
nameptr #1 >
我添加了一个 if 子句来查看我们是在处理名字还是其余名字,并相应地设置格式。这会增加一些额外的行(第 221-226 行):
{ namesleft #0 > }
{ nameptr #1 =
{s nameptr "{vv~}{ll}{, f.}{, jj}" format.name$ 't :=}
{s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=}
if$
nameptr #1 >
(我使用 f. 而不是 ff)
原来的plainnat.bst
:
Mico 的修改:
细胞生物学杂志风格:
答案4
您可以尝试将 Bibtex 书目样式更改为acm
或apalike
\bibliographystyle{stylename}
\bibliography{bibfile}
了解有关其他风格的更多信息:https://www.sharelatex.com/learn/Bibtex_bibliography_styles