I would like to give some of my bibtex entries multiple reference names, without duplicating the entry. Is this possible?

My reason is that I have a reference name scheme in my master bibtex file, used with the format \cite{Smith2006:AGreatTitle}, and this works very well to help me keep organized with my bibliographies.

A problem, however, is that I often need to create the bibtex entry for my own papers before the year of publication is known, and so I often start with Hamkins:AGreatPaper, and then later on when it is accepted for publication and appears, I want to change it to Hamkins2010:AGreatPaper. But this causes problems for the early TeX files that cited the old reference name, if I should ever re-bibtex them.

So the best solution seems to use duplicate names for the same entry. Of course, I realize that I could simply create a duplicate bibtex entry, but I don't like this solution so much since I fear that I won't be able to manage it so well, and I will sometimes only update one of them without realizing that the other one needs updating and so on. So the best solution for me would simply be if bibtex somehow accepted multiple reference names.

Does it?

  • 8
    +1 because I'd been thinking about the same question myself, and would really like to know if it's doable! I've wanted to do exactly the same thing recently. Another way it can come up: I noticed that I've had, for a while, a "mistake" in one frequently used key (like, my key for Hamkins' "A Great Paper" had been hamkins:a-good-paper). I'd like to correct it so I don't have to keep using the wrong version; but I want to keep using and editing my old documents transparently... Nov 13, 2010 at 0:30
  • I'm looking into this for biber 0.9.8. Probably something like this @BOOK{key1, IDS={key2,key3, ... keyn}, ...} where you can cite by either the main key or any of the secondary IDs. I need a little bit of biblatex support to deal with citations of the same entry via different keys as this can't be dealt with entirely in biber.
    – PLK
    Dec 7, 2011 at 16:53
  • 1
    Please see the answer to this question: tex.stackexchange.com/questions/37233/… I've just added experimental support for this to biber 0.9.8 along with a patch to biblatex 1.7 .sty. Perhaps someone can mark this question as a duplicate?
    – PLK
    Dec 8, 2011 at 21:51

4 Answers 4


Could you use crossref?

    crossref = {Smith:AGreatTitle}
     title = {A Great Title},
     author = {Smith, John P.},
     journal = {The Coolest Ever},
     year = {2006},
     volume = {15},
     pages = {31--65}

That seems to work decently well with some .bst's (though I haven't tried them all). However, you'll need to make sure that you don't use both \cite{Smith:AGreatTitle} and \cite{Smith2006:AGreatTitle} in the same document, though, or else you'll get duplicate entires in the Bibliography.

  • 3
    This is a good idea, and actually I had tried this some time ago, but one problem with it is that I periodically need to create a bibliographic list containing all my papers, and I use \cite{*} with the bibtex file containing all my own papers (which I keep in a separate file from my master file for precisely this purpose), and this solution would cause multiple entries in the resulting bbl file.
    – JDH
    Nov 12, 2010 at 11:35
  • 4
    @JDH: Maybe maintaining a third .bib file, with all and only the aliases, would be workable? Nov 12, 2010 at 11:51

Maybe the bibalias package will help. I had a similar problem merging several databases, of course you can never remove a key or your old documents will break.

  • 2
    the drawback it, though, that you have to change \cite to \acite. Mar 5, 2014 at 21:14

If you use Norman Ramsey's Nbibtex, which is invoked as a replacement for Bibtex, these issues go away: it resolves cite keys of the form {author:tag} by searching your Bibtex database and returning the best match, according to an intuitive notion of fitness.

  • 1
    Thanks for this idea, which I will look into. I would prefer simply to give multiple names to my entries, if that is possible, since otherwise I am very happy with how things work for me, and moving to a new system is a more radical change that may bring new issues.
    – JDH
    Nov 12, 2010 at 11:39
  • 1
    @JDH: It's possible that any heuristic will let you down, but Nbibtex has a very good one. I wrote a Perl script about 15 years ago to solve exactly your problem, by adding alternate-key properties to .bib entries, and it worked well enough that it attracted another loyal user, but it was not half as nicely designed (and not a tenth as well implemented) as Nbibtex. You might be surprised at the issues extra keys cause, even with as principled a scheme as you are proposing – think of coauthors. Nov 12, 2010 at 11:49
  • I don't quite see how coauthors cause would problems with allowing multiple keys to each entry; what sort of issues do come up? Nov 13, 2010 at 0:24
  • @Peter: Multiple authors means authors who have their own .bib files, almost certainly with differing Bibtex key conventions. Options that work: (i) prepare the .bib file first thing before any text that cites sources is written, (ii) don't use Bibtex, handcode the {thebibliography} environment, or (iii) Use Nbibtex. There might be others, but I've yet to be convinced. Nov 15, 2010 at 11:29

The best way seems to be to use biblatex/biber. Then you can define a field "IDS" for our bibtex item and it then listens to its citekey and whatever ids you specify in this field.

  • 1
    could you point to the relevant documents or give an example. I tried to find information and was not successful but would love to use and "IDS" field.
    – user855443
    May 17, 2020 at 6:10

You must log in to answer this question.

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