emacs-orgmode
[Top][All Lists]
Advanced

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

Re: Expanding how the new cite syntax is used to include cross-reference


From: John Kitchin
Subject: Re: Expanding how the new cite syntax is used to include cross-references - thoughts?
Date: Thu, 12 Aug 2021 13:19:21 -0400



> As I have thought about this more, the line between citations and
> cross-references has blurred. In org-ref, they were handled the same
> way, with org-links (although each link had its own export function).
> For both cites and refs, the links are just pointers, and in both cases
> it is possible for them to point to things within the same document.
> Even in LaTeX, when we submit a manuscript, the citation references are
> embedded in a standalone tex file, so every link is to an internal
> location.

Let's step back though:

What is the ideal UX for org users?

Per my response to Timothy yesterday, and what I have said elsewhere
about how citations and cross-references are handled elsewhere in the
software universe, I think it's not to remove the distinction, but
rather to clarify it.

In effect, the choice is between:

1. org-cite-insert for both citations and cross-refernces
2. org-cite-insert for the former, org-ref-insert for the latter

Even in org-ref, you adopted 2.; there's a separate command and menu
entry for each, and a different UI.

Do you now think that was a bad decision in retrospect?

I would say the UI that I like, have used for many years, and is the default of org-ref is:

1. You type C-c ] to insert a citation
2. You type C-u C-c ] to insert a cross-reference
3. you type C-u C-u C-c ] to insert a new label.

That is, there is a single entry point for inserting things, that is differentiable with a prefix arg. 

So, you remember one key binding to insert something, with the default being the thing you insert the most of (for me citations), and you just have to remember to prefix it for a reference or label. These are all done with completion, and citations use a different set of candidates than a cross-reference. Labels also use completion to help you insert unique ones.

There are lots of ways to implement that UI behind the scenes, and as you noted the org-ref-insert-link function simply calls one of three user-defined functions for a cite, ref or label. An alternative could be a hydra or transient menu, with some keybinding that lets you choose to insert a cite, ref (or a label perhaps).

so, I guess I am in agreement that it is option 2, and that there needs to be a single entry point for each one.
 

Bruce

reply via email to

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