BibTeX Plugin

A great suggestion. I think this can be developed as a separate plugin. What do you think?
Also, what if the number of references is big, say 50? Do I have to open 50 notes for every reference? Why not just open a single note for the entire file? And also you have to solve the problem of the markdown because, clearly, BibTeX != Markdown.

Mmmh...I'm not sure about that.

Basically, such a plugin will have to be able to 1. Read a CLS JSON/.bib file, 2. Extract some info from it to put them into notes, and 3. Watch for changes in this file. Since those 3 functions are going to be in the BibTeX plugin no matter what, I deem it a bit redundant to implement them in another plugin. It could, however, become an update to the plugin in the future ?

In my idea, the plugin would create one note per reference, hence 50 notes for 50 references. The notes can be left empty, of course. However, I think that 1 reference = 1 note would be crucial to search and retrieve them faster, especially thanks to the keywords associated to them in the CLS JSON/.bib database that could be transformed into Joplin tags.

1 Like

Ok, that looks good.

I also think replacing zotero is probably a bit an overkill for this plugin and might be better with perfect workflow integrations, like plugins for both. Maybe a future version or a different plugin could directly read from zoteros sqlite database or via its api. For me the newest beta version already improved pdf annotations. Need to see if/how I will include those annotations.

I don‘t know if importing a full BibTex file is something I‘d want to do, as I am not taking notes on every reference I have. Though, I hope this Plugin will help me to improve this.

Maybe a comparison of unique citekeys would be a solution to handle that, as already mentioned by @Klemet . It could simply add the new entries to a literature notebook with the citekey as note title.
Maybe also something like a specific batch import function could handle this task? I think a possibility to set up a note template would be very useful for these use cases. The obsidian citation plugin I mentioned previously handles this task nicely.
I think there are multiple solutions to handle these diverse use-cases, as there‘s a plethora of different workflows and preferences. A possibility to switch certain workflows on and off could be a solution to handle all these needs. Maybe an important point here on your coding would be to make it as easy as possible for others to contribute additional functionality to your plugin in the future.

Looking forward to hear your thoughts about this.


Yes, I'm not gonna replicate Zotero because that's an overkill as you stated. The purpose of the second question in the survey is to know what reference management tool is mostly used to try to be as compatible with it as possible.

Regarding that, there are no worries. At the end of the GSoC program, you will see a fully functional, well-documented, and well-tested plugin that can be extended as needed with ease.

1 Like

same thoughts here. I wondering what is the minimum requirement and at what stage, we have to say, please use Zotero.
That would be required that you can switch seamlessly between the apps. This could be the better approach. Any app should to what it can do best but ensures that seamless switching between apps is possible.

1 Like

I would love to have a close integration with Zotero, but perhaps that is out of scope for a BibTeX plugin. But I will write down my thoughts about it anyway :smiley:

If you look at the Roam Zotero-plugin, this offers a really great integration between Roam (another note-taking app) an Zotero. It uses the Zotero API and of course that enables many features that are not possible just with BibTeX.
But I love @dimi-huer suggestions to have a closer integration with a reference manager, similar to the Obsidian plugin that is based on BibTeX as well. (I think for many Joplin users that is Zotero as it is the most popular Open Source reference manager. I would love to get the results of your questionnaire @xUser5000). I think two basic features are essential for that:

  1. Usage of Zotero URIs for references in Joplin, no DOIs or similar.
  2. Create a note a an individual reference. But this shouldnt be an automatic process for every paper/book etc. in my BibTeX file, because that can be far to many. These notes should be created via a menu, directly linked to one Reference and have a specific template which includes the metadata and space for notes.

The second feature could be done manually by the user as well, especially with the coming templates plugin, but transferring all the metadata would take a lot of time. Another advantage is, that you can not accidentally create two notes for the same reference. For my workflow it is also beneficial that a Joplin notes "represents" one reference because I am using backlinks and a knowledge graph, which is much easier to realize with links between Joplin notes.


Could you please look at the Devlog and give me your suggestions?

there is a markdown plugin for Zotero that you can use to export all your Notes (including your annotation Notes) in Zotero to Markdown, it can also export your Items if you like, and it is template based, so you can format the MD files as you like.

Hi @xUser5000

I wanted to thank you again for this very useful plugin. I use it often! Do you think it would be possible to integrate more finesse in the creation of links in Joplin. Currently, if I insert a reference in Joplin, it includes a link to the URL of the reference. I would prefer to link to the reference in Zotero in the format zotero://select/library/items/DQDQF2TZ

Of course, my idea is not that this should be the default behavior but that you can choose this option in the settings. Many people here use Zotero (and Zutilo) I think to manage their bibliography.

But I don't know if you still have time to work on this project... :thinking:


I just wanted to thank @xUser5000 for this great plugin and to share my method to use it with Zotero. I am only interested in the feature of creating reference lists for now.

I use the Zotero plugin Better Bibtex. I have seen it mentioned in another post but I don't think that it was exactly for the same goal. Sorry if it is redundant.

