Skip to content
Make Zotero effective for us LaTeX holdouts
TypeScript Python HTML JavaScript Gherkin Ruby Other
Branch: master
Clone or download
Latest commit 2a4188f Jan 21, 2020
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github easier to refer to numbers Jan 17, 2020
__circleci disable circle and semaphore May 15, 2019
__semaphore disable circle and semaphore May 15, 2019
citation-style-language-locales @ 4fa7533 actually merge #1401 Jan 20, 2020
content expose unicode mapping rule Jan 17, 2020
locale New translations zotero-better-bibtex.dtd (French) (#1404) Jan 17, 2020
minitests prep for prefs Dec 22, 2019
setup prefs-cleanup Jan 15, 2020
site docs update Jan 17, 2020
skin pin icons Dec 16, 2019
test keep default at conservative for the git-tracking folks Jan 18, 2020
translators safeguard hitting root Jan 20, 2020
util extra testcase for #1395 Jan 15, 2020
.gitignore ncu Nov 11, 2019
.gitmodules bbt -> site, favicon Jun 22, 2019
.ignore silver server ahoy! Nov 30, 2017
.nightly.json nightly+trace=boom Jan 13, 2020
.nvmrc travis Aug 16, 2018
.ruby-gemset travis Aug 16, 2018
.trace.json maybe it's in the serialization? Jan 13, 2020
.travis.yml show HW specs #norelease Jan 12, 2020 Jan 20, 2020 Jun 20, 2019
LICENSE LICENSE Aug 23, 2017 Update dependencies to enable Greenkeeper 🌴 (#1239) Aug 9, 2019
behave.ini come one behave! Sep 19, 2019
better-bibtex-citekeys.csl Update better-bibtex-citekeys.csl (#1142) Feb 27, 2019
chrome.manifest pt-BR Jul 23, 2019
crowdin.yml Update Crowdin configuration file Nov 15, 2017
fields.sql cleanup Feb 16, 2018
package-lock.json 5.2.10 Jan 20, 2020
package.json 5.2.10 Jan 20, 2020
requirements.txt prefs Jan 12, 2020
tsconfig.json prep for workers Jan 5, 2020
tslint.json so close... Jan 5, 2020
webpack.config.ts so close... Jan 5, 2020

Better BibTeX for Zotero

Build Status Join the chat at Greenkeeper badge

Better BibTeX (BBT) is an extension for Zotero and Juris-M that makes it easier to manage bibliographic data, especially for people authoring documents using text-based toolchains (e.g. based on LaTeX / Markdown).


Facilities for generating citation keys

  • Stable citation keys, without key clashes! Generates citation keys that take into account other existing keys in your library that are not part of the items you export. Prevent random breakage!
  • Set your own, fixated citation keys, generate citation keys from JabRef patterns, drag and drop LaTeX citations, add other custom BibLaTeX fields.

Conversion between formats and encodings

  • Zotero does all its work in UTF-8 Unicode, which is absolutely the right thing to do. Unfortunately, for those shackled to BibTeX and who cannot (yet) move to BibLaTeX, unicode is a major PITA. Also, Zotero supports some simple HTML markup in your references that Bib(La)TeX won't understand.

  • BBT will convert from/to HTML/LaTeX:

    • <i>...</i>\emph{...}/\textit{...}
    • <b>...</b>\textbf{...}
    • <sup>...</sup>\_{...} and <sub>...</sub>^{...}.

    More can be added on request.

    BBT contains a comprehensive list of LaTeX constructs, so stuff like \"{o} or \"o will be converted to their unicode equivalents on import (e.g., \"{o} to ö), and their unicode equivalents back to \"{o} if you have that option enabled (but you don't have to if you use BibLaTeX, which has fairly good Unicode support).

    If you need literal LaTeX in your export: surround it with <script>...</script> (or <pre>...</pre>, which do the same) markers.

Facilities for exporting data from Zotero

  • Highly customized exports.
  • Fixes date field exports: export dates like 'forthcoming' as 'forthcoming' instead of empty, but normalize valid dates to unambiguous international format.
  • Auto export of collections or entire libraries when they change.
  • Pull export from the embedded webserver.
  • Automatic journal abbreviation.

Getting started

To get started, read the installation instructions.

How does it work ?

At its core, BBT behaves like any Zotero import/export module; anywhere you can export or import bibliography items in Zotero, you'll find Better X listed among the choices.

If nothing else, you could keep your existing workflow as-is, and just enjoy the improved LaTeX ↔ unicode translation on import and export and more accurate field mapping.

Better BibTeX works from BibTeXing and Tame the BeaST for BibTeX, and The Biblatex Package for BibLaTeX, but since there isn't really a definitive manual for either format that is universally followed by Bib(La)TeX editors/processors, I'm pragmatic about implementing what works.

Got problems? We got fixes!

If you have any questions on BBT's use, do not hesitate to file a GitHub issue and ask for help.

If you're reporting a bug in BBT, please take a moment to glance through the support request guidelines; it will make sure I get your problem fixed as quick as possible. Clear bug reports commonly have really short time-to-fix, so if you report something, stick around -- it may be done as you wait.

The support request guidelines are very detailed, perhaps to the point of being off-putting, but please do not fret; these guidelines simply express my ideal bug submission. I of course prefer very clearly documented issue reports over fuzzy ones, but I prefer fuzzy ones over missed ones.

Sponsoring BBT

While the development needs of BBT are to a large extent covered by the generosity towards open-source developers of services such as github and travis, my development system does require the occasional upgrade; also, I enjoy getting the occasional frivolous tech-toy that I wouldn't otherwise grant myself. While you should feel in no way obligated to pay for BBT, anything you can spare is very much appreciated. If you'd rather contribute a little bit each month (and a little means a lot) so I can save up for a replacement a year or so down the line, head on over to Patreon, but mind that Patreon takes a fairly large cut of what you give.

Many, many thanks, also to the existing contributors -- thanks to you I've hit my first target and have been able to replace my trusty macbook air with a newer macbook pro which has much more breathing room.

You can’t perform that action at this time.