Using Scrivener with reference software (wiki)


For certain types of writing, it is essential to cite your sources in the text and then create a bibliography / reference list. To help with this, specialist software allows you to search for references and store them in a database. Depending on the software, you can create notes and relationships for each reference, and attach and manage the source material as a PDF or other text format.

As you write, references need to be inserted into your text (either inline or as footnotes), and once you have finished, they need to be formatted in the style you want them to appear in (parenthetical, numerical, or note citations). There are two ways of doing this: using a dedicated cite-while-you-write (CWYW) interface, or using temporary citation placeholders (TC) that are scanned at a later date. While CWYW may seem “easier”, it locks you into using a specific tool and can often cause performance and stability issues as CWYW constantly updates the document with each edit.

Scrivener supports the use of temporary citations and allows you to link your reference manager directly to Scrivener (see §20.4 of the user manual for how to do this) to make inserting references easier. The general workflow when writing is to activate your reference manager/citation interface while in Scrivener, find and select an item, then insert a temporary citation back into your text. When you are finished with writing, you compile into one of a number of formats and, depending on the format, process the compiled output to generate a bibliography.

This thread aims to collect sample workflows for a number of reference management tools to show how to write in Scrivener and generate a formatted final manuscript. Each application will have a post linked to below. Anyone with experience of a tool and workflow can contribute their methods.

This is currently a WIP, the idea is to detail Endnote, bookends, Zotero, JabRef and Mendeley. Users of other software can give suggestions for other entries. Also I (@nontroppo) am a macOS user and don’t have experience of Windows so anyone please feel free to update/augment these instructions…


  • temporary citation — a plain text placeholder that uniquely identifies an entry in a reference manager.
  • citation style — a set of rules for how to format both in-text citations and the bibliography list. Each reference manager offers their own tools to specify a style, for example Bookends has a Formats Manager, Pandoc and Zotero use CSL. See the CSL database for examples of citations styles: Zotero Style Repository
  • BibTeX — a citation tool originally used by LaTeX, superseded by BibLateX. It can refer to the tool itself or the format of the stored references.
  • CWYW — a tool directly integrated into a word processor that both searches and formats references during writing.

Endnote (Clarivate Software) [macOS & Windows]

Endnote is often available to academic users through a University site licences and is probably the most heavily used reference managers around. Endnote has a CWYW plugin that locks you into using Microsoft Word, but for Scrivener users Endnote also supports robust temporary citations.

Inserting temporary citations

