Having several keys refer to the same bibliography entry

With newer versions of biblatex (≥2.0) and biber (≥0.9.8) you can define your entries as normal and use the "IDS" field for extra citations keys:

@BOOK{key,
  IDS = {key2, key3, ..., keyn},
  .
  .
}

You can then cite by any of the keys, you can cite by any of them mixed in the same section and and you can use \nocite{*} too - it won't duplicate entries in the bibliography. In fact, the other keys are just aliases to the main key which owns the entry in the .bbl and are redirected to the main key before any label generation etc. happens.

It will also detect if you use a key as a primary key and also an alias elsewhere, in which case it will disable the alias. It also notices duplicate aliases as well as keys now.


The following, taken from "Alias for BiBTeX Keys" on comp.text.tex, provides \bibalias{<alias>}{<source>} and should use \acite{<citation>} instead of \cite{<citation>}:

enter image description here

\documentclass{article}
\usepackage{biblatex}% http://ctan.org/pkg/biblatex
\bibliography{references}

\makeatletter
% \bibalias{<alias>}{<source>} makes \cite{<alias>} equivalent to \cite{<source>}
\newcommand\bibalias[2]{%
  \@namedef{bibali@#1}{#2}%
}

\newtoks\biba@toks
\newcommand\acite[2][]{%
  \biba@toks{\cite#1}%
  \def\biba@comma{}%
  \def\biba@all{}%
  \@for\biba@one:=#2\do{%
    \@ifundefined{bibali@\biba@one}{%
      \edef\biba@all{\biba@all\biba@comma\biba@one}%
    }{%
      \PackageInfo{bibalias}{%
        Replacing citation `\biba@one' with `\@nameuse{bibali@\biba@one}'
      }%
      \edef\biba@all{\biba@all\biba@comma\@nameuse{bibali@\biba@one}}%
    }%
    \def\biba@comma{,}%
  }%
  \edef\biba@tmp{\the\biba@toks{\biba@all}}%
  \biba@tmp
}
\makeatother

\bibalias{Tolkien:1954:LordOfTheRings}{lotr}

\begin{document}
The reference~\acite{Tolkien:1954:LordOfTheRings} is
exactly the same as~\acite{lotr}.

\bibstyle{plain}
\printbibliography
\end{document}

where references.bib resembles:

@book{lotr,
  author  = "J.R.R. Tolkien",
  title   = "{The Lord of the Rings}",
  address = "New York",
  year    = 1954,
  publisher = "Ballantine Books"
}