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

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.