emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* wip-cite status question and feedback
@ 2020-04-07 15:15 Bruce D'Arcus
  2020-04-07 17:51 ` Nicolas Goaziou
  0 siblings, 1 reply; 139+ messages in thread
From: Bruce D'Arcus @ 2020-04-07 15:15 UTC (permalink / raw)
  To: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 4215 bytes --]

Hi everyone; first post.

From what I can tell, there was a lot of activity here a few years back to
define org citation link support, which was reflected in what seems to be a
fairly developed wip-cite branch of the git repo.

But that stalled somewhere, and we still have diverse tools, using diverse
and incompatible methods to define citation links.

I see from the archive there was an encouraging thread from April of 2018
<https://lists.gnu.org/archive/html/emacs-orgmode/2018-04/msg00336.html>
(so, two years ago) that seemed to suggest merging to master was close,
with perhaps some uncertainty around syntax being the primary hold up?

My main question: how do we get this done?


I'm happy to help resolve any syntax questions, if that's the primary hold
up, though my coding skills in general are minimal.

While I’m here, some feedback and thoughts below. I think the proposed
syntax is basically sound, but maybe could be simplified.

For background, I created the Citation Style Language (CSL), and the
initial XSLT-based proof-of-concept formatter, which I used to format the
citations and bibliography in my first book.

I work in a field that has pretty diverse citation practices, and myself
work at the borders of the social sciences and humanities, which influences
my thinking on design priorities around citation technology.

I also had a hand in the pandoc citation syntax, which is consistent with
the basic design goals I had, including:


   1.

   simple as possible plain-text format, consistent with markdown
   2.

   prefix and suffix free text, page number locators, etc.
   3.

   ability to radically change output style (for example, from author-date
   to footnote-based), without changing source.


I believe the pandoc syntax achieves all of these goals.

Which brings me to the org proposal.

The only documentation I can find on the proposal is at the citeproc org
project.

https://github.com/andras-simonyi/citeproc-org#citations

If the above is correct, then:


   1.

   There are two forms of citations: short and long.
   2.

   Short is of this syntax, and can only have a single citekey as content:
   [@doe2019].
   3.

   Anything else (multiple citations, locators, prefixes and/or suffixes)
   requires the long form.
   4.

   In addition, there is a standard long form, and what the doc above calls
   “parenthetical” form of the long form.


So do I have all that right?

First question:

Why #4 above; a distinction between two different long forms?

Moving on, assuming the above is correct, let’s borrow these examples from
the pandoc citation syntax for markdown
<https://pandoc.org/MANUAL.html#citations> (which it also supports in org):

Blah blah [see @doe99, pp. 33-35; also @smith04, chap. 1].

Blah blah [@doe99, pp. 33-35, 38-39 and *passim*].

Blah blah [@smith04; @doe99].

So from a model perspective, a citation in pandoc is a list of one-or-more
cites (or whatever we want to call them), each of which has optional:

   -

   prefix
   -

   Locators (page numbers and such)
   -

   suffix


I believe this is similar to the proposed org model, with one difference:
the org proposal adds prefix and suffix for the list (the citation) as a
whole.

So the pandoc version is a flat list, and the org version has two levels.

Am I still understanding everything correctly?

So ... am I correct that in none of these cases can one use the “short”
form, and that the above would look like this converted to the proposed org
syntax?

Blah blah [cite:see @doe99 pp. 33-35; also @smith04 chap. 1].

Blah blah [cite:@doe99 pp. 33-35, 38-39 and *passim*].

Blah blah [cite:@smith04; @doe99].

Or the first one might treat the “see” as a prefix for the list, though I’m
not sure what the practical benefit of that more hierarchical modelling is.

While I do wonder if the syntax could be simplified, my main hope is that
it actually gets merged to master and deployed, to harmonize the variety of
different ways emacs tools (org-ref, ebib, pandoc, etc.) are dealing with
citation links in org currently.

[-- Attachment #2: Type: text/html, Size: 20288 bytes --]

^ permalink raw reply	[flat|nested] 139+ messages in thread
* Re: wip-cite status question and feedback
@ 2020-04-10  9:29 denis.maier.lists
  2020-04-10 12:22 ` Bruce D'Arcus
  2020-04-10 22:56 ` Nicolas Goaziou
  0 siblings, 2 replies; 139+ messages in thread
From: denis.maier.lists @ 2020-04-10  9:29 UTC (permalink / raw)
  To: emacs-orgmode@gnu.org

[-- Attachment #1: Type: text/plain, Size: 2354 bytes --]

Hi,

very good to see these things are getting discussed again. (Back then, I have been following the citation syntax discussion from a distance rather then participating actively, so that's my first post here.)

It would be great if Org had a closer integration with a Citeproc. This would be a huge improvement for those who use Emacs and Org for academic writing.

Anyway, concerning this:

> Speaking of which, I read about the "citation modes", which may be preferred over "suppress author". What are these citation modes? How do you combine them if "suppress author" is one of the "citation modes".

Bruce has already sent a link to Pandoc's org-mode Reader where you can find the citation modes. The standard (markdown) implementation can be found here: https://github.com/jgm/pandoc/blob/f2b337768e95c8903f65e597f7d8cd81938dacc3/src/Text/Pandoc/Readers/Markdown.hs

Anyway, currently there are basically three modes:
- NormalCitation
- SuppressAuthor
- AuthorInText

At the moment, there is no way to combine modes.

A simple markdown sample:

#+BEGIN_SRC
[@doe]

[-@doe]

@doe argues ...

-@doe [23]
#+END_SRC

Gives:

#+BEGIN_EXAMPLE
[Para [Cite [Citation {citationId = "doe", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@doe]"]]
,Para [Cite [Citation {citationId = "doe", citationPrefix = [], citationSuffix = [], citationMode = SuppressAuthor, citationNoteNum = 0, citationHash = 0}] [Str "[-@doe]"]]
,Para [Cite [Citation {citationId = "doe", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0}] [Str "@doe"],Space,Str "argues",Space,Str "\8230"]
,Para [Cite [Citation {citationId = "doe", citationPrefix = [], citationSuffix = [Str "23"], citationMode = SuppressAuthor, citationNoteNum = 0, citationHash = 0}] [Str "@doe",Space,Str "[23]"]]
#+END_EXAMPLE

So:
[@doe] => NormalCitation
[-@doe] => SuppressAuthor
@doe argues ... => AuthorInText
-@doe [23] => SuppressAuthor

I do admit that this last example is a bit pointless, but it shows a point. => SuppressAuthor takes precedence over the other modes in both cases.

Depending on CSL's future development there might well be other citations modes. I personally think there's much to learn from biblatex, but that's a different debate...

Best,
Denis



[-- Attachment #2: Type: text/html, Size: 4904 bytes --]

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

end of thread, other threads:[~2021-05-06 17:08 UTC | newest]

Thread overview: 139+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-07 15:15 wip-cite status question and feedback Bruce D'Arcus
2020-04-07 17:51 ` Nicolas Goaziou
2020-04-07 18:27   ` Bruce D'Arcus
2020-04-07 18:31     ` Bruce D'Arcus
2020-04-07 21:13     ` Joost Kremers
2020-04-08  0:01       ` Bruce D'Arcus
2020-04-08  9:16         ` Joost Kremers
2020-04-08  9:32     ` Nicolas Goaziou
2020-04-08 12:19       ` Bruce D'Arcus
2020-04-08 13:39         ` John Kitchin
2020-04-08 16:12           ` Bruce D'Arcus
2020-04-09  7:38         ` Albert Krewinkel
2020-04-09  9:30           ` Bruce D'Arcus
2020-04-09  9:46             ` Bruce D'Arcus
2020-04-09 10:05               ` Bruce D'Arcus
2020-04-09 23:17                 ` Nicolas Goaziou
2020-04-10  1:17                   ` Bruce D'Arcus
2020-04-10  5:38             ` Albert Krewinkel
2020-04-11 11:41       ` Bruce D'Arcus
2020-04-13 12:05       ` Gustav Wikström
2020-04-13 12:33         ` Bruce D'Arcus
2020-05-24 12:12           ` Bastien
2020-05-24 13:17             ` Bruce D'Arcus
2020-05-29 21:59               ` András Simonyi
2020-05-29 22:24                 ` Bruce D'Arcus
2020-05-29 22:58                 ` Bruce D'Arcus
2020-06-03 14:40                   ` Bastien
2020-06-03 14:53                     ` Bruce D'Arcus
2020-12-14 21:24                       ` Bruce D'Arcus
2021-03-24 13:22                       ` Bruce D'Arcus
2021-03-24 18:27                         ` M. ‘quintus’ Gülker
2021-04-11 23:15                           ` Bruce D'Arcus
2021-04-12 13:19                             ` Nicolas Goaziou
2021-04-12 18:53                               ` András Simonyi
2021-04-16 17:05                               ` András Simonyi
2021-04-16 17:23                                 ` Bruce D'Arcus
2021-04-18 13:11                                 ` Nicolas Goaziou
2021-04-18 13:35                                   ` Ihor Radchenko
2021-04-18 13:37                                     ` Bruce D'Arcus
2021-04-21 19:57                                     ` John Kitchin
2021-04-21 20:09                                       ` Bruce D'Arcus
2021-04-21 20:57                                         ` John Kitchin
2021-04-21 20:26                                   ` John Kitchin
2021-04-21 20:54                                     ` Bruce D'Arcus
2021-04-22  2:47                                     ` Timothy
2021-04-22 12:07                                       ` Bruce D'Arcus
2021-04-22 12:34                                         ` Timothy
2021-04-21 21:47                                   ` András Simonyi
2021-04-21 23:51                                     ` Nicolas Goaziou
2021-04-22  0:01                                       ` Bruce D'Arcus
2021-04-22  0:15                                         ` Nicolas Goaziou
2021-04-23 11:49                                           ` Nicolas Goaziou
2021-04-23 12:55                                             ` András Simonyi
2021-04-23 13:10                                               ` Bruce D'Arcus
2021-04-23 13:24                                                 ` Bruce D'Arcus
2021-04-23 14:50                                                   ` András Simonyi
2021-04-23 22:08                                                   ` Bruce D'Arcus
2021-04-24 17:37                                                   ` M. ‘quintus’ Gülker
2021-04-24 17:47                                                   ` Nicolas Goaziou
2021-04-24 18:39                                                     ` Bruce D'Arcus
2021-04-26 14:54                                                       ` Bruce D'Arcus
2021-04-26 20:35                                                         ` Denis Maier
2021-04-27 10:12                                                           ` Bruce D'Arcus
2021-04-27 10:20                                                             ` Timothy
2021-04-27 11:44                                                             ` Denis Maier
2021-04-27 12:32                                                               ` Bruce D'Arcus
2021-04-27 13:58                                                                 ` Denis Maier
2021-04-27 14:07                                                                   ` Bruce D'Arcus
2021-04-27 14:50                                                                     ` Denis Maier
2021-04-30 13:28                                                       ` Nicolas Goaziou
2021-04-30 21:47                                                         ` Denis Maier
2021-05-01 11:09                                                           ` Nicolas Goaziou
2021-05-01 13:26                                                           ` Bruce D'Arcus
2021-05-02 21:58                                                             ` Denis Maier
2021-05-02 22:18                                                               ` Bruce D'Arcus
2021-05-02 23:30                                                                 ` Bruce D'Arcus
2021-05-05 13:46                                                                 ` Bruce D'Arcus
2021-05-05 18:14                                                                   ` M. ‘quintus’ Gülker
2021-05-05 18:27                                                                     ` Bruce D'Arcus
2021-05-06 17:05                                                                       ` M. ‘quintus’ Gülker
2021-05-06  8:08                                                                     ` Denis Maier
2021-04-24 13:14                                               ` Nicolas Goaziou
2021-04-23 12:03                                     ` Nicolas Goaziou
2021-04-23 13:34                                       ` András Simonyi
2021-04-17 19:13                               ` M. ‘quintus’ Gülker
2021-04-18 16:17                                 ` Nicolas Goaziou
2021-04-20 13:32                                   ` Matt Price
2021-04-21 17:07                                     ` Nicolas Goaziou
2021-04-21 17:53                                       ` Bruce D'Arcus
  -- strict thread matches above, loose matches on Subject: below --
2020-04-10  9:29 denis.maier.lists
2020-04-10 12:22 ` Bruce D'Arcus
2020-04-10 22:56 ` Nicolas Goaziou
2020-04-11 21:42   ` denis.maier.lists
2020-04-11 22:05     ` Bruce D'Arcus
2020-04-12 10:38       ` Nicolas Goaziou
2020-04-12 11:15         ` Bruce D'Arcus
2020-04-12 14:02           ` Nicolas Goaziou
2020-04-12 14:25             ` Bruce D'Arcus
2020-04-12 15:32               ` Nicolas Goaziou
2020-04-12 15:44                 ` Bruce D'Arcus
2020-04-12 15:57                   ` Nicolas Goaziou
2020-04-12 17:17                     ` Bruce D'Arcus
2020-04-12 20:49                 ` denis.maier.lists
2020-04-12 22:19                   ` Nicolas Goaziou
2020-04-13  8:33                     ` Stefan Nobis
2020-04-13 10:02                       ` Denis Maier
2020-04-13 10:11                         ` denis.maier.lists
2020-04-13 10:05                       ` Bruce D'Arcus
2020-04-13 10:14                       ` denis.maier.lists
2020-04-13  9:58                     ` Bruce D'Arcus
2020-04-13 10:09                     ` denis.maier.lists
2020-04-13 10:10                     ` Joost Kremers
2020-04-13 10:46                       ` Stefan Nobis
2020-04-15  5:54                       ` Richard Lawrence
2020-04-15 10:07                         ` Joost Kremers
2020-04-18  9:34                           ` Richard Lawrence
2020-04-18 10:56                         ` Bruce D'Arcus
2020-04-18 12:48                           ` Richard Lawrence
2020-04-18 13:17                             ` Bruce D'Arcus
2020-04-18 13:22                               ` Bruce D'Arcus
2020-04-18 20:23                                 ` Denis Maier
2020-04-18 20:28                                 ` denis.maier.lists
2020-04-19  9:11                               ` Richard Lawrence
2020-04-25 16:19                                 ` Nicolas Goaziou
2020-04-25 17:00                                   ` Bruce D'Arcus
2020-04-25 20:03                                     ` Nicolas Goaziou
2020-04-25 21:18                                       ` Bruce D'Arcus
2020-05-01 17:38                                         ` Richard Lawrence
2020-05-01 17:54                                           ` Bruce D'Arcus
2020-05-02 14:06                                             ` Nicolas Goaziou
     [not found]                                               ` <2fbf14cf-ae8c-4f7c-27f7-33771aa99492@mailbox.org>
2020-05-02 16:34                                                 ` Nicolas Goaziou
2020-05-02 17:24                                                   ` Denis Maier
2020-05-02 13:13                                           ` Nicolas Goaziou
2020-05-02 13:45                                             ` Bruce D'Arcus
2020-05-02 20:45                                             ` Richard Lawrence
2020-04-29  9:14                                   ` Denis Maier
2020-05-02  9:51                                     ` Nicolas Goaziou
2020-05-02 11:53                                       ` Bruce D'Arcus
2020-04-18 20:38                           ` Joost Kremers

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