emacs-humanities
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[emacs-humanities] oref.el: quick reference/citation management in plain


From: Karl Fogel
Subject: [emacs-humanities] oref.el: quick reference/citation management in plaintext files
Date: Sun, 23 Oct 2022 21:10:20 -0500
User-agent: Gnus/5.13 (Gnus v5.13)

Hi, folks. The Emacs Humanities list seems like the right place to initially announce this package. We've been using it internally at my company for a while and it's been very helpful.

 https://code.librehq.com/ots/ots-tools/-/blob/main/emacs-tools/oref.el

"OREF: A system for marking and citing sources in plaintext documents."

Here's a simple example:

Suppose you're writing a report in LaTeX, and you have source notes scattered across various plaintext files -- say, interview notes kept in Org Mode files. When you're in one of the Org Mode files, you can quickly create a new unique reference marker or grab an existing marker. In the LaTeX, you can quickly insert a citation to a recently-created or recently-grabbed reference, or you can jump from an existing citation to its corresponding origin.

Thus, in "jones-interview.org" you might have this:

Blah blah blah and then she said that the rockets had reached speeds
 of .3c in testing scenarios on a few occasions.  [ref:1c3a90a9]

And in "rocket-report.ltx", this:

 % ref:1c3a90a9
Blah blah blah their rockets are capable of reaching .3c, according to
 engineers interviewed on background.

If you're reading the LaTeX, you can quickly jump to the source of the assertion. (There's no rule that the citation has to be in a LaTeX comment, by the way; it can be part of the LaTeX text if you want.)

Both origin reference ("[ref:1c3a90a9]", with square braces) and the citation ("ref:1c3a90a9", without square braces) were inserted using the main interactive entry point to oref, `oref-do-ref':

1. If you invoke it inside an origin ref, it copies the ref to the kill ring;

2. If you invoke it inside a citation, it jumps you to the location of the origin ref;

3. If you invoke it anywhere else, it creates a new unique origin ref, inserts it at point, and puts the corresponding citation into the kill ring.

Further documentation is in the .el file. I hope this is interesting and useful to others. Comments, feedback, and patches welcome.

Best regards,
-Karl



reply via email to

[Prev in Thread] Current Thread [Next in Thread]