emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: "Bruce D'Arcus" <bdarcus@gmail.com>
To: John Kitchin <jkitchin@andrew.cmu.edu>
Cc: Tom Gillespie <tgbugs@gmail.com>, org-mode-email <emacs-orgmode@gnu.org>
Subject: Re: Expanding how the new cite syntax is used to include cross-references - thoughts?
Date: Wed, 11 Aug 2021 11:41:37 -0400	[thread overview]
Message-ID: <CAF-FPGN3owghugUMmM2-gT_5w2S731Jy7Ct_m95tFdeH=stWYw@mail.gmail.com> (raw)
In-Reply-To: <CAJ51EToB_y3ktSwn0ZtRmfWch_ez+RQhahsmht-zwarTuRsCrw@mail.gmail.com>

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	other threads:[~2021-08-11 15:42 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-11  0:58 Expanding how the new cite syntax is used to include cross-references - thoughts? John Kitchin
2021-08-11  1:19 ` Bruce D'Arcus
2021-08-11  5:28   ` Tom Gillespie
2021-08-11 11:13     ` Bruce D'Arcus
2021-08-11 11:54       ` Bruce D'Arcus
2021-08-11 13:43         ` John Kitchin
2021-08-11 14:32           ` Bruce D'Arcus
2021-08-11 14:56             ` John Kitchin
2021-08-11 15:41               ` Bruce D'Arcus [this message]
2021-08-11 16:08                 ` Timothy
2021-08-11 16:26                   ` Bruce D'Arcus
2021-08-11 14:13       ` John Kitchin
2021-08-12 15:23         ` Bruce D'Arcus
2021-08-12 17:19           ` John Kitchin
2021-08-12 18:06             ` Bruce D'Arcus
2021-08-13 15:22             ` Eric S Fraga
2021-10-10 13:30               ` Bruce D'Arcus
2021-10-12 21:16                 ` John Kitchin
2021-10-12 21:58                   ` Bruce D'Arcus
2021-10-12 23:27                     ` John Kitchin
2021-10-13  0:08                       ` Bruce D'Arcus
2021-08-11 13:23   ` John Kitchin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAF-FPGN3owghugUMmM2-gT_5w2S731Jy7Ct_m95tFdeH=stWYw@mail.gmail.com' \
    --to=bdarcus@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=jkitchin@andrew.cmu.edu \
    --cc=tgbugs@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).