84

In the answer to bibtex vs. biber and biblatex vs. natbib the advantages and disadvantages of Biber vs. BibTeX (and of natbib vs. biblatex) were explained. However, one point was omitted: The question of compatibility of bibliographies between BibTeX and biblatex.

After using BibTeX for a while, you get a collection of bibliographies in BibTeX style. Furthermore, many journals give BibTeX entries for citations on their home page. A lot of bibliography management programs either support BibTeX export, or even manage BibTeX files directly. Also, advanced editors like Emacs have special support for BibTeX bibliographies.

In short, there's a massive infrastructure for creating and managing BibTeX bibliographies and a big stock of existing ones. Moreover, as was noted in the other question, you cannot use Biber together with natbib, which is used by quite a few journals.

Therefore the following question arises: Is the bibliography format of Biber compatible with the bibliography format by BibTeX? Or if not, it there at least an automatic conversion tool?

Note that both directions are interesting: If Biber cannot use existing BibTeX bibliographies, this means that you have to convert every existing BibTeX bibliography, and do so also for BibTeX entries from journals (unless they also offer Biber, but often it's just BibTeX and EndNote) and bibliographies exported from bibliography management programs. On the other hand, if Biber files cannot be used for BibTeX and no conversion exists, it means that any Biber bibliography is useless for journals using natbib, and any programs interpreting directly BibTeX bibliography files cannot be used any more (including editor support).

Also, in case that Biber can read BibTeX files, but not vice versa: Does Biber still have advantages over BibTeX if the files are restricted to BibTeX-compatible ones?

1
  • I think it is a problem that I read through all the answers on this page and still have no idea which parts of my .bib file I need to change to use it with natbib and BibTeX. Because none of the answers seems to address this clearly, perhaps the question needs to be reworded to reflect what the answers actually do address. Jul 21, 2021 at 0:09

5 Answers 5

63

To parse BibTeX format files, Biber uses a C library called "btparse" which is, for all intents and purposes, 99.9% compatible with BibTeX. So, You should rarely have problem using Biber as a drop-in replacement for BibTeX. As mentioned by others, the issue is rather the slightly different data model which biblatex has compared with the data model in BibTeX.

So, your question really relates to the difference in data models between plain BibTeX and BibLaTeX, regardless of whether you are using Biber as the biblatex backend. Be aware that in the future, around BibLaTeX 2.x, BibTeX will no longer be supported as a biblatex backend as it has too many limitations. Of course BibTeX format data files will always be supported.

The more important question is, as you mention, what the advantages of Biber might be even if you are not using any of the biblatex data model specifics. Here are some advantages of Biber in this respect (you can get an idea by searching for the string "Biber only" in the biblatex manual), omitting the features which require data source changes:

  • Support of data sources other than .bib (currently RIS, Zotero RDF/XML, Endnote XML)
  • Support for remote data sources (.bib files available via ftp or http)
  • Support of other output formats (in 0.9.8 it will support GraphViz .dot output for data visualisation and conversion to the planned biblateXML format)
  • Full Unicode 6.0 support (including file names and citation keys)
  • A sorting mechanism which I think is probably as good or better than any commercial product - full Unicode, multi-field, per-field case and direction, CLDR aware and completely user configurable. BibTeX doesn't come close in this regard.
  • Automatic name and name list disambiguation. I think this is quite an impressive feature. See section 4.11.4 of the biblatex manual for a very good explanation of this with examples.
  • Completely customisable crossref inheritance rules. BibTeX has a very basic static rule only.
  • Automatic encoding and decoding, including UTF-8 <-> LaTeX macros
  • Very flexible configuration file "sourcemap" option which can be used to change the
    .bib data as it is read by Biber, without changing the actual data source itself. You
    can use this to do all sorts of things like drop certain fields, add fields, conditionally drop/add fields, change fields using full Perl 5.14 regular expressions (see Biber manual section 3.1.2).

This last feature is particularly interesting for you as you can potentially map your pure BibTeX .bib files into the biblatex model on the fly as Biber reads them but without altering the files. It's also very useful for dropping fields like abstract which often cause trouble due to LaTeX reserved characters.

There are also some other features implemented in Biber which are available in BibLaTeX 2.x:

  • Customisable labels
  • Multiple bibliographies in the same refsection with their own sorting/filtering
  • "Related" entries - a general solution to the issue of all these "reprinted as", "translated as" etc. requirements.

I forgot to mention that Biber automatically applies the BibLaTeX field and entrytype mappings (address -> location etc.) mentioned in the documentation. It does this by implementing some driver-level source mappings (see \DeclareSourcemap and its variants in the biblatex documentation).

6
  • 2
    Thank you for this answer. So if I understand you correctly, I can use standard bibtex .bib file and augment them with a file of transformation rules for biber/biblatex. So I can still use bibtex in cases where is is required, but yet use all biblatex features through transformation rules. Is that right? In that case, I think I'll revise my previous conclusion.
    – celtschk
    Dec 5, 2011 at 11:43
  • 2
    Yes, that should be largely possible.
    – PLK
    Dec 5, 2011 at 12:07
  • Maybe I'm missing something here, but I don't think that mapping really helps. Take the example I already mentioned, the bookauthor field. It doesn't exist in bibtex; now if I want to make use of this field in biblatex I have to actually write it in the .bib file. There is no way, to automatically map an author or editor field (which are the only ones traditionally supported by bibtex) into a bookauthor field, biber itself can't decide which editor is actually a bookauthor and which one has to remain an editor in biblatex. Mapping is only possible if a clear equivalent exist.
    – Simifilm
    Dec 5, 2011 at 12:56
  • 1
    You're quite right - the mapping can only help when adding information if it is static and predictable from the information already in the data. It can't help you with completely new information. But in that case, you can add the new fields anyway and bibtex will ignore them if it doesn't know about them.
    – PLK
    Dec 5, 2011 at 13:23
  • Thank you. I've now switched the accepted answer to yours because it contains the most relevant information.
    – celtschk
    Dec 5, 2011 at 20:24
36

As a principle: the more you make use of biblatex/Biber's strengths, the harder it gets to go back to a traditional BibTeX workflow.

If you come with your BibTeX database and want to use it with biblatex/Biber there are only few areas you have to tweak: chapter 2.3 of the biblatex manual lists the following points:

  • The entry type @inbook. See §§ 2.1.1 and 2.3.1 for details.
  • The fields institution, organization, and publisher as well as the aliases address and school. See §§ 2.2.2, 2.2.5, 2.3.4 for details.
  • The handling of certain types of titles. See § 2.3.5 for details.
  • The field series. See §§ 2.2.2 and 2.3.7 for details.
  • The fields year and month. See §§ 2.2.2, 2.3.8, 2.3.9 for details.
  • The field edition. See § 2.2.2 for details.
  • The field key. See § 2.3.2 for details.

Not all of the changes will probably concern you and not all really result in incompatibilities.

The more you delve into biblatex and the more you make use of its unique types, fields and features, the more difficult it gets to go back, of course. The whole question of conversion between between the two actually becomes moot, since it's not really a question of different formats but of biblatex simply offering many things BibTeX has no equivalent for.

Just one example which was important for me: Traditional BibTeX doesn't have a bookauthor field which is a kind of deal breaker in certain areas of humanities. The fact that biblatex has this field was one of the main reasons I originally switched to biblatex. Now since BibTeX doesn't know about this field there's no sensible way to have a useful conversion between the two. The same is true for many other fields. So going to biblatex is a kind of a one way street after you crossed a certain point.

5
  • Thank you for your answer. That's exactly the type of information I was after. So I now understand that as long as the important journals don't accept biblatex/biber bibliographies, it also doesn't make much sense for me to use them on other files.
    – celtschk
    Dec 5, 2011 at 0:10
  • This is the kind of information I was looking for except that there is not sufficient information in the answer to determine which biblatex features will cause moving back to BibTeX to fail. Jul 21, 2021 at 0:04
  • @RandyCragun Well, basically any field which is not standard BibTeX will not work. Those are woo too many to list …
    – Simifilm
    Jul 21, 2021 at 5:33
  • It should be possible to compactly list the standard BibTeX fields, though, right? (I am actually not confident about whether there are standard BibTeX fields or whether BibTeX just interprets fields however natbib tells it to.) And it is probably possible to list options for mapping the most common non-BibTeX fields to BibTeX fields. I am definitely not suggesting that you, @Simifilm, need to do the work to make such lists, but I would appreciate thoughts from anyone on whether that is what the question is asking for (I think it is). Jul 24, 2021 at 20:47
  • @RandyCragun There is, to my knowledge nothing, beyond any kind of standard then original BibTeX as it was released by Oren Patashnik back in the day. The original manual with all types and fields is available on CTAN and should be part of all TeX distributions. Since the original release of BibTeX various styles have have extended the specification, and while you could argue that, for example, natbib introduced elements which have been picked up by other styles, none of them can really be considered a standard.
    – Simifilm
    Jul 25, 2021 at 14:52
12

As you are asking about Biber vs. BibTeX (that is, binary drivers for processing the .bcf respectively .aux file generated by LaTeX with respect to citations) I assume you are using biblatex as bibliography package, as Biber does not support any other bibliography package (old-style BibTeX, natbib).

With respect to the bibliography databases: AFAIK Biber is mostly compatible to BibTeX. It is, however, more picky wrt having well-formed entries, so chances are high that something "does not work" out of the box. If you do not want to fix all this immediately, using biblatex together with bibtex8 -W is generally a good workaround. You do not have to switch immediately to Biber just for using biblatex.

A more serious problem is that old-style BibTeX and biblatex are not to a hundred percent compatible wrt the database entries. Actually, biblatex cleans up with many idiosyncrasies of the old-style BibTeX database format:

For instance, in old-style BibTeX there are two fields to indicate an address: address for the address of the publisher, which is used in all entry types, but @inproceedings. For @inproceedings entries one has to give the location of the venue instead; the address of the publisher must not be given (BibTeX warns about this and ignores it).
With biblatex, both are synonyms for "where it has been published", which is makes more sense, as you never use both within the same entry – theoretically. However, many @inproceedings entries one finds on the web (ACM, IEEE, ...) contain both, even though this is technically not correct. When you have imported these entries to your personal .bib files and use them with biblatex, the address (of the publisher) sometimes overwrites the location of the venue, resulting in wrong information.

3
  • 1
    Thank you for the explanation. Actually up to now I'm using neither biblatex nor biber, but I'm trying to find out whether I should (where I'm not constrained in what I use). Especially important for me is that I can at any time go back to bibtex/natbib where required, and that I don't lose all that infrastructure. As far as I understand, for biblatex vs.standard/natbib the changes are localized to a single document. But not so for bibtex/biber. I'm not yet accepting your answer because you only answered part of my question, and I still hope for answers to the rest, esp. about reverse dir.
    – celtschk
    Dec 4, 2011 at 20:22
  • 2
    Just a minor point: bibtex indeed processes .aux files, but biber processes .bcf files, not .aux files.
    – Adam Liter
    Aug 12, 2015 at 3:53
  • 2
    @AdamLiter: Thanks for the clarification. (I really love the SE-model, where even a 4-year-old answer still gets better!)
    – Daniel
    Aug 12, 2015 at 7:16
2

This is just a small add-on. One thing I just noticed is that when using the alphabetic style of biblatex, the .bib file may now be more sensitive to the format in which you write the author names. So if you write

author = {M.~Mustermann}

then the shorthand for your entry in your document will start with M M (using the default settings). However, if you use

author = {M. Mustermann}

or

author = {Mustermann, M.}

instead, the shorthand for the corresponding entry will be Mus. When using bibtex and the alpha style, the shorthand starts with Mus in all three cases. So bibtex recognizes the ~ as a separator of first and last name while biber does not.

9
  • 1
    That really shouldn't be happening. I just tried to reproduce this behaviour and failed (i.e. my tests all gave labels that used the family name as expected). Could you please provide a full example of when you get this weird behaviour (either here, in a new question, or even in a bug report at the bugtracker)?
    – moewe
    Jan 9, 2016 at 7:46
  • 2
    This is probably due to small differences between bibtex and the btparse library which biber uses internally. In fact, when using biblatex and biber, such ties are really a bad idea because names are parsed into objects and reconstructed by styles which should make all the formatting decisions (like such tying). You can always use a biber sourcemap to remove them from your .bib dynamically before the names are parsed.
    – PLK
    Jan 9, 2016 at 17:31
  • 1
    Ah, that is not too bad than. M.~Mustermann is not the recommended format anyway and I consider the behaviour of BibTeX to ignore the ~ a courtesy rather than a feature that should be exploited.
    – moewe
    Jan 9, 2016 at 18:04
  • 2
    @PLK Is there a list of those (or of the known) small differences between btparse and "original BibTeX"?
    – moewe
    Jan 9, 2016 at 18:08
  • 3
    There is no real list of these idiosyncracies - they just come up from time to time. Also, I have hacked btparse to make it a bit more UTF-8 aware and so they have diverged a bit. I am hoping that in the future people will start to use something like the experimental BiblateXML. The bibtex format, in particular name parsing, is really an anachronism these days.
    – PLK
    Jan 10, 2016 at 15:24
2

An issue that I found is that comments of the form @COMMENT text work in .bib files for BibTex but not for Biber.

This is discussed more here: code comments in a biblatex file

You must log in to answer this question.

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