Zotero (CDS Open source) [macOS / Windows / Linux]
Please use the latest versions of Zotero as some of the tools mentioned below need up-to-date Zotero.
Zotero is a well-established open source and free reference manager. Originally developed as a Firefox plugin, it became an independent app that is fully cross-platform.
You can choose Zotero in Scrivener's settings. If you want to use a floating citation picker like zotpick then select that instead to link to Scrivener...
There are THREE main workflows to use Zotero with Scrivener; I’ve ordered them from the simplest ① to most flexible ③:
① RTF Scan — built-in
Read through the RTF Scan instructions first. To summarise:
- Write using temporary citations of the form
{Smith et al., 2009}- if you want to use a “Quick copy” style to make it easier you can get that from here: Zotero Style Repository and then select it in
Zotero Settings > Export > Quick Copyto quickly copy the temporary citation in that format into Scrivener. With quick copy set up the keyboard commands look like this: In Scrivener press ⌘Y to switch to Zotero, then search+select your reference and press ⇧⌘C to quick copy, then ⌘TAB back to Scrivener and paste with ⌘V.
- if you want to use a “Quick copy” style to make it easier you can get that from here: Zotero Style Repository and then select it in
- Compile your Scrivener project using RTF as the output format.
- In Zotero go to
Tools > RTF Scan, select your compiled file and follow the instructions.
Caveats:
- If you selected a citation format which calls for footnotes or endnotes, they will only appear properly if you open the Output File in a full-featured word processor, such as Microsoft Word or LibreOffice.
- Ambiguous citations are not as robustly handled, and can’t use prefixes, suffixes, and locator (page, chapter, verse, etc.) numbers in citations.
② ODF-Scan — Plugin needs Zotero 7+
The ODF-scan plugin allows you to compile to open document ODF compatible with LibreOffice / word etc. Both ODF (.odt) and DOCX (.docx) files are supported. ODF conversion requires LibreOffice and the Zotero LibreOffice plugin, DOCX conversion requires Microsoft Word the Zotero Word plugin. Read their instructions; but as a summary:
- Install the plugin.
- Choose what type of temporary citation you will use
{See | Smith, (2012) |p. 45 | for an example |zu:2433:WQVBH98K}is their scannable cite format[for an exaple, @smith2012 p.45]using Pandoc style temp citations.
- Set up
Zotero Settings > Export > Quick Copyto use whichever of those two you choose. With quick copy set up the keyboard commands look like this: In Scrivener press ⌘Y to switch to Zotero, then search+select your reference and press ⇧⌘C to quick copy, then ⌘TAB back to Scrivener and paste with ⌘V. - Write in Scrivener inserting those citations. Compile to ODT or DOCX (either the native ones or the MMD variants).
- Go to
Tools > ODT Scanand follow their prompts.
③ BetterBibTex — no need for manual steps after compile
BetterBibTex is a plugin that greatly improves the way Zotero handles citekeys (originally used by LaTeX, but now also commonly used with other tools like Pandoc). I describe the Pandoc workflow here, but the LaTeX workflow would be similar.
- Install the plugin from: Better BibTeX.
- Set up the temporary citations like:
[@sallet2022] - Configure BBT up to auto-export your Zotero references to a BibLaTeX or CSL-JSON file: Automatic export :: Better BibTeX for Zotero — this synced file is used by Pandoc or LaTeX when compiling.
- Compile using MMD (Pandoc) and in Scrivener’s post-processing enable
--citeprocprocessing of Pandoc, passing the exported references file from (3) using--bibliography, and a CSL bibliography style using--cslflags. - There is a cool pandoc filter from the BBT developer that can directly convert the temporary citations into “Live” Zotero citations for DOCX and ODT, see Markdown/Pandoc :: Better BibTeX for Zotero for details. This means your Scrivener > DOCX yields live citations other Zotero users can tweak immediately. This plugin accesses the Zotero database directly, so Zotero must be open.
[optional] Install Floating Cite UI
To make writing a bit smoother you can install a UI that searches then pastes the citation. There are several options, two of them require Alfred, but there is a plain interface that uses Applescript:
- Super Citation Picker for Alfred — used for Pandoc / LaTeX based outputs. It uses a BibTeX file and searches in real-time so it can be used for any app even with Zotero closed.
- ZotHero for Alfred — used for Pandoc / LaTeX based outputs. It searches the Zotero database directly, no need for a BibTeX intermediate, but Zotero needs to be running.
- Zotpicker — Needs BBT to function, and while the recommended workflow is Pandoc, you can also use the picker for scannable cites. The script can be saved as an app bundle then configure Scrivener to use this as the citation tool. Warning: this script may or may not work based macOS’s overly restrictive security settings. It is better to download the script itself, then save it as an application and self-sign it, then remove and add it from the macOS Security > Accessibility settings. You can also run the Applescript directly using a tool like BetterTouchTool or any Applescript runner: zotpick-applescript/zotpick-pandoc for Scrivener.applescript at master · davepwsmith/zotpick-applescript · GitHub – here is an example using Scrivener + zotpick run via BetterTouchTool:


