TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am citing two papers by two different groups of authors. The first authors have the same surname and additionally their first names have the same initials (but are not the same names). Their middle names are different. The first author of one of the papers additionally is the second author of the other paper. Also the publications are from the same year.

\documentclass{article}

\usepackage[style=authoryear-comp,maxcitenames=2,maxbibnames=10,url=false,doi=false,isbn=false,dashed=false,firstinits=true]{biblatex}

\DeclareNameAlias{sortname}{last-first}

\begin{filecontents}{biblio.bib}
@article{smithaa,
title = {Some title},
year = {2000},
author = {Smith, Aaron A and Meyer, M and Fitzgerald, F},
journal = {Some journal}
}
@article{smithaz,
title = {Another title},
year = {2000},
author = {Smith, Anton Z and Smith, A A and Doe, John},
journal = {Another journal}
}
@article{differentxy,
title = {Just something else},
year = {2003},
author = {Different, Jason J and Person, Other O and Human, Another A},
journal = {Different Journal}
}
\end{filecontents}

\addbibresource{biblio.bib}

\begin{document}
\parencites{smithaa}{smithaz}.

\parencite{differentxy}.

\printbibliography
\end{document}

With this I get an in-text citation like this:

(Smith et al. 2000a; Smith et al. 2000b).
(Different et al. 2003).

And bibliography entries like this:

Different, J., Person, O., and Human, A. (2003). “Just something else”. In: Different Journal.
Smith, A. A., Meyer, M, and Fitzgerald, F (2000a). “Some title”. In: Some journal.
Smith, A. Z., Smith, A. A., and Doe, J. (2000b). “Another title”. In: Another journal.

However, I think, this is very confusing as it suggests that both publications are written by the same Smith.

I would rather get something like this in the text:

(Smith, A. A. et al. 2000; Smith, A. Z. et al. 2000).
(Different et al. 2003).

In the 'normal' citation (Different et al.) the name should still be shown without the initials.

In the bibliography there should be no "a" and "b" behind the dates:

Different, J., Person, O., and Human, A. (2003). “Just something else”. In: Different Journal.
Smith, A. A., Meyer, M, and Fitzgerald, F (2000). “Some title”. In: Some journal.
Smith, A. Z., Smith, A. A., and Doe, J. (2000). “Another title”. In: Another journal.
share|improve this question
up vote 19 down vote accepted

Pasing the uniquename=init option to biblatex produces:

Sample output

with the authors distinguished by their initials. uniquename accepts a number of other options to disambiguate references. See the biblatex documentation.

If you wish to get

Second sample

with trailing initials instead then just add

\DeclareNameAlias{labelname}{family-given}

to your preamble. However, as you note this adds initials to all citations. To print initials only for those citations that need disambiguation, use

\DeclareNameFormat{labelname}{%
  \ifcase\value{uniquename}%
    \usebibmacro{name:family}
      {\namepartfamily}
      {\namepartgiven}
      {\namepartprefix}
      {\namepartsuffix}%
  \or
    \ifuseprefix
      {\usebibmacro{name:family-given}
        {\namepartfamily}
        {\namepartgiveni}
        {\namepartprefix}
        {\namepartsuffixi}}
      {\usebibmacro{name:family-given}
        {\namepartfamily}
        {\namepartgiveni}
        {\namepartprefixi}
        {\namepartsuffixi}}%
  \or
    \usebibmacro{name:family-given}
      {\namepartfamily}
      {\namepartgiven}
      {\namepartprefix}
      {\namepartsuffix}%
  \fi
  \usebibmacro{name:andothers}}

instead. This code is a simple modification of of the format declaration for labelname provided by the standard file biblatex.def with each instance of name:given-family replaced by name:family-given.

Here is a complete file with its output:

Complete sample

\documentclass{article}

\usepackage[style=authoryear-comp,maxcitenames=2,maxbibnames=10,
  url=false,doi=false,isbn=false,dashed=false,
  giveninits=true,uniquename=init]{biblatex}

