emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* link recognition in orgmode
@ 2017-09-04 22:39 John Kitchin
  2017-09-05 20:52 ` Nicolas Goaziou
  0 siblings, 1 reply; 4+ messages in thread
From: John Kitchin @ 2017-09-04 22:39 UTC (permalink / raw)
  To: emacs-orgmode@gnu.org

With this definition of a link in org-9:

#+BEGIN_SRC emacs-lisp
(org-link-set-parameters "test" :follow (lambda (path) (message "check")))
#+END_SRC

#+RESULTS:

Should both of these be "linkfied"? I would have expected the first one
to be, but not the second one. It seems like the "test:rtree" parts of
both of these are linkified.

 test:rtree  :test:rtree

Thanks,

-- 
Professor John Kitchin
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: link recognition in orgmode
  2017-09-04 22:39 link recognition in orgmode John Kitchin
@ 2017-09-05 20:52 ` Nicolas Goaziou
  2017-09-06  3:29   ` John Kitchin
  0 siblings, 1 reply; 4+ messages in thread
From: Nicolas Goaziou @ 2017-09-05 20:52 UTC (permalink / raw)
  To: John Kitchin; +Cc: emacs-orgmode@gnu.org

Hello,

John Kitchin <jkitchin@andrew.cmu.edu> writes:

> With this definition of a link in org-9:
>
> #+BEGIN_SRC emacs-lisp
> (org-link-set-parameters "test" :follow (lambda (path) (message "check")))
> #+END_SRC
>
> #+RESULTS:
>
> Should both of these be "linkfied"? I would have expected the first one
> to be, but not the second one. It seems like the "test:rtree" parts of
> both of these are linkified.
>
>  test:rtree  :test:rtree

It looks correct. `org-plain-link-re' regexp expects a word boundary
before the type. If you disagree, what do you suggest as allowed
characters before a plain link?

Regards,

-- 
Nicolas Goaziou

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: link recognition in orgmode
  2017-09-05 20:52 ` Nicolas Goaziou
@ 2017-09-06  3:29   ` John Kitchin
  2017-09-06 10:44     ` Nicolas Goaziou
  0 siblings, 1 reply; 4+ messages in thread
From: John Kitchin @ 2017-09-06  3:29 UTC (permalink / raw)
  To: Nicolas Goaziou; +Cc: emacs-orgmode@gnu.org


Nicolas Goaziou writes:

> Hello,
>
> John Kitchin <jkitchin@andrew.cmu.edu> writes:
>
>> With this definition of a link in org-9:
>>
>> #+BEGIN_SRC emacs-lisp
>> (org-link-set-parameters "test" :follow (lambda (path) (message "check")))
>> #+END_SRC
>>
>> #+RESULTS:
>>
>> Should both of these be "linkfied"? I would have expected the first one
>> to be, but not the second one. It seems like the "test:rtree" parts of
>> both of these are linkified.
>>
>>  test:rtree  :test:rtree
>
> It looks correct. `org-plain-link-re' regexp expects a word boundary
> before the type. If you disagree, what do you suggest as allowed
> characters before a plain link?

I thought I knew the answer to that, which is I normally would say a
space or a [, but...

The reason this came up is related to restructured text in a src block
docstring. For example, using
http://sphinxcontrib-bibtex.readthedocs.io/en/latest/usage.html#roles-and-directives,
one can write: "See :cite:`1987:nelson` for an introduction to
non-standard analysis." and the cite: appears to be recognized as part
of a link with `1987:nelson` as the path. In this case I would not
expect that to be interpreted as a link. The backticks in the path are
a little problematic for org-ref since they are not part of the actual
key.

However, it is pretty common (in my work) to put citations right after
punctuation when they are superscripted, e.g. after a comma,cite:somekey
or after the end of a sentence.cite:anotherkey. That is common because
old LaTeX packages couldn't put them in the right place; it was up to
you. It is a pain to switch to bracketed citations though, because
brackets typically go before punctuations. I normally use bracketed
links in this scenario, but I would expect plain links to work here
(mostly because they always have), including all the other punctuations.

Newer latex packages handle the citation placement for you and let you
do what makes the most sense to me which is to put citations before a
comma like cite:thirdkey, and before a period cite:fourthkey. That way
the citations are in the sentence they belong to and the rest is just
styling during export.

So, in the end I am a little conflicted on the solution here. It seems
specific to this particular markup conflict, which is links should not
start with " :" or "^:". On the other hand, org-ref fails harmlessly for
me (although in some setups it might lead to a traceback, e.g.
https://github.com/jkitchin/org-ref/issues/492), and I am inclined to
leave well enough alone and stick with the harmless fail (the fail is
when you generate help on the link and it can't find the key in the
bibtex file).

Thoughts?

>
> Regards,


--
Professor John Kitchin
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: link recognition in orgmode
  2017-09-06  3:29   ` John Kitchin
@ 2017-09-06 10:44     ` Nicolas Goaziou
  0 siblings, 0 replies; 4+ messages in thread
From: Nicolas Goaziou @ 2017-09-06 10:44 UTC (permalink / raw)
  To: John Kitchin; +Cc: emacs-orgmode@gnu.org

Hello,

John Kitchin <jkitchin@andrew.cmu.edu> writes:

> The reason this came up is related to restructured text in a src block
> docstring. For example, using
> http://sphinxcontrib-bibtex.readthedocs.io/en/latest/usage.html#roles-and-directives,
> one can write: "See :cite:`1987:nelson` for an introduction to
> non-standard analysis." and the cite: appears to be recognized as part
> of a link with `1987:nelson` as the path. In this case I would not
> expect that to be interpreted as a link. The backticks in the path are
> a little problematic for org-ref since they are not part of the actual
> key.

In this particular case, this is a problem of the fontification engine.
It shouldn't fontify Org elements in a src block, or any other verbatim
context. More precisely, `org-activate-links' does not check if match is
within such a context.

Ideally, fontification should use the parser, which doesn't fail in this
case. This is on my long TODO list; unfortunately, it has no NEXT
keyword yet.

Regards,

-- 
Nicolas Goaziou

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-09-06 10:44 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-04 22:39 link recognition in orgmode John Kitchin
2017-09-05 20:52 ` Nicolas Goaziou
2017-09-06  3:29   ` John Kitchin
2017-09-06 10:44     ` Nicolas Goaziou

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).