Hello everyone, I'm Vidianos.
Today I'm going to show you
how I write and organize
my literature notes using Emacs.
I take my notes using Zettelkasten,
which you may or may not have heard.
It is about taking small atomic notes
and linking them one another
to create your so-called second brain.
Here is mine.
This is a graph of all the notes
I have accumulated the last few years.
It has various types of notes,
but we're mainly going to focus on
literature notes today.
Here are the contents of my talk.
We're going to start
with bibliography management,
which is how I take bibliography
from the web and import it to Emacs.
Then we're going to talk about
how I create literature notes
using a custom org-roam-bibtex template I have.
And after talking about that,
we can talk about how I write literature notes,
which is through annotating an article
using org-noter. Org-noter is a package
that allows you to annotate PDFs
using the Org format
and creates a supplementary Org file to your PDF.
Then we're going to talk about
adding the literature to your Zettelkasten,
which is a simple but important topic,
and how you can write permanent notes
based on the info you obtain from this literature.
Lastly, we're going to focus on
the organization problem
one might find when having a lot of literature
for an assignment or an article or something,
and how I have tried to solve this
with my package Zetteldesk.
This isn't the perfect solution,
but it is what I have, and I really like it.
Finally, we're going to talk about
how to compose the final article
that you want to produce
using this literature
with the technique described
in the rest of this talk.
So let's begin the talk
with bibliography management.
Zotero is the bibliography manager I use.
It is very simple to store articles with it,
and it exports to .bib,
integrating with packages
such as org-roam-bibtex and ivy-bibtex.
When researching, I typically find
a long list of articles from a search engine.
I open the titles which have interesting titles
through their abstracts
and save to Zotero those whose abstracts
are the most relevant to what I want.
From these articles,
I typically won't read all of them
because they're a lot,
but I will select a few,
once I have collected as many as I want.
Zotero acts as a way to store everything
that might be interesting,
while Emacs and my Zettelkasten
stores everything that is definitely interesting,
and I have read it already.
And then we can move to
how I create literature notes.
I set the default action of ivy-bibtex
to ivy-bibtex-edit-notes,
which will prompt-- which
with org-roam-bibtex-mode active,
prompts you for an org-capture template
when selecting something
if the node doesn't exist,
or takes you to the existing node.
And obviously you need to have this here,
to set the default action
that was already there
to a letter.
Then we can move to my org-roam reference template,
using org-roam-bibtex.
This isn't so complicated,
but it has some important stuff
I want to highlight.
Save it to the ref directory,
so I can remember where it is,
and it's classified as a literature note.
The file name is the cite key,
which is easy and small,
but the title is the actual article's title.
Give it a tag of the entry-type;
this is typically "article,"
but it's easy to sort things this way
because not all literature notes are articles.
And then give the keywords
that are given by Zotero, because why not?
Tags here are tags from Zettelkasten.
These are the links to
other files which are relevant,
but its initialization is empty, obviously.
And then this heading is where
all the magic happens.
The name is just not really so relevant;
I just needed something that made sense.
The properties are what matters,
and mainly this one here.
The ${file} attribute finds
the file of this specific literature
and makes sure that org-noter works
by default here.
As I'm going to show you in a moment,
this way [of] initializing the literature note,
org-noter works by default.
That's all, basically, for the template.
This is the point of the talk
where we reach the first demo.
This is about opening ivy-bibtex,
selecting an article I want to annotate,
initializing the literature note.
We can see that everything
is inserted in for me,
and if I open org-noter on this heading,
it opens the article, as expected.
I can read the article,
I can say I want to
annotate something here.
Obviously, annotation is not that simple as here,
but I don't really have the time
to actually annotate an article live.
But you can keep going, and it's a good setup.
Then close org-noter,
and let's go presentation again.
Moving on, this section is some stuff
about my annotation process.
As I said, there is not enough time for me
to actually annotate an article live,
but here are some things about it.
First, is that I annotate with org-noter,
which I absolutely love.
It is great for annotations
because you do them in org,
which is an amazing format
and gives you a lot of flexibility,
such as adding to the Zettelkasten,
being initialized by a capture template,
and other things.
But also, you don't need to look for
the notes inside the PDF,
which is a problem you can have
if you annotate on the PDF,
and it is very annoying in my opinion.
So I prefer having these notes,
and I can only focus on them,
but I can also see where they refer.
The other scenarios are not so good.
Annotating on the PDF,
you search for it,
and if you don't know which section it refers to,
then you need to look about it,
and that is very tiring.
Also, I am always annotating in English.
This is not my mother tongue,
but it helps me avoid
the necessary mental overhead
of translating while reading.
I want to pay attention to what I read
and not to translate stuff.
I will translate later.
And when finishing an article,
I write a mini-abstract myself,
which contains what I think about the article.
It doesn't need to be much,
it's usually like 3 or 4 paragraphs,
and it shows things that are useful in the article,
and what is mentioned that matters to me.
So I can look back at it,
and it is very easy for me to find
what I got from this article,
so where I will cite it on my actual project.
Then last thing you need to do
is add a note to your Zettelkasten.
This is very easy due to it being in an org format.
You can just have it in the org-roam directory,
which it automatically goes to,
and link it to other relevant notes,
which is its index
because everything in my Zettelkasten
(at least) has an index,
but also every other permanent note
whose contents are in one way or another
mentioned inside the article.
This way the article is in a network with notes
that are similar to it.
Then we move on to the second demo,
which is about a full-fledged literature note.
We can go on org-roam-node-find,
search for references,
go to this, and you can see
it is linked to other notes.
And here is the mini-abstract,
and here are my notes on it.
The last thing you need to do
when creating a literature note,
is obviously create permanent notes
based on what you read.
If you never create these literature notes,
you will never get new information.
So for your Zettelkasten to grow,
you need to create such notes.
This means that the subject you are researching
is not just literature notes
but has well-structured permanent notes,
which is what you will actually read.
You typically only read literature notes
to see what gets cited where.
What you will mostly read
is these permanent notes
that you create from this knowledge.
So finally we are at the last part of the talk,
which is about organizing literature notes.
And this is in my opinion
the most interesting part
because it is very unique.
It uses a package I wrote myself,
and it doesn't have as much usage
as the rest of the things I described so far.
So what is the problem you might find?
Indeed, if you read a lot of things,
you have a large collection of notes,
and it's not the only thing you will think about.
However, you do need to
justify everything with citations,
so you need to remember everything
you read in these notes.
You have done a lot of work,
but there is still a lot for you
to reach your final manuscript.
Except if there was a handy little way
to combine everything
and sort it in a very easy way.
Well, there is,
and I think it came out pretty well.
It's zetteldesk.el.
It was inspired by this quote here
from How to Take Smart Notes.
Sönke Ahrens here talked about a desktop,
which you have all the literature
you want in that desktop,
and you try to bring it in order.
And by doing that,
you can improve your ideas
and have a structure
so that your manuscript will then be
very, very easy to write.
And as I say here, in trying to do this,
I made something much more general
than it needed to be, so yeah,
you can use it for many other things.
But before I show you some things about it,
I want to introduce you to what a desktop is.
It's essentially a collection of the knowledge
you want to be able to see.
You add things to your Zetteldesk,
and using filter functions,
you only see these notes and nothing else,
which in my opinion is very handy.
So having said that,
we can see these things in action
for the final demo of the talk.
This is the third one.
I will go to an index file of mine.
This is 3D printing,
an assignment I had last semester.
And this has 28 backlinks,
so a lot of things that I looked at
for this assignment.
I can say I want to add
the current note's backlinks to the Zetteldesk,
and now I have a filtered version
of org-roam-node-find defined,
which only lists these 29 notes.
Very nice, right?
I can also filter just the literature notes,
which can also use other UIs beside org-roam,
such as, for example,
one I use a lot is the ivy-bibtex command.
This takes a lot of time,
much longer than the org-roam one,
but has them in this UI,
which in a lot of cases is more useful for me.
The other very important thing is inserting these.
For example, say I want to insert a permanent note,
such as this.
Its title will become a top-level heading,
and everything else will be inserted as expected.
But the most important thing for us
is inserting literature, right?
This is done with this command,
and let's say I want to insert this.
The title again becomes a heading,
and this is the article title also.
I store the cite key here,
and everything else about it is also here.
And I can add others,
for example, this and this.
And we have all of them here.
I see it says this is the basic,
so let's put it at the top.
And then maybe I want to put this last.
And this way, you can sort things,
and typically, on the other side,
I have a manuscript,
and I look at what order
I want to have things in
and sort the articles and the permanent notes
in a way so that each section can have
its own citations and its own notes,
which makes writing, again, very easy, in my opinion.
Finally, let's go to composing the final article.
This is our goal: we wrote and organized
all these literature notes
to put them in your final project.
This might be an assignment
or an actual scientific article.
It is apparent that you have done
a lot of work for this so far,
but you don't need to do a lot more.
In my opinion, this is the easiest part
of the whole workflow.
People consider final article composition hard,
but if you've done all these steps,
you already have everything you want
to add in the article from your notes.
It's already there,
a lot of things are copy-pasted,
it's all in a coherent order,
connections are to an extent already there,
and you know what citation goes where,
so you can justify everything you write.
The actual draft isn't there,
but it is very easy
because now you just write things as you see them
in your desktop and connect them.
Connections are basic--
connections and making the article good, obviously,
are basically the only thing you need to worry,
but those are very important
because others will only see the final manuscript,
so if that's not good,
then the whole assignment is not good, obviously.
So it's not like your work is done,
it's just very easy.
And with that, I hope you liked my talk
because it is coming to an end now.
I want to thank you for your time;
I hope you enjoyed it.
You can feel free to email me at this address;
it has also been on every slide since the beginning.
I also have the GitHub for zetteldesk.el here,
and I will be available for questions.
I will be viewing both the pad and the IRC
and will do a live Q&A after this. See you.
Actually, before I go,
let's show you the GitHub for zetteldesk.el.
Here's the README; if you're interested on it,
you can see more about it,
and also I have a very in-depth wiki about it
with 11 pages, and talking about everything
that happens here.
A lot of what we discussed is in this section
about literature notes.
These documents go a lot more in-depth
in how Zetteldesk works, and also how to use it,
so if you're interested, feel free to read them,
and if you have any problems,
you can open an issue about it;
I will be very active. Thank you.