How to write an atomic note

The question is not about how to use org-roam, but wonder how you guys write an atomic note? With atomic notes, we could link easily, as said here

Or in other words, how you guys define atomicity? Seems that both book of ahren and zettlekasten website did not discuss deeply about this question.

1 Like

Great question.

Keep in mind I’m pretty new to this too.

For me, when I start to think about adding multiple sections, that’s no longer atomic.

So I break into separate files.

If I want to reassemble them, I add a index/structure/hub note (we really need settle on one name for them) that links to the atomic notes.

Your criteria could be fluent when writing notes, but could be hard to retrieve info when searching through the graph(I guess).

Only if I was reckless with defining the title, I think.

@leekeifon @bruce
For information, now it’s possible to search through the graph by tags (#+ROAM_TAGS variable on the top of document). As a result, multiplying small notes is less of a problem if you fill in tags each time.

This functionality is quite useful for me. But I just limit to use it to categorize fleeting notes, literature notes and permanent notes so far.

I am asking myself just the same thing!

I am trying to implement the Zettelkasten method in my research in physics.
The problem is that it seems quite hard to separate an idea to atomistic units.
Every time I am writing a note, it continues to grow, and gets out of hand.
Are there some good tips in how to keep things minimal and well separated into different notes?

1 Like

I myself might not have an appropriate method to guide you. But what’s in my head is that, when learning (especially math/physic), understanding on concepts are the most important stuff. So, it seems that the concepts, arguments(or said theorems/results that has a clear prove structure), assumptions and examples that help you understand the concepts, can be considered as basic type of your atomic notes.

1 Like

I guess that the main problem for me is that many times, just to set the ground, you have to put it definitions and equations that require a lot of words.
Even writing an example is usually word-consuming.
When I have a particular idea about something - I find myself first laying out all the things needed (definitions and formulation of the problem) and only then I can write my idea.
I guess that there are ways to do it better and I just did not find them yet.
I looked on the web and did not found yet someone sharing his note-taking method of sciences like math and physics…

Your procedure seems good to me. The count of words may not be the correct judge on the “atomicity” on the note. The proving procedure can be quite long and taking into account for quite a lot things and links can be the best tools for you to spilt things out(if necessary). Maybe spilting the proves into several milestones(or said several key arguments) and each process to one milestone may consume you a note, which is somewhat like a structure note(or said hub notes) as it might take into account a lot concepts and arguments together with logics between them. And the definition of “milestones” here might differ from one and other.

1 Like

My approach is laziness, in the computer science sense of the word. Suppose I’m writing a note called “optics in Haskell”. That note can grow to any conceivable size, enormous, no problem. But as soon as I want something I’ve written in that note to have a second parent, it gets reified into its own note.

For instance, suppose I have a note called “implementationso f prisms”. While I’m writing the “optics in Haskell” note, I start writing about the way Haskell’s Lens library implements prisms. I realize that I’d like to be able to link to that information from the “implementations of prisms” note.

That impels me to create a separate “how the Haskell Lens library implements prisms” note, which both of the previous notes link to.

This is lazy in one sense, but not in another. Every time I write anything, I have to consider (this is immediate evaluation, as opposed to laziness) all the contexts that I would like to be able to find it from. If there’s only one context, it’s the note I’m currently writing in, and I don’t have to do anything beyond write it. But if there are multiple contexts, I have more work to do:

If any of the contexts the data belongs in does not exist, I have to create it. For each of those contexts that does exist, I have to find it. Then I have to break the thing I was writing out into its own dedicated note. Last, for all of those contexts (new or old), I’ve got to create the link.

It’s safe, in the sense that if I do it right I can always find something later. But it’s not fast: the linking described in the previous paragraph is laborious.


I have been thinking a lot what exacly constitutes a note. Last night I just stumbled on Andy Matuschak’s excellent “notes about taking notes”. They are online and can be read here:

I cannot recommend these high enough. Andy lists his Taxonomy of note types, describing how his permanent notes (he uses the term “evergreen notes”) are in different stages of developent. The key to me whas his explanation of writting precise, narrow declarative notes in which the title of the note is a complete phrase that encompasses the “idea” of the note. His example: “Human channel capacity increases with stimulus dimensionality”. The size of the note in characters is not that important.

After reading Andy’s notes, I think I finally have a clear idea on how to implement my zettlekasten. Very exciting times!


Do we know what he uses to create that web content? Roam?

His theme could be achieved by some open source theme, but I am still figuring out how to integrate this into org roam

I think it is is own system.

Seems it’s more complicated than just a “theme.”

Maybe or-server could be extended along these lines, with essentially a non-graphical view.