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: Bruce D'Arcus
Subject: Re: Expanding how the new cite syntax is used to include cross-references - thoughts?
Date: Wed, 11 Aug 2021 11:41:37 -0400

On Wed, Aug 11, 2021 at 10:56 AM John Kitchin <jkitchin@andrew.cmu.edu> wrote:

> This is a bad idea to me. It is only a fuzzy link (what you call a typed 
> internal link) if no one has defined it as an external link. As soon as that 
> happens, then you will lose the export behavior defined for fuzzy links, and 
> get the behavior defined by the export function. The syntax for these is the 
> same (I guess a fuzzy link must be wrapped in [[ ]], but an external link may 
> also be wrapped that way). I don't see a  way to differentiate these.

I guess this is a key question then; sounds like maybe internal links
are too loosely defined?

BTW, I was using the language from the org-mode manual to avoid confusion.

https://orgmode.org/manual/Internal-Links.html

>> 2. extend citations, per your idea here, which to me means the
>> org-cite code would need to be revised and expanded to handle both
>> cross-references and citations, but do so distinctly.
>
> I don't think so. You only have to extend them where you want to have the 
> capability. org-cite can stay a citation only body of code, and if you want 
> cross-references too you just use my processors, or write one that does what 
> you want.

Except now, org-cite and all the extant processors assume a
citation-reference key corresponds to a bibliographic (mostly either
bibtex or csl json) entry, which identifies an external source.

Surely that has implications for compatibility if adding
cross-referencing, unless existing code is changed to account for
that?

With your suggestion, for example, I presume org-cite-insert would be
used to insert and edit cross-references, rather than org-insert-link
or org-insert-cross-reference? Aside from whether that makes sense
from a UX perspective, those references wouldn't be found unless a UI
explicitly accounted for them. And an activate processor that wasn't
updated would treat them as bad citations.

Maybe the changes would be small; IDK. Hopefully Nicolas can weigh in on this.

> You don't have to. Your processors should fail gracefully in any case, 
> because you just cannot control what people will do with the styles.

The issue for me is less what you are proposing to do with styles
(which in my case I construct from org-cite-supported styles), than
with citation-reference. Per above, a citation-reference is just not a
cross-reference.

IDK; perhaps if this path makes sense in the end, it might be cleaner
to add a citation-cross-reference element, or maybe even better to
just have a parallel cross-reference object that borrows some of the
design of org-cite?

> The biggest issue with 1 is I don't think it is possible to differentiate 
> internal typed links from external links because they use the same syntax. It 
> would be very difficult to support and troubleshoot a scenario where the same 
> syntax shows different behavior depending on whether an external link is 
> defined or not. Finally, it is so close to what org-ref already does, I think 
> it is too tricky to differentiate [[ref:label]] from [[ref/:label]], etc.
>
> Maybe these links would look different enough (as external links) that it 
> would be really clear you were not using org-ref.
>
> ref/:@label
> ref/eq:@label
> ref/page:@label
> ref/name:@label
> ref/c:@label
> ref/C:@label
>
>  However, this doesn't support using prefix/suffix text, which is one of the 
> main reasons the cite syntax came to be.

OK. That would be another requirement that tips the balance to
citation, or something very similar.

Bruce



reply via email to

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