An Opinionated Academic's workflow for using Org-Roam

The goal of this post is to document how I use Org-Roam suite of packages.

Note: My entire Org directory + All my papers live in Dropbox

Zotero + Zotfile + BetterBibTex Plugin:

I use zotero for file management. Moreover, I use the zotfile plugin to rename and save the PDFs in a folder in Dropbox. I have installed the BBT plugin to generate and keep updated a .bib file of all the papers in my Zotero.

Helm Bibtex:

I use helmbibtex in DOOM emacs to read the .bib file created in the previous step. I search for the file, and then hit tab to open the contextual menu and hit edit notes (f9).

This opens a capture template that is prepopulated with all the necesary information about the paper. Note: this also allows me to choose the PDF I want to use for note taking.

Org-Noter+ Org-Roam:

The next thing I do is M-x org-noter. Which opens up the PDF and the Note taking buffer in a separate window.

Short gif here

Then I use org noter to take the notes. You can look up the functionality of org-note here. It truly is an amazing package. The most often used shortcut for me is M-i. I have company-roam also installed which allows me to quickly insert links to existing notes - however, you can use insert roam link (SPC n i) to replicate the functionality.

Short gif here

Org-Roam-Server: I use org-roam-server to see the visualization of my knowledge graph, the clusters give me a visual cue to think about how else I can link the paper I am processing, and how it relates to others concepts that I might be interested in.

My Org Roam Server in action.

Moreover, Org-Roam-Server also has an enable preview feature and a buffer view which can make parsing the information you have a little bit easier once the whole knowledge graph gets too complex.

Buffer Mode with Previews

I hope the academics on this subreddit find this helpful. If you are interested, my config files are here on GitHub.


That’s great ! Same workflow for me :wink:

1 Like

This is awesome thanks for sharing this! It’s awesome to see other people developing a similar set up!

1 Like

org-roam-server looks great! Can it filter down to a subset of the graph and do a “neighbors n-hops away” selection?

Indeed, you can filter using roam-tags, and you can do n-hops away.

1 Like

How do you get org-noter to work with the the captured bibliography. When I try it it says “Invalid or no document property found. Please specify a document path:”

There should be a :NOTER_DOCUMENT: property of the headline. That property is what tells org-noter which file to use.

Please look at the config.el in my github to see how to configure this.

1 Like

Also note that if the file path is a part of a symlink, you have to set directory-abbrev-alist, otherwise your changes to the PDF documents, e.g. annotations won’t be saved.

1 Like