Configuration

The Better BibTeX Configuration can be found under the regular Zotero preferences pane, tab ‘Better Bib(La)TeX’.

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.

Citation keys

QuickCopy format

default: LaTeX

Used for drag-and-drop/quick copy using Better BibTeX citekeys. 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

  • Cite Keys

  • Pandoc

  • Org-mode

  • org-ref

  • RTF Scan

  • Atom (https://atom.io/packages/zotero-citations)

  • GitBook

  • Select link

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: off

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.

Citation key format

default: "​[auth:lower][shorttitle3_3][year]"

Set the pattern used to generate citation keys. The format of the keys is documented here.

Force citation key to plain text

default: on

If you have deviated from the default citation key format pattern by specifying your own, you may wind up with non-ASCII characters in your citation keys. You can prevent that using the fold function at the appropriate place in your pattern, but checking this checkbox will just apply fold to all your keys.

On conflict, non-pinned keys will be

default: kept (causes key duplicates)

This determines what happens if you pin a key to a value that is already in use in a different reference but not pinned there. Neither are ideal, you just get to pick your poison. If you let BBT change the non-pinned key by adding a postfix character, the citation key changes which could be problematic for existing papers. if you keep the non-pinned key as-is, your library now has duplicate keys.

Options:

  • postfixed (causes key changes)

  • kept (causes key duplicates)

Export

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.

Options:

  • both

  • DOI

  • URL

Export unicode as plain-text latex commands

default: off

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.

default: on

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.

Assume single-word strings to be externally-defined @string vars, and thus not surrounded by braces

default: off

When enabled, single-word strings will be assumed to be externally-defined @string vars, and thus not surrounded by braces. If you don’t know what this means, leave it off.

Disregard name prefixes when sorting

default: off

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.

Fields to omit from export (comma-separated)

default: ""

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.

Add URLs to BibTeX export

default: no

BibLaTeX supports urls in your references natively; BibTeX does not. For this reason, URLs are omitted from BibTeX exports by default. Using this setting you can have them added to your exports either in a note field (not as clean, but compatible with BibTeX out of the box), or in a url field (requires extra packages to be loaded, or bibtex will error out).

Options:

  • no

  • in a note field

  • in a URL field

Include JabRef-specific metadata:

default: no

Export JabRef-specific information fields; timetamps and groups for collections.

Options:

  • no

  • for JabRef 3

  • for JabRef 4

Include comments about potential problems with the references

default: off

Generate quality reports for exported references.

Use BibLaTeX extended name format (requires biblatex 3.5)

default: off

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

Journal abbreviations

Automatically abbreviate journal title if none is set explicitly

default: off

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

Automatic export

Automatic export

default: On Change

Determines when automatic exports are kicked off. Having it disabled still marks auto-exports as needing updates, so when you re-enable it, those exports will start. On-change means exports happen whenever a reference in the export changes/is added/is removed. On idle does more or less what Disabled (that is, no exports but mark as needing changes), but will kick off exports when your computer is idle. You mostly want this if your computer is performance-constrained (aka slow).

Options:

  • Disabled

  • On Change

  • When Idle

Advanced

Warn me when changing citation keys in bulk

default: 10

For those who are curious about what the “Clear/Generate BibTeX key” right-click options do, this will warn you if you are doing this on more than 10 (default) at the same time, to prevent your curiosity from changing all your citation keys at once.

postscript

default: ""

Snippet of javascript to run after each reference generation.

import @string definitions

default: ""

If you have externally maintained @string vars paste them here and they will be resolved for subsequent imports

Hidden preferences

The following settings are not exposed in the UI, but can be found under Preferences/Advanced/Config editor.

All are prefixed with extensions.zotero.translators.better-bibtex. in the table you will find there

autoAbbrevStyle

default: ""

Select the style for auto-abbreviation. Only applicable to Juris-M; in Zotero, the style for automatic abbreviation is not configurable.

autoExportIdleWait

default: 10

Number of seconds to wait after your system goes idle before kicking off auto-exports.

cacheFlushInterval

default: 5

How often the Better BibTeX database should be saved to disk. Defaults to once every 5 seconds. Note that your database is always saved when your computer goes idle, or when you exit Zotero.

csquotes

default: ""

if you set csquotes to a string of character pairs, each pair will be assumed to be the open and close parts of a pair and will be replaced with a \\enquote{...} construct.

skipWords

default: "a,ab,aboard,about,above,across,after,against,al,along,amid,among,an,and,anti,around,as,at,before,behind,below,beneath,beside,besides,between,beyond,but,by,d,da,das,de,del,dell,dello,dei,degli,della,dell,delle,dem,den,der,des,despite,die,do,down,du,during,ein,eine,einem,einen,einer,eines,el,en,et,except,for,from,gli,i,il,in,inside,into,is,l,la,las,le,les,like,lo,los,near,nor,of,off,on,onto,or,over,past,per,plus,round,save,since,so,some,sur,than,the,through,to,toward,towards,un,una,unas,under,underneath,une,unlike,uno,unos,until,up,upon,versus,via,von,while,with,within,without,yet,zu,zum"

list of words to skip in title when generating citation keys

jurismPreferredLanguage

default: ""

When language alternates are present in Juris-M, this is the language BBT will pick.

biblatexExtendedDateFormat

default: on

Support for EDTF dates in biblatex

suppressTitleCase

default: off

If you’re dead-set on ignoring both BibTeX/BibLaTeX best practice and the Zotero recommendations on title/sentence casing, set this preference to “true” to suppress title casing for English references.

itemObserverDelay

default: 100

I’ve had reports where Zotero notifies extensions that references have changed, but if BBT then actually retrieves those same references, Zotero complains they “haven’t been saved yet”. Super. This preference sets the number of microseconds BBT should wait after being notified before acting on the changed references.

parseParticles

default: on

Name particle handling

citeprocNoteCitekey

default: off

Replaces the “note” field with the bibtex key during citation rendering in Word/Libreoffice. Main use-case is to help migrating word documents to pandoc. This setting only takes effect during startup, so if you change it, you will have to restart Zotero to have this take effect (or to disable it. Please disable it when done). You will want to use a custom CSL style (such as this) to make this work.

scrubDatabase

default: off

Finds potential problems in the database and fixes those. This runs extremely slow at startup, don’t unable this unless explicitly asked to.

lockedInit

default: off

BBT locks the UI during startup because I have been told in no uncertain terms I am not to touch the Zotero database before I get an all-clear from Zotero. This all-clear takes a fair amount of time. As BBT needs database access for generating keys, and everything in BBT depends on the keys being present, it is absolutely safest to make sure BBT initialization has completed before freeing the UI. I want to stress that during most of the lock-time, BBT is simply waiting for Zotero to complete its own initialization; try to do an export of any kind (not just BBT) or to import new references directly after Zotero has started and you’ll notice that it may take a while before Zotero reacts. The lockout just puts a face on this hidden init, and prevents nasty race conditions between the BBT and Zotero initialization leading to unpredictable breakage occasionally.

If you however cannot stand the lockout during startup and you want to live dangerously, you can turn this off and hope that no race conditions bite you. If you turn this on and experience problems, you are welcome to file a bug report and I will see what I can do, but be prepared for the answer to be “turn this back on for now”.

This is EXPERIMENTAL and this preference may disappear at any moment without notice.

autoPin

default: off

When on, BBT will automatically pin the first citekey it generates for an item.


This site is open source. Improve this page