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.
lotr
is defined in your bibliography and you want to useTolkien:1954:LordOfTheRings
, try\makeatletter \expandafter\def\csname b@Tolkien:1954:LordOfTheRings\endcsname{\b@lotr} \makeatother
in your document preamble?\cite{\csname b@Tolkien:1954:LordOfTheRings\endcsname}
in the main text?\cite{<stuff>}
checks for the existence of\b@<stuff>
via a construction. So you should just be able to use\cite{Tolkien:1954:LordOfTheRings}
.