Scrivener + Zotero in 2021: Checking on people's experiences with the two most recommended workflows

I am currently using Scrivener with Zotero. I like both software programs and I would prefer not to have to switch. If push comes to shove, I would rather give up Zotero than Scrivener.

What I would like to accomplish:
* Let’s say I assert that pink elephants run 20% faster than blue elephants. I want to insert a citation after this fact. I don’t care how it’s inserted (I can type it manually if necessary), but I’d like it to update automatically if I make a change in Zotero. I’d also like the format to be changed if I change the citation format of the manuscript (let’s say from MLA to Chicago Style).
* I’d like to auto-generate a bibliography based on my citations.

Here are my questions about what I’ve already researched (thank you to @Charlson for your comment in the other thread):
* 1. This workflow requires writing in Markdown. Is there a way to do this without writing in Markdown?
* 2. This workflow requires LibreOffice. Is there a way to do this without downloading another word processor? I already have Microsoft Word. Comments elsewhere in this forum seem to indicate that this workflow is unreliable.
* 3. I have the Better Bibtex plugin in Zotero, which generates citekeys. This appears to be a highly requested popular feature, but is it only useful for the Markdown/Pandoc workflow for #1?
* 4. Are there any other methods to accomplish my objectives? I guess I could compile my manuscript and export to .DOCX format with citation placeholders, then use the Zotero integration there. I am reading that some people have thousands of citations, but I “only” have 100+ which is annoying but not unmanageable with this method I suppose.

I would appreciate it if someone here can give me a clear answer to my questions - I’ve done searches everywhere (this forum, Zotero forum, Reddit, Google) and most of the threads are super long and complicated, and answers seem to assume a lot of prior knowledge. I’m willing to switch to the highly recommended Bookends if necessary, or start writing in Markdown if necessary, but I just want to make sure I’m not missing a simpler solution.

The short answer is that the thing you put in Scrivener is a textual link (not a hyperlink) to a specific item in Zotero’s database. (Or whatever database you use; Scrivener is agnostic.) It is not converted to a “true” citation until after you use Zotero to scan your output document.

So, Scrivener doesn’t care what happens to the item in Zotero’s database. Nor does Scrivener care about formatting. All it does is pass the temporary citation through to the output document.

What happens next is up to Zotero, and so you should consult Zotero support. Can Zotero change the formatting without changing the temporary citation, so that existing temporary citations will correctly generate the new formatting? Can it change some – or all – of the information in the bibliographic item without changing the temporary citation? If you misspell an author’s name, say, can you fix it without having to redo the citation?

Alternatively, you can use Zotero to generate a properly formatted “true” citation, and put that in Scrivener. Doing that eliminates the post-processing step, but it also breaks the connection with Zotero’s database. That is, you have now put a piece of text in Scrivener, and maintaining its accuracy is up to you. (Similarly, after you post-process a Zotero temporary citation, what’s left is text.)

I’m sorry, you jumped too far ahead for me. Does your answer pertain to Workflow #2?

My answer pertains to the relationship between Scrivener and Zotero.

As I said, from Scrivener’s point of view, Zotero’s temporary citation is just text. You can Compile from Scrivener to the format of your choice, and trust that Scrivener will pass the text through exactly as it received it. What happens after that is a question for Zotero support.

Of the workflows you list, only #1 requires that you do anything special in Scrivener, because you’ll need to tell Scrivener to Compile to a form suitable for post-processing with Pandoc.

I wrote an 85,000-word doctoral thesis using Scrivener and Bookends. Referencing was very simple and straightforward. While working in Scrivener, hit Command-Y, which switches to Bookends, find the reference you want, hit Command-Y again, which switches back to Scrivener, and inserts a temporary citation where you left the cursor. When I finished writing I compiled (to RTF in this case, but I could have compiled to Word .doc or .docx) scan the document with Bookends, which converts the temporary citations to whatever format you choose and creates a reference section in the appropriate format (you can scan as many times as you like, and could make several different versions of the final draft with the referencing in different formats, such as Harvard, MLA, APA, etc.) Bookends comes with hundreds of different formats for just about any style you can think of, and of course you can create your own. Support from the developer is very good, and the program is constantly updated. Highly recommended for serious work.