\DeclareNameAlias{sortname}{family-given}

\DeclareNameFormat{labelname}{%
  \ifcase\value{uniquename}%
    \usebibmacro{name:family}
      {\namepartfamily}
      {\namepartgiven}
      {\namepartprefix}
      {\namepartsuffix}%
  \or
    \ifuseprefix
      {\usebibmacro{name:family-given}
        {\namepartfamily}
        {\namepartgiveni}
        {\namepartprefix}
        {\namepartsuffixi}}
      {\usebibmacro{name:family-given}
        {\namepartfamily}
        {\namepartgiveni}
        {\namepartprefixi}
        {\namepartsuffixi}}%
  \or
    \usebibmacro{name:family-given}
      {\namepartfamily}
      {\namepartgiven}
      {\namepartprefix}
      {\namepartsuffix}%
  \fi
  \usebibmacro{name:andothers}}

\begin{filecontents}{biblio.bib}
@article{smithaa,
title = {Some title},
year = {2000},
author = {Smith, Aaron A and Meyer, M and Fitzgerald, F},
journal = {Some journal}
}
@article{smithaz,
title = {Another title},
year = {2000},
author = {Smith, Anton Z and Smith, A A and Doe, John},
journal = {Another journal}
}
@article{differentxy,
title = {Just something else},
year = {2003},
author = {Different, Jason J and Person, Other O and Human, Another A},
journal = {Different Journal}
}
\end{filecontents}

\addbibresource{biblio.bib}

\begin{document}
\parencites{smithaa}{smithaz}.

\parencite{differentxy}.

\printbibliography
\end{document}

The above code is for biblatex 3.4 or newer, for older versions my previously posted code is

\documentclass{article}

\usepackage[style=authoryear-comp,maxcitenames=2,maxbibnames=10,
  url=false,doi=false,isbn=false,dashed=false,
  firstinits=true,uniquename=init]{biblatex}

\DeclareNameAlias{sortname}{last-first}
\DeclareNameFormat{labelname}{%
  \ifcase\value{uniquename}%
    \usebibmacro{name:last}{#1}{#3}{#5}{#7}%
  \or
    \ifuseprefix
      {\usebibmacro{name:last-first}{#1}{#4}{#5}{#8}}
      {\usebibmacro{name:last-first}{#1}{#4}{#6}{#8}}%
  \or
    \usebibmacro{name:last-first}{#1}{#3}{#5}{#7}%
  \fi
  \usebibmacro{name:andothers}}

\begin{filecontents}{biblio.bib}
@article{smithaa,
title = {Some title},
year = {2000},
author = {Smith, Aaron A and Meyer, M and Fitzgerald, F},
journal = {Some journal}
}
@article{smithaz,
title = {Another title},
year = {2000},
author = {Smith, Anton Z and Smith, A A and Doe, John},
journal = {Another journal}
}
@article{differentxy,
title = {Just something else},
year = {2003},
author = {Different, Jason J and Person, Other O and Human, Another A},
journal = {Different Journal}
}
\end{filecontents}

\addbibresource{biblio.bib}

\begin{document}
\parencites{smithaa}{smithaz}.

\parencite{differentxy}.

\printbibliography
\end{document}
share|improve this answer
1  
Ah, I tried this before and it didn't work. I just looked it up in the documentation again and it says "Biber only". I guess, I am still running Bibtex and have to figure out how to change that now. Just in case I figure it out anytime soon: Is it possible to sort it lastname-firstnames instead of firstnames-lastnames? – MarlinaH Jul 31 '13 at 9:52
1  
A good reason to switch to the biber backend. If you were really using bibtex, then should have passed backend=bibtex to biblatex, as biber is now the default. – Andrew Swann Jul 31 '13 at 10:04
    
@AndrewSwann Thanks for the good solution. But with biblatex 3.4 it is outdated. Could you please update it with a solution for the current biblatex-version? Thanks. – LukasCB Jun 16 at 11:55
    
@LukasCB Done ! – Andrew Swann Jun 17 at 7:30

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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