Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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?

share|improve this question
3  
+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... –  Peter LeFanu Lumsdaine Nov 13 '10 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 '11 at 16:53
    
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 '11 at 21:51
add comment

3 Answers

Could you use crossref?

 @ARTICLE{Smith2006:AGreatTitle,
    crossref = {Smith:AGreatTitle}
 }
 @ARTICLE{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.

share|improve this answer
1  
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 '10 at 11:35
2  
@JDH: Maybe maintaining a third .bib file, with all and only the aliases, would be workable? –  Charles Stewart Nov 12 '10 at 11:51
add comment

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.

share|improve this answer
    
the drawback it, though, that you have to change \cite to \acite. –  Frederick Nord Mar 5 at 21:14
add comment

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.

share|improve this answer
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 '10 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. –  Charles Stewart Nov 12 '10 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? –  Peter LeFanu Lumsdaine Nov 13 '10 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. –  Charles Stewart Nov 15 '10 at 11:29
add comment

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.