[[!meta title="Org-Mode Workflow: Informal Reference Tracking"]]
[[!meta copyright="Copyright © 2023 Christopher Howard"]]
[[!inline pages="internal(2023/info/ref-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. --->
# Org-Mode Workflow: Informal Reference Tracking
Christopher Howard (he/him) - IRC: lispmacs, <mailto:christopher@librehacker.com>
[[!inline pages="internal(2023/info/ref-before)" raw="yes"]]
This talk describes my Emacs workflow for keep track of references to papers,
book, and Web articles, and other things I might want to look-up or quote
later. I go over a few code snippets and some basic org commands which make
the process quick, easy, and practical for my needs.
This talk is targetted for the beginner to intermediate Emacs user, or those
who do not have much experience with org-mode. Also, those who do a lot of
advanced technical writing should look instead to Vidianos Giannitsis' talk
[Writing and organizing literature
notes for scientific writing](https://emacsconf.org/2022/talks/science/) where they will find better tools for reference
tracking and scraping.
About the speaker:
Christopher Howard is an electronics technician who studies various scholarly
and scientific subjects in his (very limited) spare time. He needed a quick
and easy system for keeping track of various references to books, Web
articles, and so forth. He found that a few code snippets and some basic tools
from Org-Mode have worked well for him, while requiring a minimal setup and
learning curve. He hopes that sharing his workflow will be useful to some
others with similar needs.
# Discussion
- Q: Is the emacs config for the system in the last talk published?
- example code: <https://bpa.st/UXBQ>
- I didn't mention it in the video, but I like also to use
org-mode's attach feature to sometimes attach documents to the
references.
- Try this for inserting link:
<https://xenodium.com/emacs-dwim-do-what-i-mean/>
- I use (ivy-bibtex &optional ARG LOCAL-BIB) but never hacking tag
system, this something I can improve.
- The current talk shows that most of the time, the already included tools in Emacs allow for custom workflows without needing to use external packages (org-roam, etc.). Of course, the latter are great for richer workflows, but core Emacs is often enough.
- do you know about the org-insert-link command? saves you from having to type brackets :)
- You'll likely find helm-org-rifle useful for searching, it handles, e.g. tag inheritance and so forth
- I used to use a similar approach: https://dindi.garjola.net/zettelkustom.html but I finally moved to protesilaos denote
- if you search properties infrequently, you can take advantage of quite specific literal pattern ":name" (starting with ":") using swiper or its help equivalent. You should have limited no of candidates if you know prop name. This way you do not need to remember dedicated command for searching org properties :).
- See also org-ql-find for property searches, e.g. "property:NAME=FOO" syntax
- that's honestly so verbose that I never managed to use it
- Well you could alias "property" to "p" and then type "p:foo" or "p:foo=bar". or you could just search for "foo bar" as plain text regardless of their being properties
- If you frequently search for certain properties you could use org-ql-defpred to define a predicate that matches them
- I personally find postfix notation easier in practice - aka search-string:tag. it is very practical - I first think of a term, see the results, and then expand/narrow the scope of the search term as necessary. I find it more natural than M-b + adding predicate: <https://0x0.st/HxVC.txt> <https://github.com/yantar92/emacs-config/blob/master/config.org#trying-org-ql> beware that I use org-ql fork. So, 100% untested on the released version
- Great talk.
- Great talk, clap clap clap
[[!inline pages="internal(2023/info/ref-after)" raw="yes"]]
[[!inline pages="internal(2023/info/ref-nav)" raw="yes"]]