To insert a temporary citation, you can use Insert > Bibliography/citations (Y on macOS) in Scrivener to switch to Endnote, then search and select your reference, then Edit > Copy (C on macOS) and paste it into Scrivener. The temporary citation will look like this (in this case two references seperated by a ;:

{Adolphs, 2009 #3521; Clutton-Brock, 2021 #7164}

You can insert a text prefix / suffix oe other text using this template: {Prefix \Author, Year #Record-Number Suffix}, so for example to add a page number prefix would be {see p.21 \Adolphs, 2009 #3521}. See Endnote’s help for more details.

Compile options:

  1. DOCX ⇨ Microsoft Word: this is the most obvious compile target as Endnote’s plugin is best supported by Microsoft Word. The plugin can convert temporary citations into formatted ones.
  2. ODT / RTF ⇨ Endnote’s Format Paper: Endnote can scan and format a document from within Endnote. According to the help it supports scanning the following: “Microsoft® Word, OpenOffice Writer, LibreOffice Writer, Apple Pages, Scrivener, Nisus Writer, TextEdit , Mellel, and almost any other application that can save as RTF (Rich Text Format)” — for Scrivener users that means using ODT / RTF / DOCX compile outputs.
  3. LaTeX / Markdown: Endnote can export its database to BibTeX. This can be used by Pandoc and LaTeX tools. One caveat is the temporary citations that are exported are not consistent with those copied by default. Potential solutions are to edit the temporay citation options OR edit the BibTeX output format to make these consistent. See this PDF from Imperial College for more details.


It is sometimes easy to convert the temporary citations from Endnote to those used by LaTeX or Pandoc, as long as your BibTeX citation key is in the author-year format, so for example {Smith, 2012 #342} can become [@smith2012]


Bookends (Sonny Software) [macOS & iOS]

According to Wikipedia Bookends is the oldest still-developed reference manager available (first available in 1983!). It is used by many Scrivener users active on these forums, and is best-in-class in terms of its reference management abilities. The independent developer is very active and Bookends is regularly improved. It supports a very powerful floating citation interface that works in many apps.

Bookends has very flexible temporary citation support (p.293 of its user manual). For its native citations is uses the following format:

{Mittelstadt et al., 2001, J Biol Chem; Li et al., 2002, Nature}

But you can easily set it up to create citation keys and generate LaTeX \cite{mittelstadt2001} or Pandoc [@mittelstadt2001] temporary citations…

Inserting temporary citations

  1. Direct: Bookends has a really neat floating citation dialog. Press Control⌃ twice from Scrivener, then type in your search term:
    …then press return↵ or Y to paste it directly in Scrivener. Use the drop-down to control prefix / suffix modifiers and to access other options.
  2. Direct: You can also use Scrivener’s Insert > Bibliography/citations (Y on macOS) to switch to the main Bookends window, then search and select your reference, then press Y again to get it into Scrivener.
  3. External tool: For Alfred users, @nontroppo has a workflow which allows you the search and insert temporary citations in Pandoc/MMD format. See GitHub - iandol/bookends-tools: Alfred Workflow to Integrate with Bookends, an academic reference manager/bibliography tool for macOS for the details…
  4. External tool: If you use a synced bibTeX file, Chris Geisler’s excellent supercharged citation picker allows you to search and cite directly into Scrivener (even if Bookends is closed). See GitHub - chrisgrieser/alfred-bibtex-citation-picker: Alfred Workflow for selecting citations from a BibTeX File. for the details.

Compile options:

  1. DOCX ⇨ Microsoft Word: Bookends has a Microsoft word plugin that requires you to use the Bookends temporary citations and can generate a formatted document.
  2. ODT / RTF ⇨ Bookends Scan Document: Bookends can scan and format a document from within Bookends using Biblio ⇨ Scan document… — according to the documentation it supports: “OpenOffice, RTF, RTFD , or text files”. See Scanning Documents on p246 of the user manual.
  3. RTF ⇨ Nisus Writer Pro (NWP) & Mellel: Both of these word-processors have deep integration with Bookends. They allow you to scan and change references, find the citation in Bookends and more. You should export to RTF, and then use the tools in NWP or Mellel to finalise the bibliography. @xiamenese has automated this in NWP with a macro so the bibliography and other details are automatically generated.
  4. Markdown & LaTeX: Bookends can sync and update a BibTeX file. This can be used by Pandoc and LaTeX. Pandoc uses the [@adolphs2009] citation format and can output to almost any final documant target. You can see Scrivomatic: Scrivener & Pandoc{omatic} # | scrivomatic for an example batteries-included workflow for this.

Zotero (CDS Open source) [macOS / Windows / Linux]


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. It has a number of plugins which enable Zotero to integrate with Scrivener. There are two main workflows with Scrivener, based on scannable citations(RTF/ODF-scan) or BibTeX(Better BibTeX) cite keys. In addition a couple of accessory tools to simplify the workflow, offering something similar to Bookends great floating citation interface.

For maximum flexibility install BOTH core extensions to give you the maximum workflow flexibility.

Installing Core Extensions

  1. RTF/ODF Scan — see here for detailed instructions. Install the extension in Zotero AND you must manually install the Scannable cite.js file into your Zotero Data directory translators subfolder , e.g. /Users/USERNAME/Zotero/translators/Scannable Cite.js.
  2. Better BibTeX (BBT)— follow the installation instructions.

To use, you must configure your Zotero Settings ⇨ Export ⇨ Quick Copy ⇨ Item Format to be either Scannable Cite (ODF Scan) or Better BibTeX Quick Copy (BBT). For BBT you can configure the quick cite to one of many formats, I’d recommend Pandoc for maximum flexibility.

[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, the best ones both require Alfred, but there is a plain interface that uses Applescript:

  1. 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.
  2. 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.
  3. Zotpicker — Needs BBT to function, and while the recommended workflow is Pandoc, you can also use the picker for scannable cites. The script is 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 > Accesibility settings.

Inserting temporary citations

  1. No floating citations — 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.
  2. With floating citations — In Scrivener call up the tool, search and hit enter to insert it into your text.

Scannable cite example: { | Sallet, 2022 | | |zu:1940082:7FGYRYDZ}
BBT example: [@sallet2022]

Compile options



JabRef (Open source)

JabRef is an excellent open source cross-platform reference manager. Although it was originally mostly for LaTeX users, the powerful GUI and integration tools means it is a viable solution for Pandoc / Word / Libreoffice use too.

[optional] Install Floating Cite UI

To make writing a bit smoother you can install a UI that searches then pastes the citation. For macOS this requires Alfred:

  1. 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 across multiple reference managers.

Inserting temporary citations

  1. Direct:

Compile options:

  1. DOCX ⇨ Microsoft Word:


1 Like

Mendeley (Elsevier)

Mendeley is a free online (with downloadable web-page app) reference manager from academic publishing group Elsevier. It is part of a strategy to counter the links between Endnote and search interfaces by Clarivate. The functionality is limited, although it does have good integration into the online tools that Elsevier owns like Scopus and ScienceDirect.

Mendeley used to have a proper desktop app but this was deprecated in favour of a web-based interface with an downloadable web app. They focus entirely on Microsoft Word for writing tool support (they even removed their previous LibreOffice plugin).

All is not lost however as they have recently added citation key fields and BibTeX output back into their manager. The BibTeX is not synced, so you will need to keep exporting as you add new references. With a BibTeX file you can use another tool to search and insert temporary citations into Scrivener.

Inserting temporary citations

Compile options