我想引用多个姓氏相同的作者,这样\textcite{<key>}
如果姓氏不明确,即在最小工作示例中,调用就会打印作者的姓名首字母
% !TEX encoding = UTF-8
% !TEX engine = xelatex
\documentclass[12pt,a4paper]{scrartcl}
\usepackage{polyglossia}
\setdefaultlanguage[variant=british]{english}
\setotherlanguage{german}
\usepackage[autostyle,
english=british]{csquotes}
% BibLaTex
\usepackage[style=numeric,backend=biber]{biblatex}
\addbibresource{./references.bib}
\begin{document}
I want to cite \textcite{Robinson1959} and \textcite{Robinson1951}.
\printbibliography
\end{document}
使用参考书目
@Article{Robinson1959,
author = {Julia Robinson},
title = {The undecidability of algebraic rings and fields},
journal = {Proc. Amer. Math. Soc.},
year = {1959},
volume = {10},
number = {6},
pages = {950--957},
month = {jun},
issn = {0002-9939},
publisher = {American Mathematical Society ({AMS})},
fjournal = {Proceedings of the American Mathematical Society},
mrclass = {02.00},
mrnumber = {0112842},
mrreviewer = {R. M. Martin},
}
@Article{Robinson1951,
author = {Raphael M. Robinson},
title = {Arithmetical definability of field elements},
journal = {J. Symbolic Logic},
year = {1951},
volume = {16},
number = {02},
pages = {125--126},
month = {jun},
issn = {0022-4812},
publisher = {Cambridge University Press ({CUP})},
fjournal = {The Journal of Symbolic Logic},
mrclass = {02.0X},
mrnumber = {0042357},
mrreviewer = {P. Lorenzen},
}
我想\textcite{Robinson1959}
打印J. Robinson [1]
和\textcite{Robinson1951}
打印R. Robinson [2]
,或R.M. Robinson [2]
。但是,我目前得到
- 修改我想保留的 Bib 数据库(我正在访问一个集中式数据库)并
- 是基于 Bibtex 和 LaTeX 构建的(我使用 Biblatex 与 Biber 和 XeLaTeX)。
我也知道apa
-风格自动具有此行为。因此,我非常确定应该能够使用某种\ateverybibitem
makro 来实现此目的。
答案1
你正在寻找uniquename
选项。本质上你想要的是biblatex,authoryear 样式:文内引用显示某些参考书目条目的名字首字母和含有 Biber 的文献会产生奇怪的引用:名字出现不规律。
该选项可以采用多个值,在我看来最自然的设置是uniquename=full
。请参阅第 63 页和 §4.11.4名称歧义消除(第 281-284 页)文档biblatex
了解其他可能的值和更多详细信息。
使用标准样式时,只uniquename
需要选择,其他一切都会自动处理。
\documentclass[12pt,a4paper]{scrartcl}
\usepackage[german,british]{babel}
\usepackage[autostyle]{csquotes}
\usepackage[style=numeric,backend=biber,uniquename= full]{biblatex}
\begin{filecontents}{\jobname.bib}
@Article{Robinson1959,
author = {Julia Robinson},
title = {The undecidability of algebraic rings and fields},
journal = {Proc. Amer. Math. Soc.},
year = {1959},
volume = {10},
number = {6},
pages = {950--957},
month = jun,
issn = {0002-9939},
publisher = {American Mathematical Society ({AMS})},
fjournal = {Proceedings of the American Mathematical Society},
mrclass = {02.00},
mrnumber = {0112842},
mrreviewer = {R. M. Martin},
}
@Article{Robinson1951,
author = {Raphael M. Robinson},
title = {Arithmetical definability of field elements},
journal = {J. Symbolic Logic},
year = {1951},
volume = {16},
number = {02},
pages = {125--126},
month = jun,
issn = {0022-4812},
publisher = {Cambridge University Press ({CUP})},
fjournal = {The Journal of Symbolic Logic},
mrclass = {02.0X},
mrnumber = {0042357},
mrreviewer = {P. Lorenzen},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
I want to cite \textcite{Robinson1959} and \textcite{Robinson1951}.
\printbibliography
\end{document}
给出
我想引用J. Robinson[1]和RM Robinson[2]。
请注意,您应该写成month = jun,
和 而不是month = {jun},
。从技术上讲,三个字母的月份缩写应为@string
s ,并且@string
s 必须用大括号括起来。使用代替biblatex
会更好,但为了向后兼容传统样式,/组合有其优点。date = {1959-06},
year = {1959}, month = jun,
.bst
month
year