I have exported my Zotero library in the better bibtex format (not bibtex) and made sure to check the "keep updated" box. I then copied the link to this export in the BibTex plugin of Joplin and that's it. The library is kept up to date. There are some bugs (e.g. the year is correctly reported in the citation and reference list but not in the search box) but nothing major so far.
Hopes this helps.


I do the same (I use Better BibLaTeX not Better BibTeX for export though) and I also noticed the bug where the year was wrong in the search box.

1 Like

I actually just noticed that using a csl file generated on the Zotero file repository breaks the feature making a reference list. Has anyone found another resource to generate a csl that can be used with the BibTex Plugin?

I post again in this thread about another bug as I am not sure where else it can be done:
Some references do not appear in the plugin interface (when calling the plugin to insert a reference in the text).

So I have 3 questions :wink:

  • Has anyone an idea about a possible fix?
  • Is the BibTex plugin still maintained at all?
  • Is reference handling included in the development plan of Joplin?

For the latter, I tried Zettlr after seeing one of the post of this thread and the integration with Zotero works very nicely. I kept using Joplin as I prefer a number of other features but having the possibility to add references reliably would be huge plus.


Thank you for this fantastic plugin! It is an essential addition to Joplin for writing and processing them further for scientific publications.

I have several suggestions to improve the plugin. (But please keep in mind that I am not a programmer. Therefore, I do not know if my proposals are easy, difficult to implement, or feasible.)

  1. Using standardized short references from the CSL file

Instead of inserting the BibTex Code, I suggest using the short reference as it is defined as the standard way to reference literature in the CSL file.

For instance: Instead of using @arnold_humanities_2016, please use (Arnold & Tilton, 2016).

The proper complete reference for this example in APA 7th ed. is already displayed correctly in Joplin under "References" in the Rich Text Editor (Thank you!):
Arnold, T., & Tilton, L. (2016). Humanities Data in R: Exploring Networks, Geospatial Data, Images, and Text (Softcover reprint of the original 1st ed. 2015 Edition). Springer.

  1. Link to the complete reference in the note, not to Google Scholar

Again this is the standard way of writing a scientific paper. It would be nice to have a backlink from the complete reference, but I do not know if this is feasible.

  1. Allow for localization

If I am writing some articles in German, I would like to have "Literatur" or "Bibliografie" as the header in the Rich Text editor instead of "References". Maybe the best way would be to have a preference setting for the content of this header.

  1. Help users to find their BibTex and CSL files with file dialog windows

Maybe it would be helpful to copy this file under the Joplin User Profile folder so that Joplin would synchronize it?

Hopefully, you have time (and pleasure) to consider these suggestions.

Added 2022-07-28

I want to add some new thoughts I came up with:

  • My suggestions in the previous post are related to the Markdown Viewer (not the Editor). But even though they have no relevance, if you are going to export your notes for a professional (latex-based) publishing tool.

  • In that case, the only important thing is the BibTeX Code that should work in the publishing software so that the reference manager of the publishing tool could get into contact with the bibliographic data.

  • The ideal solution would be a complete integration of Zotero with Joplin, requiring writing a Zotero plugin. I think in the long run, this is the way to go!

In the meanwhile, I suggest the following workaround using the BibTeX Plugin of Joplin:

  1. Download the Better BibTeX Plugin for Zotero as @ocns has already suggested and use for the export the option "Keep updated". (See image)

  2. Check the format of the BibTeX Code your publishing tool is using. (Often, professional tools use the [Pandoc Syntax].)(Pandoc - Pandoc User’s Guide). In my case (RStudio/RMarkdown), it is the syntax author (in lower case) + year.

  3. Set the Better BibTeX configuration to meet the same syntax when exporting references for the Joplin BibTeX plugin. You can find the Better BibTeX syntax here.

See the screenshot:


Hello! I just started to use the plugin, but unfortunately, I am getting an ENOENT error on startup. The error goes:

Error: Could not open some files: ENOENT: no such file or directory, open 'path/to/bibfile.bib'

This error occurs even if I have not specified any path for the bib file.

I simply wanted to know if anyone else is experiencing this as well, and if so, how does one go about solving it :slight_smile:

I think this only happens if there is no path specified to a .bib file?

1 Like

@oddlyaware is right. I had the same issue until I put in the path and file. You need the file path and the file.

Im sorry to sound dumb. I just installed the plugin I have the same error. I can see in the config a place where I'm asked to profile a path to the .bib file that apparently deosn't exist.
I looked it up and made a dummy bib file to try and get started.
Now I have no idea how to create a path to the bibtex file whn I place it no dropbox along with the data. I assume thats where it needs to be if all my devices are to share it.
How do you reference the remote dropbox anyone?
Thanks in advance

Does anybody get the reference list printed on the pdf after exporting a note? It doesn't seem to work on my version despite the reference list being visible in the rich text panel. Thanks in advance