1

I would like to cite multiple authors with the same surname, such that calling \textcite{<key>} prints the author's initials if the surname is ambiguous i.e. in the minimum working example

% !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}

using the bibliography

@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},
}

I would like \textcite{Robinson1959} to print J. Robinson [1] and \textcite{Robinson1951} to print R. Robinson [2], or R.M. Robinson [2]. However, I currently get

current output with ambiguous references

I am aware of the solutions to these questions 2, 3. However, both of these solutions

  1. modify the Bib-database which I would like to keep as is (I am accessing a centralised database) and
  2. are built with Bibtex and LaTeX in mind (I am using Biblatex with Biber and XeLaTeX).

I also know that the apa-style has this behaviour automatically. So I am pretty sure that one should be able to achieve this using some kind of \ateverybibitem makro.

1 Answer 1

2

You are looking for the uniquename option. Essentially you want the inverse of biblatex, authoryear style: In-text citations display first name initials for certain bibliography entries and Literature with Biber generates strange citations: firstnames appear erratically.

The option can take several values, the most natural setting in my eyes is uniquename=full. See page 63 and §4.11.4 Name Disambiguation (pp. 281-284) of the biblatex documentation for other possible values and more details.

With the standard styles only the uniquename option is required, everything else is taken care of automatically.

\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}

gives

I want to cite J. Robinson [1] and R. M. Robinson [2].

Note that you should write month = jun, and not month = {jun},. Technically speaking the three-letter month abbreviations are realised as @strings and @strings must be addressed without braces. With biblatex it would be even nicer to use date = {1959-06}, instead of year = {1959}, month = jun, but for backwards compatibility with traditional .bst styles the month/year combination has its merits.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .