Export

The Better BibTeX Configuration can be found under the regular Zotero preferences pane, tab ‘Better BibTeX’.

The configuration of Better BibTeX is a little baroque compared to the standard Zotero Bib(La)TeX exporters (which only have hidden preferences). The defaults should just work, but here’s an attempt to describe what they do.

Making any change here will drop your entire export cache. This is usually not a problem unless you have a really large library, but you can read about what is involved here.

BibTeX

default: yes

BibTeX has really spotty Unicode support, so you generally want this on. It will translate things like accented characters to their equivalent LaTeX constructs on export.

Disregard name prefixes when sorting

default: no

Name handling is a lot more complex than I had ever thought it to be. A lot more complex. BibTeX has really limited ways of dealing with names with particles (van, von, de, etc). If you turn this on, BBT will add code to have van Gogh sorted under Gogh.

Add URLs to BibTeX export:

default: no

Most BibTeX styles do not support DOI/URL fields. Of the styles that do support them, many forget to load the required ‘url’ package, so make sure to load it yourself. DOI and URL fields are so-called ‘verbatim’ fields, and without the ‘url’ package loaded compilation will likely fail.

Options:

  • no
  • in the ‘note’ field
  • in the ‘note’ field, but assuming the ‘url’ package is not loaded
  • in the ‘url’ field
  • in the ‘url’ field, but assuming the ‘url’ package is not loaded

BibLaTeX

Export unicode as plain-text latex commands

default: no

BibLaTeX actually has really good Unicode support, so you generally want this off. But for some geezers such as me it is simply more pleasing to have things like accented characters translated to their equivalent LaTeX constructs on export.

Use BibLaTeX extended name format (requires biblatex 3.5)

default: no

Use the extended biber 2.7 format for names with particles - only works in BibLaTeX 3.5 or later. This biblatex has a new (less ambiguous) way to store creator names. It’s technically superior, but the LaTeX world moves slowly, so many people won’t have it yet. But if you’re an early adopter, you can enable it here

Fields

When a reference has both a DOI and a URL, export

default: both

Does what it says on the tin, really. If a reference has both a DOI and an URL, you can choose to have them both exported, or either one of them. Note that for BibTeX, you must load the url package when you have doi or url fields. doi and url fields are so-called verbatim fields with different escaping rules, and BibTeX compilation will likely error out without the package loaded.

Options:

  • both
  • DOI
  • URL

Fields to omit from export (comma-separated):

default: <not set>

If there are some fields you don’t want in your bibtex files (such as note for example), add a list of them here, separated by comma’s.

Include JabRef-specific metadata:

default: no

Export JabRef-specific fields: timestamps, titles for attachments, and groups for each collection an item is part of. Note that having this on will disable caching in exports, which is really undesirable specifically for auto-exports.

Options:

  • no
  • for JabRef 3
  • for JabRef 4
  • for JabRef 5

Quick-Copy

Quick-Copy/drag-and-drop citations

Quick-Copy format

default: LaTeX citation

Used for drag-and-drop/quick copy using Better BibTeX citation keys. In the Zotero “Export” pane, choose Better BibTeX Quick Copy as the default export format for quick copy, and choose the desired format for the drag-and-drop citations here.

Options:

LaTeX command

default: cite

Used for drag-and-drop/quick copy citations in LaTeX format. Set the desired LaTeX citation command here. If you set this to citep, drag-and-drop citations will yield \citep{key1,key2,...}

Surround Pandoc citations with brackets

default: no

Used for drag-and-drop/quick copy citations in Pandoc format. You can use this option to select whether you want to have these pandoc citations surrounded with brackets or not.

default: using Zotero item key

OrgMode to select items in your library

Options:

  • using Zotero item key
  • using Better BibTeX citation key

default: using Zotero item key

Hyperlink to select items in your library

Options:

  • using Zotero item key
  • using Better BibTeX citation key

