Cite Papers in Obsidian Notes | My Note

Cite Papers in Obsidian Notes

Updated: Oct 10th, 2023

My Requirement about the academic workflow on Obsidian: The gif below already demonstrates my requirement for the academic workflow in Obsidian. It primarily focuses on quick citation and quick access. I have noticed that many people desire to sync notes and highlights from Zotero to Obsidian. However, I want to clarify that I do not need this feature because I believe the merging process is prone to errors and is unreliable.

An Overview of My Setup

Show Case

This gif shows how I can easily cite a paper and quickly access the corresponding document, such as a PDF, using this citation. A Zotero link is available in the popup panel, allowing me to open the PDF with just one click.

no title picture

no title picture

I also want to differentiate the citation in Obsidian from a normal note link.


Configuration Overview

  1. I use zotero-better-bibtex to export the data of my Zotero library to structure json file.
    1. Better CSL JSON (used by obsidian-citation-plugin )
    2. BetterBibTex JSON file (used by Bibnotes )
  2. obsidian-citation-plugin : to quickly cite the paper by citekey.
  3. Bibnotes : to generate markdown-based paper note file , with citekey as filename.
    1. Markdown notes generated by Bibnotes has more information, such as zotero link.
  4. obsidian_supercharged_links : to make the citation look differently

Zotero Setup : Export Your Library

Step 1: Install zotero-better-bibtex in your zotero. (I think most of the zotero users are already installed it)

Step 2: Export your zotero library with Better CSL JSON JSON format. I recommend to turn on the “keep updated” options so that Zotero can export this json file automatically. When Zotero inquiry where the exported json should be saved, it is better to save it in Obsidian Vault.(I save it in ${VAULT}/9Resources/unindex/Library.json )



Step 3: Export your zotero library with BetterBibTex JSON format. (I save it in ${VAULT}/9Resources/unindex/BBTLibrary.json)


Cite Paper in Obsidian

Now it is time to configure the Obsidian ! This part we use obsidian-citation-plugin Obsidian Plugins to manage the citation.

Once we have installed this plugin in Obsidian, we need to configure some plugin options. The details of each option can be found on the settings page, so there is no need for me to explain them again. Here is a picture of my Citation plugin setting.

Here we set the Literature note folder with ./9Citations/papers, where we will put the notes generated by Bibnotes .


I set the primary citation template. (Is that the default setting? I forgot.)


In addition, I set a shortcut ⌘ + R to cite the paper.


Though obsidian-citation-plugin can generate the markdown notes, the CSL JSON it used do not have enough information for me, such as Zotero URL ( by which I can open the pdf directly !). So I only use this plugin to cite the paper, and use Bibnotes instead to generate markdown notes.

Now you can cite the paper this ⌘ + R shortcut quickly !

Generate Markdown Notes in Obsidian

This part we use Bibnotes Obsidian Plugins to generate a simple note which include information to help me quickly access the paper in the Zotero.

Here is a picture of my Bibnotes setting. The Export Path should be the same with the Literature note folder setting in the citation plugin setting.


And this is my Template for paper note, it only include some basic and key information for me. You can also customize it to fit your need.

If everything are configured correctly, you can use the Bibnotes: update Library command to generate the markdown notes.


Here are my notes:


Customize the Style of Citation

Finally, we can change the style of the citation.

Step 1: Install Supercharged Links Obsidian Plugins

Step 2: Add css in your Obsidian Vault, in your ${YOUR_OBSIDIAN_VAULT_PATH}/.obsidian/snippets, add this css. You can also access this css folder from Setting -> Appearence -> CSS Snippets


Step 3: Go to the setting Setting -> Appearence -> CSS Snippets and turn on this css.

We’re done!

Instead of authenticating the giscus application, you can also comment directly on GitHub.

Notes mentioning this note