I did not use Markdown in my work.

If there is one particular reference you use a lot you can save a bit of time by using text expansions, so, for example, you type “qqsmith” and a temporary citation (such as {Smith, 2021, #1234}) is inserted into the text immediately.

1 Like

Haha yes I think I see a lot of your posts recommending Bookends. Does it do extraction of PDF annotations? Or have an add-on that does?

Over the decades I’ve built up a suite of programs that I use for various purposes. I prefer to use programs that do one thing well rather than programs that do a range of things, often less successfully. So I never annotate pdfs in Bookends, nor do I read them in Bookends. Instead, I usually use PDF Expert, which certainly does allow extraction of annotations, in a variety of formats. In the past, I have also used Skim, which seems to be quite popular, no doubt partly because it is free. I also use PDFpenPro at times, because of the facility for deep linking provided by Hook. Hook is a bit new to me, and I haven’t yet really worked out how to incorporate it into what I do, but it seems to have the potential to be really useful. For something over a decade I also used DEVONthink as a repository for all sorts of material, but I found it very difficult to adapt to version 3 when it appeared. It also has tools for annotating pdfs (and extracting the annotations) but I’ve never used them, preferring PDF Expert. I should probably also mention Highlights, which has a lot to recommend it. I used the first version of this quite a bit, but PDF Expert is my main tool at the moment.

If you are interested in Bookends, you can download a trial and test it. Just be aware that it is a powerful program with a lot of features and a huge user manual. Which means that it takes time to get to grips with it.


Hi Emma,

I use the Markdown/Pandoc/BetterBibTex workflow and I think it might be worth your while.

First, the Scrivener compile functions actually require very little “writing” in Markdown because Scrivener can convert the regular Scrivener formatting you apply into Markdown.
The main thing that I do is insert my citations in the text in the BetterBibTex generated citekey: [@CITATION, ##] (which you can find at the top of the Info pane for every Zotero item if BetterBibTex is installed).

Then you use the compile format MultiMarkdown and edit it to include a little bit of information in the Processing pane so that Scrivener can tell Pandoc what to do. (In the Arguments line for example: --citeproc --bibliography=“Location of your .bib file” -t docx -o <$outputname>.docx). In order for this to work you have to install Pandoc so that the Scrivener compiler can call it up, but it runs in the background. (I have figured this out because I have previously used pandoc to convert files.) If you are on a Mac and feel ready to take on more formatting automation stuff, then you could also look at Scrivomatic.

This then can produce a word doc with citations properly formatted.

If you need more detailed instructions, let me know.

All the best,

1 Like

Thanks for the help!

I’m a little confused about your second paragraph because I am not conversant in some of the technical descriptions. As mentioned in my original post, I wanted a bibliography to be automatically generated. What am I putting then as “location of your .bib file”? What is a .bib file? Is there a document that tells me what kind of information I should put in the processing pane besides the example you shared?

I am not super worried about writing in Markdown as I already use that in another text editor I have. However I would like to be able to have easily switch between journal styles and citation styles.

Thank you!

Hi Emma!

The workflow I described produces a bibliography in Chicago author date format.

You can create a .bib file with Zotero’s Export function. If you have the BetterBibTex plugin installed, check out the BetterBibTex tab in Zotero’s Preferences for determining where to save your .bib file to – that’s the location then. (The .bib file is basically a text file of your Zotero library compiled in a format that Pandoc and other programs can read and use to turn the citations you have in the text into a bibliography).

You can find more details about what kinds of information to put in the processing pane on the Pandoc website. I’m not a “tech” person myself but have managed to figure out which of the commands are necessary for what I need it to do by reading the manual (and lots of googling). You can set the citation style you want to use by adding the command --csl ref/apa.csl (for example) in the processing pane.

By default, pandoc will use the Chicago Manual of Style author-date format. (You can override this default by copying a CSL style of your choice to default.csl in your user data directory.) SOURCE

Let me know if that helps! If you have further questions you can DM me and we’ll talk over email or so.


Clearly explained and very helpful, thanks! I now understand how the steps you describe fit into the Scrivener/Bibtex/Pandoc workflow. I don’t know when I’ll have the chance to test this out but I really appreciate your generous offer of help.

1 Like