Eta template

default: <not set>

Used for drag-and-drop/quick copy citations in Build your own format. This is going to get pretty technical, sorry. You can paste a Eta template here. Inside the template, you will find an array it.items, each of which is a serialized Zotero item. To find out what an item looks like inside the template, export some items as BetterBibTeX JSON.

postscript

postscript

default: <not set>

Snippet of javascript to run [after each reference generation]({{ ref . “exporting/scripting.md” }}).

Miscellaneous

Automatically abbreviate journal title if none is set explicitly

default: no

If set, generates journal abbreviations on export using the Zotero journal abbreviator, according to the abbreviation style selected in the list below the checkbox.

Include comments about potential problems with the exported references

default: no

Generate quality reports for exported references. These show up only in BibTeX and BibLaTeX report formats and indicate things like missing required fields and duplicate citation keys.

Include automatic tags in export

default: yes

Some importers or Zotero extensions (such as the ShortDOI manager for example) create tags on items that are more for item management than that they are descriptive of the item. When this is off, such tags will not be included in the export.

When converting to plain-text latex commands:

default: Minimize the number of switches between math-mode and text-mode

When a unicode character can be exported as either a math-mode or text-mode command, map to:

  • minimal-packages: if both a math-mode and a text-mode mapping is available, use the version that does not require extra packages to be loaded. * conservative: if both a math-mode and a text-mode mapping is available, stay in the mode of the previously mapped character if possible. This minimizes the number of generated $s in the output. * text: if both a math-mode and a text-mode mapping is available, prefer text. * math: if both a math-mode and a text-mode mapping is available, prefer math.

Options:

  • Minimize additional latex packages required
  • Minimize the number of switches between math-mode and text-mode
  • Prefer text-mode replacements
  • Prefer math-mode replacements

Apply title-casing to titles

default: yes

If you’re dead-set on ignoring both BibTeX/BibLaTeX best practice (see the BBT FAQ) and the Zotero recommendations on title/sentence casing, you can turn this off to suppress [title casing for English references]({{ ref . “support/faq#bbt-is-changing-the-capitalization-of-my-titles-why” }})

Apply case-protection to capitalized words by enclosing them in braces

default: yes

If you’re dead-set on ignoring both BibTeX/BibLaTeX best practice (see the BBT FAQ) and the Zotero recommendations on title/sentence casing, you can turn this off to suppress [automatic brace-protection for words with uppercase letters]({{ ref . “support/faq#why-the-double-braces” }}).

Cache

Retain export cache across upgrades

default: no

By default, BBT clears all caches whenever BBT or Zotero is upgraded. I can’t realistically predict whether a change in Zotero or BBT is going to affect the output generated for any given item, so to be sure you always have the latest export-affecting fixes, the caches are discarded when a new version of either is detected. If you have a very large library however, of which you regularly export significant portions, you might want to retain the cached items even if that does come with the risk that you get wrong output on export that has been fixed in the interim.

If you have this on, and you experience any problem that is not the cache getting dropped on upgrade, you must clear the cache and reproduce the problem. When you change this setting, as with any setting change, the cache will be dropped.

Parallel background exports:

default: 1

BBT can now perform its exports in a separate thread, and should no longer block Zotero’s UI pretty much regardless of how large your library is. The default of 1 parallel export should suit most needs, but if you have many auto-exports set up, you may want to raise the maximum parallel exports to prevent queueing of exports. It is possible to turn background exports off by setting this value to 0 in the hidden preferences; you will get the old (blocking) behavior back, but you can’t complain about Zotero being laggy during auto-exports. All Zotero exports are blocking, and it’s a minor miracle I got background exports to work at all.

Enable caching for background exports

default: yes

Even though BBT exports happen in a separate thread, some work needs to be done before the background export can start. Part of this work is preloading the cache. You can shorten the (blocking) preparation time by turning off the cache, at the cost of longer export times.