3

I am using better-biblatex to access my Zotero collections of journal articles. Mostly it works fine, though duplicate keys are a bummer (the documentation for the alternate JabRef syntax based fields is not adequate).

I am writing to discuss a different, somewhat scary feature of this combination - change in item keys.

I was just writing a paper and added a citation to a journal article (call it \cite{Chen2014} for concreteness). While I was writing the conclusions, I found another article, also by a first author named Chen and added it to my Zotero collection.

Using BibDesk, I refreshed the URL that provides the bib file to check the key for the new article. It was also Chen2014. However, to my horror, the citation key to the previous article (the one I had already cited to as \cite{Chen2014}) had changed to Chen2014a!

Now, a typical user is going to have a dynamically growing library. He or she is also going to have a large static set of .tex files (those that have already been written, or the sections of a paper than have been finalized).

This "feature" above means that everytime I have to use a previously written tract of LaTeX, I cannot be certain that article keys have not changed.

If I am not messing up something, this is an utter show-stopper.

Any suggestions?

  • I'd never heard of the system but it says you can specify fixed keys github.com/ZotPlus/zotero-better-bibtex/wiki/Citation-Keys – David Carlisle Jun 13 '14 at 23:02
  • Impractical when you have hundreds, if not thousands, of articles in personal library. I might as well go with the default behaviour of Zotero. – user2751530 Jun 13 '14 at 23:04
  • I never heard of the system either. But if it really changes existing keys you should make a bug report. – Ulrike Fischer Jun 14 '14 at 8:49
  • 3
    This is basically the reason why Zotero itself generates more complicated citekeys. Since Zotero doesn't store the auto-generated bibtex keys anywhere--they're re-generated on every export--short citekeys that easily result in duplicates don't work well. The easiest solution is to use something more robust, which you can do in either better-bibtex (which gives you more flexibility) or Zotero's built-in system. – adam.smith Jun 14 '14 at 15:22
  • Recent versions of Better BibTeX generate stable keys without having to hand-generate them. Shifting keys no longer happens, regardless of what part of your library you export. – retorquere Dec 7 '14 at 11:17
7

The Better Bib(La)Tex plugin has since been updated to make sure your bibtex keys are unique even if not explicitly forced to a unique value. The example that is given in the question will no longer occur (full disclosure: I am the author of the plugin -- problems such as these are more swiftly handled when an issue is lodged at github).

2

Better bib(la)tex is the way to go here. You can configure it to use short static keys, these are saved in the Extra field, the format is bibtex: LABEL, these are stripped off and used by the better bib(la)tex export function.

There is a menu choice to generate keys, although these are not yet made unique, perhaps this has been added recently. Once you make them unique by editing the Extra field they will stay static.

I have saved a search for "No bibtex label" (Extra Does not contain bibtex:). This makes it easy to add missing ones.

See https://github.com/ZotPlus/zotero-better-bibtex

  • Not practical. I have hundreds of articles in my Zotero library. – user2751530 Jun 25 '14 at 17:02
  • If you install biblatex, mark all of your entries and use the add bibtex label menu entry. This will give you a static label for all of them. Now sort on the Extra field and spend a few minutes to make them unique. There will not be that many duplicates. – Jan-Åke Larsson Jun 29 '14 at 20:45
  • It seems that the collision check does work if you Generate BibTex key for all of them at once (this time the name is right). Mark your 1000 entries, and Just Do It, this will give you static and unique keys. Adding new ones later will not give unique keys --- but the extension author is working on this, I understand. – Jan-Åke Larsson Jul 1 '14 at 17:23
  • Thanks for your suggestions. Several of them are very informative. The last one will not work because the library is always growing. Say I finish up a draft of a paper with library with 6032 entries (an example). I send it off to my colleagues. I then start working on a different paper. The library grows to, say, 6150 entries. After a week, I get back an updated draft that I need to touch up on. Can I be assured that the extra 6150-6032=128 entries have not changed the keys for the articles which existed in the collection a week ago? If not, this becomes a showstopper. – user2751530 Jul 2 '14 at 5:09
  • 1
    You can now -- there's an option in the preferences to enable it. – retorquere Mar 21 '15 at 23:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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