我使用 biblatex 来管理我的参考文献。它工作得很好,除了这个奇怪的行为:
[1] Agresti, A. and Finlay, B. Statistical Methods for the Social Sciences.
3rd ed. Prentice Hall, 1997.
...
[3] L. Brozovsky and V. Petricek. “Recommender System for Online Dating Service”. In: CoRR
abs/cs/0703042 (2007).
如您所见,文章引用的名称格式与书籍引用的名称格式不同。我想强制采用以下样式:姓氏,名字的首字母。我该怎么做?
以下命令用于创建参考书目。
\usepackage[style=ieee,backend=bibtex]{biblatex}
\addbibresource{db.bib}
\printbibliography[heading=bibnumbered]
@book{medianmean,
author={{Agresti, A. and Finlay, B.}},
title={Statistical Methods for the Social Sciences},
publisher={Prentice Hall},
edition={3},
year={1997}
}
@article{DBLP:journals/corr/abs-cs-0703042,
author = {Brozovsky, L. and Petricek, V.},
title = {Recommender System for Online Dating Service},
journal = {CoRR},
volume = {abs/cs/0703042},
year = {2007},
ee = {http://arxiv.org/abs/cs/0703042},
bibsource = {DBLP, http://dblp.uni-trier.de}
}
答案1
更改第一个条目以删除作者中的多余括号:
@book{medianmean,
author={Agresti, A. and Finlay, B.},
title={Statistical Methods for the Social Sciences},
publisher={Prentice Hall},
edition={3},
year={1997}
}
通过这组额外的括号,您可以表明biblatex
整行实际上是一个姓氏,并且它可以防止事物按照预期的方式在语义上分解。
请记住,每当您想告诉biblatex
(或bibtex
)某些内容应保持原样时,您可以将其括在另一组括号中。这样可以保留像“{I}nternet 的创造”这样的标题,并保持正确的大写字母。这个“功能”就是您遇到的,并导致了您观察到的问题。
答案2
由于您使用的是 IEEE 样式,因此格式为 {first initials} {last name}。要更改顺序,请添加(从 biblatex 3.3 [moewe] 开始):
\DeclareNameAlias{default}{family-given}
你的序言。
在 3.3 之前的版本中这是:
\DeclareNameAlias{default}{first-last}
根据 cslstr 指出的更正以及对序言的补充:
\documentclass{article}
\usepackage[backend=bibtex, style=ieee]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{medianmean,
author={Agresti, A. and Finlay, B.},
title={Statistical Methods for the Social Sciences},
publisher={Prentice Hall},
edition={3},
year={1997}
}
@article{DBLP:journals/corr/abs-cs-0703042,
author = {Brozovsky, L. and Petricek, V.},
title = {Recommender System for Online Dating Service},
journal = {CoRR},
volume = {abs/cs/0703042},
year = {2007},
ee = {http://arxiv.org/abs/cs/0703042},
bibsource = {DBLP, http://dblp.uni-trier.de}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\DeclareNameAlias{default}{family-given}
\begin{document}
\nocite{*}
\printbibliography[heading=bibnumbered]
\end{document}
会给你:
答案3
我尝试了 Alex Grede 发布的相同解决方案,但名称的顺序没有改变。我需要使用\DeclareNameAlias{sortname}{last-first}
而不是\DeclareNameAlias{default}{last-first}
。