Retour au classement

retorquere/zotero-better-bibtex

TypeScriptretorque.re/zotero-better-bibtex/

Make Zotero effective for us LaTeX holdouts

zoterobibtexcitation-keysbiblatexlatexbib
Croissance des étoiles
Étoiles
6.9k
Forks
381
Croissance hebdomadaire
Issues
38
2k4k6k
oct. 2013janv. 2018avr. 2022juil. 2026
Artefactsnpmnpm install zotero-better-bibtex
README

Better BibTeX for Zotero

Better BibTeX (BBT) is an extension for Zotero and (in principle) 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).

Notice

With the advent of Zotero 8, items have a Zotero-native citation key field. This has replaced the BBT citation key field.

This has caused a few somewhat disruptive changes:

  • Zotero 7 is no longer supported. BBT 8.0.25 still works on 7.0.32, but will not receive further updates.
  • Zotero will have moved all pinned keys out of the extra field into the native field
  • The concept of pinning keys is gone; keys are always pinned now. Zotero doesn't have a place I can store whether a key is pinned or not.
  • The Zotero-native citation keys are stored in another place than the BBT citation keys. If you have no Zotero-native citation keys yet, BBT will silently migrate them to there. If you do have Zotero-native citation keys, and a migration would overwrite them, you will be offered a windows with the choice on how to migrate your citation keys from the BBT storage to the Zotero storage.
  • I have enabled auto-pin (what really is auto-fill now) even you had it turned off. You can still turn it back off if you don't want this.
  • Integrations that read the BBT database directly will have to read the Zotero database instead.

Upside to all of this is that keys will sync.

Re-do migration

If key migration appears to have failed, YOUR CITATION KEYS ARE SAFE.

Make sure you are on the latest version. For the first 5 minutes after BBT start, the Help menu will have an option Re-do BBT citation key migration. Click that, generate a debug log from the Help menu, then open an issue on github noting the debug log ID.

Features

Facilities for generating citation keys

  • Automatically generate citation keys without key clashes! Generate citation keys that take into account existing keys in your library even when they are not part of the items you export. Prevent random breakage!
  • Generate citation keys based on contents of your items using citekey formulas.
  • Set your own, stable citation keys, 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 items that Bib(La)TeX won't understand.

  • BBT will convert from/to HTML/LaTeX:

    • <i>...</i>\emph{...}/\mkbibemph{...}/\textit{...}
    • <b>...</b>\textbf{...}
    • <sup>...</sup>\textsuperscript{...} and <sub>...</sub>\textsubscript{...}.

    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, 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.

My github stats

I prefer communicating via github issues, but for private information you can reach me on matrix

Dépôts similaires
PDFMathTranslate/PDFMathTranslate

[EMNLP 2025 Demo] PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/MCP/Docker/Zotero

PythonPyPIGNU Affero General Public License v3.0chineselatex
pdf2zh.com
35.7k3.2k
Byaidu/PDFMathTranslate

PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/Docker/Zotero

PythonPyPIGNU Affero General Public License v3.0chineselatex
pdf2zh.com
18.3k1.5k
windingwind/zotero-pdf-translate

Translate PDF, EPub, webpage, metadata, annotations, notes to the target language. Support 20+ translate services.

TypeScriptnpmGNU Affero General Public License v3.0zoterotranslate
11.4k497
windingwind/zotero-better-notes

Everything about note management. All in Zotero.

TypeScriptnpmGNU Affero General Public License v3.0knowledgemarkdown
8k264
MuiseDestiny/zotero-gpt

GPT Meet Zotero.

TypeScriptnpmGNU Affero General Public License v3.0gptzotero
7.3k315
l0o0/jasminum

A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件,用于识别中文元数据

TypeScriptnpmGNU Affero General Public License v3.0cnkizotero
7.1k321
TideDra/zotero-arxiv-daily

Recommend new arxiv papers of your interest daily according to your Zotero libarary.

PythonPyPIGNU Affero General Public License v3.0arxivautomation
5.7k5k
MuiseDestiny/zotero-style

Ethereal Style for Zotero

JavaScriptnpmGNU Affero General Public License v3.0zoterozotero-addon
5.1k161
Galaxy-Dawn/claude-scholar

Semi-automated research assistant for academic research and software development. Supports Claude Code, Codex CLI, Kimi Code CLI, and OpenCode across ideation, coding, experiments, writing, and publication.

PythonPyPIMIT Licenseacademic-researchai-agents
4.7k401
l0o0/translators_CN

Zotero translator中文网页抓取翻译器🎉This is Zotero translators for Chinese Sites(beta), not the official Zotero repo

JavaScriptnpmGNU Affero General Public License v3.0zoterotranslators
4.7k544
54yyyu/zotero-mcp

Zotero MCP: Connects your Zotero research library with Claude and other AI assistants via the Model Context Protocol to discuss papers, get summaries, analyze citations, and more.

PythonPyPIMIT Licenseclaudemcp
stevenyuyy.com/zotero-mcp/
4.4k359
ethanwillis/zotero-scihub

A plugin that will automatically download PDFs of zotero items from sci-hub

TypeScriptnpmGNU Affero General Public License v3.0opensciencezotero
4k201