1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
|
[[!sidebar content=""]]
[[!meta title="Writing and organizing literature notes for scientific writing"]]
[[!meta copyright="Copyright © 2022 Vidianos"]]
[[!inline pages="internal(2022/info/science-nav)" raw="yes"]]
<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
<!-- You can manually edit this file to update the abstract, add links, etc. --->
# Writing and organizing literature notes for scientific writing
Vidianos Giannitsis (<mailto:vidianosgiannitsis@gmail.com>)
[[!inline pages="internal(2022/info/science-before)" raw="yes"]]
[[!template id="help"
volunteer="sebastian 2022-12-23"
summary="Q&A could be indexed with chapter markers"
tags="help_with_chapter_markers"
message="""The Q&A session for this talk does not have chapter markers yet.
Would you like to help? See [[help_with_chapter_markers]] for more details. You can use the vidid="science-qanda" if adding the markers to this wiki page, or e-mail your chapter notes to <emacsconf-submit@gnu.org>."""]]
Literature notes are a cornerstone of one's zettelkasten. Especially for scientific writing which needs to be based on bibliography, having notes on the literature you read is essential. Inspired by a chapter of "How to Take Smart Notes" by Sonke Ahrens - one of the best Zettelkasten books out there - which talks about the process of writing a scientific article, I crafted a heavily personalized workflow for writing and organizing my literature notes, which I wanted to present to you. Due to university, I have worked on assignments meant to simulate scientific articles and through them I refined this workflow to what it is today, which I am very happy with. I even wrote my own package for addressing part of this workflow, which will be a pivotal part of the talk. I have tried to not overcomplicate the talk, but a familiarity to zettelkasten and scientific writing is expected to get the most out of the talk.
This talk will focus on how Emacs has aided me in scientific writing and will cover how I use various packages for this. Featured will be: Org-noter, one of my favourite emacs packages which I use to annotate articles using org-mode while reading them. I will focus primarily on its integration with my org-roam-capture-templates and how it, org-roam-bibtex and ivy-bibtex work together to very easily create and flesh out literature notes for the articles I find, but I will also briefly mention how I annotate articles. Then, how I use org-roam to then take what I learned from this literature and create permanent notes on it which I can then add easily to my Zettelkasten. And finally, how I organize both literature and permanent notes on a subject using my own project, the zetteldesk package, and how I can very easily create a first draft of my work using this. With the draft created organically through my notes, it is then almost effortless to write the final work, as it consists simply of reading the draft, making small changes and fixes and perfecting it so it is a ready product.
## Links
- [Zotero](https://www.zotero.org/), the app I use for capturing
literature I find, which is unfortunately not in Emacs as I haven't
figured out a good way to do this from Emacs. (P.S. if you have a
good workflow for doing this from inside Emacs, I would love to have
a discussion with you because leaving Emacs annoys me).
- [Org-Roam](https://www.orgroam.com/), the bread and butter of almost
everything in my workflow. Org-roam creates my zettelkasten and is
the basis of the other packages here.
- [Ivy-bibtex](https://github.com/tmalsburg/helm-bibtex), the package
that allows Emacs to read .bib files and do things with them,
allowing for bibliography management in Emacs.
- [Org-roam-bibtex](https://github.com/org-roam/org-roam-bibtex).
Integration between the 2 packages listed above so I can easily add
literature notes to my Zettelkasten.
- [Org-noter](https://github.com/weirdNox/org-noter), the package that
does all the annotating. I can't take notes on an article without
org-noter, its just the best way to do it.
- [Zetteldesk](https://github.com/Vidianos-Giannitsis/zetteldesk.el)
my personal project which was inspired by making this workflow work
in Emacs. This package facilitates everything discussed in the last
part of the talk about organizing your literature.
## Bio
I am Vidianos Giannitsis, a 4th year chemical engineering student who loves to use Emacs. I have been using Emacs for about 2 and a half years and at this point it has become the most important part of my workflow. After seeing how awesome Emacs is, I was very inclined to learn elisp to truly customize Emacs to its limits. So I did, and at the start of 2022 I started working on a package of mine "zetteldesk.el". This package was inspired from "How to take smart notes" the well known zettelkasten book. I read something there and I was like, surely I can implement this in Emacs, can't I. And so I did.
I have watched EmacsConf for the last two years and I was interested in participating in it myself. Since I recently wrote a package of mine, I thought it was a good opportunity to make a talk of my own. So I made this talk about managing literature as it is something I believe I can deliver unique information and something I have worked on a lot recently.
# Discussion
## Notes
- Zettelkasten and zetteldesk
- <https://github.com/Vidianos-Giannitsis/zetteldesk.el>
- <https://github.com/Vidianos-Giannitsis/zetteldesk.el/wiki>
- Available on MELPA as well.
- Org-capture--pandocs into a note-taking format
- Karl Voit: Capturing HTML content from my Firefox is easy with
<https://github.com/kuanyui/copy-as-org-mode>
- Leo Vivier's personal email address is dude@suits-do-suit-me.fr
;-) Spam me!
- link to Leo's talk from last year:
<https://emacsconf.org/2021/talks/erg>
- Great talk, but I wish images in org mode would scroll smoother. It's a deal breaker for me. Does anybody know of a package that allows that?
- not sure but iirc emacs 29 has pixel-perfect mouse wheel scrolling instead for line-wise scrolling -- maybe that solves that?
- try M-x pixel-scroll-mode
- have you looked into org-ref and specifically doi-utils? It adds a command that will download a bibtex entry for a given DOI. It even downloads the article (if possible) or to attach at pdf to it.
- oh cool. what is the name of this package that scrolls an article? "org noter" "noder"?
- org-noter
- doctorhoo: I am using it quite intensively. The download does not work so often thanks to the journals making it difficult (I guess), but it is easy enough to add a manully downloaded one. The download of the bibtex (and assignment of a sensible key) on the other hand works very reliably.
- This is a great demo. Thank you!
- What is doing the org-mode presentation?
- its org-tree-slide-mode
- That was excellent. Thanks very much!
- wow that was really nice. thank you
- thanks vidianos
- oooh, dired icons
- Great presentation and a nice Q&A session
- For my part, I like seeing talks on zettelkasten !
- zettelkasten is exciting but I ended up doing something much simpler
- thank you again for a great presentation. very inspiring.
- From the speaker: I saw a lot of kind words while scrolling here to see if there are any questions. Thanks a lot everyone! Happy to be part of this conference
## Questions and answers
- Q:Do you use fleeting notes as well? Do you keep them in org-roam?
- A:<https://github.com/Vidianos-Giannitsis/Dotfiles/blob/master/emacs/.emacs.d/libs/zettelkasten.org#fleeting-notes>
- To document the answer I gave live I am adding a small
description of it here. I do use fleeting-notes which I manage
with org-journal. I have a custom function
(org-roam-init-fleeting-note) in the link above which gives the
note an id (makes it an org-roam note), gives it a todo value
and links it to my Current Projects node. This way, the note is
inserted to my zettelkasten. But, when the TODO value becomes
DONE I have a hook that removes the ID. This is the method I use
for archiving fleeting notes when they are no longer needed. I
don't use org-roam-dailies as I am not aware of a way to
archive them that is this seamless.
- Q:Does it work for PDFs only or can we use it for Word and Excel
files too? or epub, websites "eww" or videos like youtube?
- A:Leo says Org-noter does allow epub notes through an
extensions, and works with DocView for Office docs. Can also use
Pandoc
- Q: I used to take notes on PDFs similarly in org-noter, but the
recent Zotero PDF reader is also very nice. Have you looked into
integrating the Zotero PDF reader with org-noter?
- A: While the program is nice the author dosn't use it becouse
it is not emacs nor have emacs bindings
- Q:Great presentantion Vaidanos. Can you let us know your thoughts on
Zettlekasten's future?
- A: Zettelkasten has a great future because plaintext will never
go away
- and orgmode is open source with a vibrant community. Leo
adds: Zettelkasten popularity shot up big in 2020.
- Q: Have you found a way to get a nice "overview of multiple notes"
to re-arrange them? Like physically putting many small notes on a
table and re-arranging them?
- A: Original goal of speaker's new package Zetteldesk.el is to
get notes
- in a table and organize them. The idea is to use the
Zetteldesk as a scratch buffer. But making it graphical would be
hard. (do check the 3rd demo of the talk if you haven't
already at 11:10 mins)
- A: The Koutliner in the GNU Hyperbole package can be used for
this where all notes would be organized, autonumbered and
automatically have a per-file unique hyperanchor ID. You can
move notes/ideas around the same way you do in Org outlines.
Besides collapsing and expanding trees of notes, you can also
clip the view to a particular number of lines per note for
overviews. It supports Org tables too.
- Q: Following up on the previous question, it seems difficult or
impossible to do with emacs rendering, but perhaps with similar
strategies as org-roam-ui one could get a Zooming User Interface for
manipulating the notes on a big canvas. This is a FOSS prototype:
<https://jermolene.com/cecily/> and this is a SaaS (proprietary)
one: <https://www.napkin.one/>. What are your thoughts on this? Do
you think it makes sense with your workflow?
- Q: Can we use Zettlekasten for coding too? Especially when using
IDEs like Visual Studio and Excel?
- A: Not sure, speaker is not in coding beyond Emacs Lisp and
MATLAB. But he thinks it should be possible. Don't think it
breaks the principles of Zettelkasten, can make notes for
concepts. Leo confirms that note taking can be useful for
programming and problem solving. Leo says code could be good for
Zettelkasten "atomizing".
- Comment from Karl Voit: I'm not using Zettelkasten myself but
when I code, I'm heavily relying on my personal knowledge base
which also includes Python snippets and sources (in my case) as
I'm not a frequent programmer. So I forget the most basic stuff
from one session to the next when there are weeks/months
in-between. In the same fashion, a knowledge-base realized with
a Zettelkasten is something that helps you here, producing
better code and remembering previous
patterns/tricks/sources/...
- Q: will your zetteldesktop.el be available in elpa?
[[!inline pages="internal(2022/info/science-after)" raw="yes"]]
[[!inline pages="internal(2022/info/science-nav)" raw="yes"]]
[[!taglink CategoryZettelkasten]] [[!taglink CategoryOrgMode]] [[!taglink CategoryOrgRoam]]
|