Literature notes

Do you know if there’s an Emacs note-taking framework where filenames aren’t as important? (I’ve been using org-roam for years.)

In the Zettelkasten method, notes are meant to be short and often don’t have specific names or titles. For example, when creating literature notes, the idea is to jot down a new note on the spot for every idea that catches your attention in a source.

Putting all your quotes from a source into one note makes you want to arrange and harmonize them into a whole note, which goes against the Zettelkasten approach.

The two approaches to Zettel below, one from Jethro, one from Luhmann (via Ahrens), seem to be quite different:

For each source, I create one and exactly one zettel.

Luhmann never underlined sentences in the text he read or wrote comments in the margins. All he did was take brief notes about the ideas that caught his attention in a text on a separate piece of paper: “I make a note with the bibliographic details. On the backside I would write ‘on page x is this, on page y is that,’ and then it goes into the bibliographic slip-box where I collect everything I read.

Maybe, keeping one note per file reduces cognitive load and avoids cluttering your mind, making it easier to be spontaneous.

Maybe I was under the misconception that every new note should have a new note title, maybe because I always create new notes through the command C-c n f. Reading through Nodes with same title, told me there are other ways to create new notes that that can result into several notes sharing the same note title while still enforcing one note per file, and small files.

You can just use UUIDs for filenames, unless I’ve misunderstood something you’ve said and this is not what you want.

The filenames I use are all following the standard pattern 20241223090627-thoughts_about_literature_notes.org, so the filenames will always be different, that is not the issue.
The question is rather that with the key binding C-c n f I won’t be able to create 2 different notes with the same title, say “thoughts about literature notes”, similar to the some problem you seemed to have at one point.
I think I understand that the solution would be to use some “capture templates” for the creation part.
Then, for the part where you are trying to find a note, there is a suggestion in the same thread to use consult-org-roam.
In the same thread something else caught my attention, it was tags / org-roam-node-display-template.

when you use C-c n f:

you can type M- and that string you have typed will be sent directly to the template system. you can then select the template you want to use.

I assume you meant M-RET?
I type C-c n f “hello 123” RET.
Now I have a new note with title “hello 123”. I write a few things in it to identify it later. Then C-x C-s, C-x k.
Then I do C-c n f “hello 123” M-RET: it opens the already created file.

yes, this website ate the angle brackets around RETURN.

For me it does get me to the screen where I select my template.

Oh, that is because I am using vertico:

M-RET (translated from M-return) runs the command vertico-exit-input, which is an interactive byte-code-function in
‘vertico.el’.

It is bound to M-RET.

(vertico-exit-input)

Exit minibuffer with input.

[back]

I must have misunderstood what “nodes with same title” means, because all my experiments are consistent in proving that it is nearly impossible to create two nodes with the same title (my experiments were only about the case where a node is a file).

Note: I also use vertico, but the M-RET method, as far as I understand it, would only allow to create two nodes with similar but not identical titles.

When I searched the web, the only method that seemed to produce results that met the specifications was the one described here: org mode - How to programmatically create a new org-roam file? - Emacs Stack Exchange

(defun org-roam-fast-make-link (s)
  "Make an org-roam node with title S and return a link to it.

We eschew the usual org-capture approach for a fast, non-interactive result."
  (let* ((slug (org-roam-node-slug (org-roam-node-create :title s)))
         (filename (format "%s/%d-%s.org"
                           (expand-file-name org-roam-directory)
                           (time-convert (current-time) 'integer)
                           slug))
         (org-id-overriding-file-name filename)
         id)
    (with-temp-buffer
      (insert ":PROPERTIES:\n:ID:        \n:END:\n#+title: "
              s)
      (goto-char 25)
      (setq id (org-id-get-create))
      (write-file filename)
      (org-roam-db-update-file filename)
      (format "[[id:%s][%s]]" id s))))

Also, what might have made me think it was possible is Luhmann’s workflow, where he definitely uses a new sheet of paper for each new idea he wants to commit to the knowledgebase, including literature notes: having everything in the same file is really a different experience, in my opinion, even if we can use the “narrowing” functionality enjoyed by Emacs. Although I’m not sure it would even help, I’d still have to come up with a new title for every new idea, good luck with that.

Hum, the method described here: “you don’t need a title” seems relevant.

Sometimes the solution is right in front of you? We’ll see how it plays out.

In any case, it is about the Luhmann method and how it is quite different from the standard org-roam workflow.

It was from 2022. Please verify my statement with the current feature set. I am not certain anymore if the title is required now and not in front of my computer to verify.

In any case, you can diminish the significance of the title in many ways: eg, How can I create a random note with a random unique file name in one go?

But I am in favour of a meaningful title with multiple headings with different but related “notes” in a single file-node, especially in case of notes on the same article/book/chapter.

It is possible (I have done it many times with vertico and with file-nodes — for example, try adding ID to the file in your capture template) but org-roam-node-find may display only one of them — this may sound like a fine difference, but relevant here. You can create them but the list displays only one of them.

If you do org-roam-find-node and then something like ivy-immediate-done, it will create the node without a title – just the date/timecode. Other packages have the same functionality, perhaps even barebones Emacs. It is usually mapped to Alt+Enter. I use Vertico on Doom Emacs and that is Doom’s keybinding, maybe it’s the same elsewhere.

This all depends on the capture template - I think org-roam by default creates a time stamp on the file name

(("d" "default" plain "%?" :target
  (file+head "%<%Y%m%d%H%M%S>-${slug}.org" "#+title: ${title}
")
  :unnarrowed t))

Now if you want to create a node without any title - just change the title variable to the time variable too and just do press M-Enter in vertico for example, its very simple.

Now regarding the problem of a node having the same exact title. This is a limitation in the completion framework, vertico in my case, each item has to be unique ! It is not trivial to even design a system that behaves in an other wise fashion.


Digression

My views regarding the zettlekasten method - Lehman maintained an elaborate physical note system that spanned rooms, it was a physical method of storing information. I came across another systems theorist somebody who only maintained diaries, since teenage years till death, pages and pages of information written linearly. There is no one method of notekeeping and neither will following a notekeeping system make somebody a systems theorist.

There is a basic difference between storing information physically versus digitally, spatial distribution. The same tricks of physical systems wont apply to digital notekeeping imo. If you have too many files overly fragmented, your monitor would be a bottleneck in how many files you can see in one go.