summaryrefslogtreecommitdiffstats
path: root/2025/talks/reference.md
blob: fae774390da479736628db33b00f4afe278e08af (plain) (blame)
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
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
[[!meta title="Emacs as a fully-fledged reference manager"]]
[[!meta copyright="Copyright © 2025 Vidianos Giannitsis"]]
[[!inline pages="internal(2025/info/reference-nav)" raw="yes"]]

<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing -->
<!-- You can manually edit this file to update the abstract, add links, etc. --->


# Emacs as a fully-fledged reference manager
Vidianos Giannitsis (he/him) - IRC: vidianos, <https://github.com/Vidianos-Giannitsis>. Vidianos Giannitsis on LinkedIn <mailto:vidianosgiannitsis@gmail.com>

[[!inline pages="internal(2025/info/reference-before)" raw="yes"]]

Even though all of my note-taking and literature organization
infrastructure has been in Emacs for a few years, I haven't been able to
make myself independent from a literature manager (Zotero in my case)
until recently. Zotero was just too convenient. You can capture articles
seamlessly (although downloading attachments didn't always work as
intended), organize them in directories and take a quick look at your
lists to determine what to read next, before you move on to actually
reading them and taking notes.

This year, I finally decided that I am tired of this and I will find a
way to do this fully in Emacs. This talk will be discussing my findings
in this regard. A lot of this was built in Ebib. It turns out that a lot
of what I considered useful for this workflow was already available
through this excellent software, built inside Emacs. Not everything
worked as I wanted on installation, but naturally, this is Emacs, so I
just hacked my way through getting the exact behaviour I wanted. This
required integration with other tools and especially a closer
interaction between Ebib and Org-roam. This came out incredible and I am
now very happy with using it, so I thought I should also showcase it in
EmacsConf!

With this integration ready, only capturing articles from the web
remains. Zotra can capture articles in a way about as seamless as
Zotero's (it actually uses Zotero's translators, but from Emacs).
Attachments remain a problem sometimes, but that's publishers making
attachments hard to get because third party software can't see that you
have full access to them, so I have decided to do those mostly manually,
I often did that with Zotero anyways.

Relevant links:

-   [Zotra - Capturing Articles](https://github.com/mpedramfar/zotra)
-   [Ebib - Organizing literature before and after reading](https://joostkremers.github.io/ebib/)
-   [Org-Roam - The missing link to create an effective reading list](https://www.orgroam.com/)
-   [Bibtex Completion - Useful tools for manipulating literature](https://github.com/tmalsburg/helm-bibtex)
- [Ebib section of Dotfiles/emacs/.emacs.d/libs/zettelkasten.org at master · Vidianos-Giannitsis/Dotfiles · GitHub](https://github.com/Vidianos-Giannitsis/Dotfiles/blob/master/emacs/.emacs.d/libs/zettelkasten.org#ebib)

About the speaker:

I'm Vidianos and I'm currently doing my PhD in KU Leuven in Belgium.
Working on research means I have a need for good tools to help me with
my research. I have been using Emacs for roughly 5 years now and I can
confidently say it is the number one tool that helps me with this
research. This talk will be all about how it helps me and about finally
being able to remove external reference managers from my workflow,
something I have wanted for years, but that I haven't managed to do
before this.

## Discussion / notes

- Check out the ebib manual for an explanation of the features I
  showed and more!
  [https://joostkremers.github.io/ebib/ebib-manual.html](https://joostkremers.github.io/ebib/ebib-manual.html){rel="noreferrer noopener"}.
  - Also my ebib config for the custom things
    [https://github.com/Vidianos-Giannitsis/Dotfiles/blob/master/emacs/.emacs.d/libs/zettelkasten.org#ebib](https://github.com/Vidianos-Giannitsis/Dotfiles/blob/master/emacs/.emacs.d/libs/zettelkasten.org#ebib){rel="noreferrer noopener"}
- My 2022 talk if you're interested in the rest of my workflow
  regarding scientific literature
  [https://emacsconf.org/2022/talks/science/](https://emacsconf.org/2022/talks/science/){rel="noreferrer noopener"}
- Use link to directly download bib info to the library is cool. I
  always did that manually.
- The reading list, for me every download item will directly inside a
  manuscript.

- Q: Which version of \`org-ref\` you are using? I am so dependent on
  org-ref and org-mode, so that I had huge resistant to update
  \`org-mode\`, \`org-ref\`, \`ivy-bibtex.el\`, etc
  - A: I'm not sure how recently I updated, so it may not be
    master, but I generally try to keep up to date with the packages
    I use. I generally haven't had many problems, unless when there
    is a new major version, which may need an afternoon to confirm
    everything works.
    - Thanks for sharing this.
- Q: Have you try ivy-bibtex/bibtex-completion.el, how it compares to
  ebib?
  - A: I think they are not mutually exclusive. I typically use
    ivy-bibtex to find an article quickly, to initialize a
    literature note (integration with org-roam-bibtex) or to add a
    pdf to the entry, where it will automatically rename it as it
    should. ebib is more of a tool to manage the .bib file more,
    find an entry with full text search (instead of just
    Author/Title search) and reading list management. There may be
    some overlap, but I use both a lot.
    - Got it, quick check with ivy-bibtex etc.
    - ebib is for heavy lifting for academics
- Q: Do you find showing abstract on your navigation panel helpful? I
  always delete all the abstract info in my bib to make things little
  concise. Just want to know you thoughts on this.
  - A: I like showing the abstract. It can be long and reduce
    visibility, but the whole point of searching with the navigation
    panel inside ebib is that I cannot easily find it through an
    Author/Title search. Therefore, the abstract is often the next
    line of search where you will find what you were looking for, so
    for me it is helpful. I sometimes also use the small comments I
    leave on the annote entry for this purpose.
    - Try to find relevent info using search. Abstract helps you
      search better.
    - annotation entry also help
- Q: it seems that there's a meta problem here:  too much
  information.   Do your tools reduce cognitive load?
  - A: There is definitely too much information, but that is an
    innate problem of handling a lot of literature. I think these
    tools can reduce cognitive load, because things don't stay in
    my mind. They can be moved to the computer, which can handle
    more overload than my brain. So it is to a large extent the
    externalization that reduces the load, because too much
    information is a reality with literature.
  - thanks.  Sounds like externalizing the problem is the point.
- Q: When you download a new article, how do you integrate its file to
  your database? For example, do you move and rename the file
  manually?
  - A:Find the file in ivy-bibtex, run M-o, select l (add PDF to
    library), find from file (f), find where you saved it and it
    will be renamed automatically. It is not moved automatically,
    but the rest of my packages know to find it in the folder I save
    initially. You may look at the README of the package for more
    details, it is one of the more well written ones in my opinion
    ([https://github.com/tmalsburg/helm-bibtex](https://github.com/tmalsburg/helm-bibtex){rel="noreferrer noopener"}).
  - Ok, I see, Ivy-bibtex has a function for this, thanks!
- Q: What about annotations with ereaders. veiwng and taking on emacs
  or erader touchscreen highlighting and notes, org-noter I think
  would be an alternative out of ebook anotation alternative?
  - A: I do not use an ereader. For touchscreen, I have a tablet,
    which runs Emacs natively and I can work with org-noter with
    touch, but in that case, nothing in the general workflow
    changes. For books, I know org-noter also works with epub files,
    so you can also directly take the notes there. If you use an
    ereader for annotating that doesn't run Emacs, this is
    obviously more complex.
- Q: How well do you feel about making notes an web sites, pdf,
  videos, I know pdf is ussaly good but others I am less sure about?
  - (Not the author) i always try to convert it to pdf, so only one
    file format to worry about. Video is another story.
  - I agree with the above comment. PDF is just the easiest to deal
    with in general, so I try to go for it. For taking notes on web
    sites, there is org-roam-protocol
    ([https://www.orgroam.com/manual.html#org_002droam_002dprotocol](https://www.orgroam.com/manual.html#org_002droam_002dprotocol){rel="noreferrer noopener"})
    although I personally don't use it a lot. Video is much more
    complex, but in practice, I tend to not annotate videos
    directly, with a timestamp, but rather to take crude notes on
    paper during the video and organize them online at a later
    point.
- Q: how do you add a new article from scratch, a pdf that you did not
  have in your bib file? How do you generate the 'bib' entry with
  metadata and abstract?
  - (Not the author) He mentioned he uses Zotra, which does that.
    [https://github.com/mpedramfar/zotra](https://github.com/mpedramfar/zotra){rel="noreferrer noopener"}
  - Yes, this is my approach. Specifically the function
    zotra-add-entry.
- Q: When you fact check every details for a bib entry? The author
  names, published journal, doi stuff. Always painful for me when I
  need to upload a final version of a manuscript. Tons of work. Maybe
  I can do it at the download step.
  - A: I haven't worried about that, because I think automatically added
    bib entries work well. But Org-ref has a tool to automatically check
    it. I generally think it is best to do it directly when you add
    them.
  - [https://github.com/jkitchin/org-ref/blob/master/org-ref-bibtex.el#L119](https://github.com/jkitchin/org-ref/blob/master/org-ref-bibtex.el#L119){rel="noreferrer noopener"}
    - Yes, i did it manully, so some time I have issues.

- Comment: I just use Org headings for all the metadata. Why bother with bib files.  https://0x0.st/Kvbi.txt
  With Org, you can search through notes and title and metadata together. I use org-ql, but you can use anything that can search Org headings. And use attachments.  can also directly export to .bib from org. with headings, reading list is just natural - assign todo to heading
  - A: You can move this all to org, yes, but I think .bib is very ubiquitous and a lot of tools work well with it, so I haven't really felt the need to move away from it. It is an interesting approach though. I have seen some others use it as well
  - A: Making a reading list is easy indeed. The primary goal of my additions were to be able to manipulate it without ever worrying about the file itself. I find it works better/faster for me if I can always access the content I want without opening the file. Which is mostly what the code I wrote for this does.
- I noticed that his command searches are automatically prefixed with "^" to prevent more generalized matching (e.g. all comands that have "copy")
  - A: I believe that is done automatically by counsel-M-x. It served for something, but I don't remember exactly why.
- Q: for viewing pdfs, do you use pdf-tools? I always found it clunky imo.
  - A: Yes, its pdf-tools With org-noter to take notes side by side. And I haven't had any problems with it. It generally works well.
  - (audience): I tend to always call out to the external PDF viewers.
  - (audience): maybe I didn't try it well enough, but I just prefer external viewers.  pdf-tools feels like an image viewer to me
  - A: Some external viewers can have more features, but again, the problem comes down to it not being Emacs :D Being in Emacs is better than not being in Emacs.
  - A: Are you sure you are talking about pdf-tools and not doc-view? Because those problems are very much in doc-view, but I wouldn't say for pdf-tools.
- It's always interesting to watch other people work in their emacs environment.
- Thanks for the talk! There was a lot to digest, I'll have to rewatch it.


[[!inline pages="internal(2025/info/reference-after)" raw="yes"]]

[[!inline pages="internal(2025/info/reference-nav)" raw="yes"]]