From: Richard Lawrence <richard.lawrence@berkeley.edu>
To: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Cc: emacs-orgmode@gnu.org
Subject: Re: Citation syntax: a revised proposal
Date: Wed, 25 Feb 2015 21:10:54 -0800 [thread overview]
Message-ID: <87ioep2r6p.fsf@berkeley.edu> (raw)
In-Reply-To: <87zj81aa97.fsf@nicolasgoaziou.fr>
Hi Nicolas,
Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:
> Richard Lawrence <richard.lawrence@berkeley.edu> writes:
>
>> Agreed. I'd like to see an implementation of a parser for the
>> [cite:...] part of the syntax as a first step. If we can get that far,
>> I'd guess that extending the parser to include either a subtype label or
>> {:key val ...} syntax will not be too difficult to do.
>
> I'll do it by the end of the week.
That would be wonderful! Will you publish a patch or, better, a branch
somewhere, even if it's not ready for master?
I don't know if this is helpful, but I'm posting an updated grammar
below for the [cite: ...] part of the syntax that uses parentheses
around `cite' to indicate the distinction between in-text and
parenthetical citations. It doesn't include any clauses for a subtype
label or for extra key-value pairs.
Best,
Richard
We need a category of /citation/ objects, which require the following
properties (the names here are not important and could be changed):
- is-parenthetical (boolean; nil means is in-text)
- common-prefix (text)
- common-suffix (text)
- references (list)
Each reference in the list of references should be a plist with the
following properties:
- prefix (text)
- suffix (text)
- key (string)
- suppress-author (boolean; t means author name should not be output)
- is-full (boolean; t means a full bibliography entry should be
output in-place)
The category of citations has the following grammar:
- A CITATION is a PARENTHETICAL-CITATION or an IN-TEXT citation.
- A PARENTHETICAL-CITATION is either a SIMPLE-PARENTHETICAL or a
CITATION-LIST whose TAG is a PARENTHESIZED-TAG.
- An IN-TEXT-CITATION is either a SIMPLE-IN-TEXT, or a
CITATION-LIST whose TAG is a BARE-TAG.
- A SIMPLE-PARENTHETICAL is a KEY immediately surrounded by square
brackets.
- A SIMPLE-IN-TEXT is a BARE-KEY.
- A CITATION-LIST has the format
[TAG: PREFIX; INDIVIDUAL-REFERENCE; ... INDIVIDUAL-REFERENCE; SUFFIX]
where the initial PREFIX and final SUFFIX are optional. At least
one INDIVIDUAL-REFERENCE must be present. The colon and
semicolons here are literal and indicate the end of the TAG and
the end of a PREFIX or INDIVIDUAL-REFERENCE respectively.
- A TAG is either a PARENTHESIZED-TAG or a BARE-TAG.
- A PARENTHESIZED-TAG is a BARE-TAG, immediately surrounded by parentheses.
- A BARE-TAG is: `cite'.
- An INDIVIDUAL-REFERENCE has the format:
PREFIX KEY SUFFIX
The KEY is obligatory, and the prefix and suffix are optional.
- A BARE-KEY is a KEY with immediately-preceding whitespace
- A KEY optionally begins with `-', and obligatorily contains `@' or
`&' followed by a string of characters which begins with a letter
or `_', and may contain alphanumeric characters and the following
internal punctuation characters:
:.#$%&-+?<>~/
- A PREFIX or SUFFIX is arbitrary text (except `;', `]', and KEYs)
which may contain only the following Org objects:
- bold
- code
- entity
- italic
- latex-fragment
- line-break
- strike-through
- subscript
- superscript
- underline
- superscript
next prev parent reply other threads:[~2015-02-26 5:11 UTC|newest]
Thread overview: 163+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-15 2:29 Citation syntax: a revised proposal Richard Lawrence
2015-02-15 2:45 ` Richard Lawrence
2015-02-15 3:57 ` Thomas S. Dye
2015-02-15 16:40 ` Richard Lawrence
2015-02-15 19:43 ` Thomas S. Dye
2015-02-16 3:34 ` Matt Price
2015-02-16 8:56 ` Nicolas Goaziou
2015-02-16 9:57 ` Rasmus
2015-02-17 17:18 ` Richard Lawrence
2015-02-17 18:11 ` Rasmus
2015-02-18 0:44 ` Matt Price
2015-02-18 3:38 ` Richard Lawrence
2015-02-18 2:24 ` Thomas S. Dye
2015-02-18 4:03 ` Richard Lawrence
2015-02-18 9:00 ` Stefan Nobis
2015-02-18 10:11 ` Eric S Fraga
2015-02-18 14:19 ` Nicolas Goaziou
2015-02-18 16:38 ` Richard Lawrence
2015-02-18 18:44 ` Samuel Wales
2015-02-18 18:46 ` Samuel Wales
2015-02-18 20:54 ` Aaron Ecay
2015-02-18 21:21 ` Samuel Wales
2015-02-18 21:24 ` John Kitchin
2015-02-18 19:42 ` Nicolas Goaziou
2015-02-18 20:47 ` Aaron Ecay
2015-02-18 22:43 ` Rasmus
2015-02-18 22:35 ` Rasmus
2015-02-19 17:06 ` Richard Lawrence
2015-02-20 0:10 ` Nicolas Goaziou
2015-02-20 16:44 ` Richard Lawrence
2015-02-20 19:45 ` Samuel Wales
2015-02-20 20:01 ` Rasmus
2015-02-20 22:33 ` Samuel Wales
2015-02-21 11:58 ` Rasmus
2015-02-21 17:25 ` Thomas S. Dye
2015-02-27 0:56 ` Samuel Wales
2015-02-27 8:55 ` Stefan Nobis
2015-02-27 9:56 ` Rasmus
2015-02-21 3:12 ` Richard Lawrence
2015-02-21 12:00 ` Rasmus
2015-02-21 20:19 ` Samuel Wales
2015-02-21 20:36 ` Samuel Wales
2015-02-25 13:59 ` Aaron Ecay
2015-02-25 16:57 ` Richard Lawrence
2015-02-25 22:37 ` Nicolas Goaziou
2015-02-26 5:10 ` Richard Lawrence [this message]
2015-03-01 20:35 ` Nicolas Goaziou
2015-03-01 21:31 ` Rasmus
2015-03-02 0:24 ` Thomas S. Dye
2015-03-02 8:57 ` Eric S Fraga
2015-03-02 1:37 ` Thomas S. Dye
2015-03-02 9:23 ` Rasmus
2015-03-02 19:11 ` Aaron Ecay
2015-03-02 20:15 ` Rasmus
2015-03-03 3:14 ` Richard Lawrence
2015-03-03 5:33 ` Avram Lyon
2015-03-03 17:27 ` Richard Lawrence
2015-03-03 17:56 ` Avram Lyon
2015-03-04 16:41 ` Richard Lawrence
2015-03-03 9:24 ` Rasmus
2015-03-03 9:39 ` Rasmus
2015-03-03 14:12 ` Aaron Ecay
2015-03-02 18:50 ` Richard Lawrence
2015-03-02 20:14 ` Nicolas Goaziou
2015-03-02 20:34 ` Rasmus
2015-03-02 22:17 ` Nicolas Goaziou
2015-03-02 22:33 ` Rasmus
2015-03-02 22:45 ` Nicolas Goaziou
2015-03-02 23:05 ` Rasmus
2015-03-02 23:27 ` Nicolas Goaziou
2015-03-02 23:42 ` Rasmus
2015-03-03 2:48 ` Richard Lawrence
2015-03-03 8:43 ` Nicolas Goaziou
2015-03-03 16:59 ` Richard Lawrence
2015-03-04 0:43 ` Matt Price
2015-03-08 0:16 ` Nicolas Goaziou
2015-03-03 14:23 ` Aaron Ecay
2015-03-02 18:54 ` Aaron Ecay
2015-03-02 20:26 ` Nicolas Goaziou
2015-03-03 2:53 ` Richard Lawrence
2015-03-03 8:38 ` Nicolas Goaziou
2015-03-03 9:13 ` Rasmus
2015-03-03 16:12 ` Richard Lawrence
2015-03-03 14:25 ` Aaron Ecay
2015-03-02 20:53 ` Rasmus
2015-03-03 14:57 ` Aaron Ecay
2015-03-03 15:41 ` Rasmus
2015-03-03 15:58 ` Ken Mankoff
2015-03-03 16:08 ` Rasmus
2015-03-03 17:13 ` Richard Lawrence
2015-03-10 3:44 ` Aaron Ecay
2015-03-10 9:49 ` Rasmus
2015-03-11 1:51 ` Aaron Ecay
2015-03-11 6:04 ` Thomas S. Dye
2015-03-10 16:31 ` Richard Lawrence
2015-03-11 2:21 ` Aaron Ecay
2015-03-11 17:33 ` Richard Lawrence
2015-03-13 18:13 ` Richard Lawrence
2015-03-17 5:15 ` Richard Lawrence
2015-03-17 9:27 ` Andreas Leha
2015-03-17 16:26 ` Richard Lawrence
2015-03-17 20:42 ` Andreas Leha
2015-03-17 21:34 ` Richard Lawrence
2015-03-18 1:12 ` Matt Price
2015-03-18 15:19 ` Richard Lawrence
2015-02-25 18:08 ` Thomas S. Dye
2015-02-26 21:30 ` Aaron Ecay
2015-02-26 23:50 ` Thomas S. Dye
2015-02-27 8:49 ` Stefan Nobis
2015-02-27 16:35 ` Richard Lawrence
2015-02-27 10:09 ` Rasmus
2015-03-02 5:48 ` Thomas S. Dye
2015-03-02 12:22 ` Aaron Ecay
2015-03-02 13:53 ` Thomas S. Dye
2015-03-02 19:02 ` Aaron Ecay
2015-02-20 5:27 ` Melanie Bacou
2015-02-20 16:49 ` Richard Lawrence
2015-02-24 7:08 ` Vaidheeswaran C
2015-02-25 4:29 ` Richard Lawrence
2015-02-25 5:57 ` Vaidheeswaran C
2015-02-15 11:17 ` Tory S. Anderson
2015-02-15 11:57 ` Rasmus
2015-02-15 17:05 ` Richard Lawrence
2015-02-16 8:53 ` Stefan Nobis
2015-02-16 17:52 ` Thomas S. Dye
2015-02-15 17:23 ` Nicolas Goaziou
2015-03-09 10:40 ` Sebastien Vauban
2015-03-09 10:50 ` Vaidheeswaran C
2015-02-15 17:19 ` Nicolas Goaziou
2015-02-15 17:37 ` Rasmus
2015-02-15 17:55 ` Nicolas Goaziou
2015-02-15 19:30 ` John Kitchin
2015-02-15 18:07 ` Richard Lawrence
2015-02-15 18:25 ` Nicolas Goaziou
2015-02-15 19:05 ` Aaron Ecay
2015-02-15 19:18 ` Nicolas Goaziou
2015-02-15 19:38 ` Aaron Ecay
2015-02-15 20:13 ` Nicolas Goaziou
2015-02-15 20:23 ` Rasmus
2015-02-16 9:07 ` Stefan Nobis
2015-02-16 16:59 ` Richard Lawrence
2015-02-16 17:43 ` Nicolas Goaziou
2015-02-16 18:39 ` Rasmus
2015-02-16 19:16 ` Thomas S. Dye
2015-02-16 19:40 ` Rasmus
2015-02-15 20:49 ` John Kitchin
2015-02-16 16:18 ` Richard Lawrence
2015-02-16 18:21 ` John Kitchin
2015-02-16 12:05 ` Eric S Fraga
2015-02-16 13:10 ` William Denton
2015-02-16 13:42 ` John Kitchin
2015-02-16 16:19 ` Nicolas Goaziou
2015-02-16 17:28 ` John Kitchin
2015-02-16 18:49 ` Rasmus
2015-02-16 19:16 ` John Kitchin
2015-02-23 7:26 ` Vaidheeswaran
2015-02-16 16:35 ` Jorge A. Alfaro-Murillo
2015-02-16 17:56 ` Stefan Nobis
2015-02-16 18:24 ` John Kitchin
2015-02-16 18:39 ` Jorge A. Alfaro-Murillo
2015-02-16 19:19 ` Jorge A. Alfaro-Murillo
2015-02-17 6:47 ` Stefan Nobis
2015-02-16 16:45 ` Richard Lawrence
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87ioep2r6p.fsf@berkeley.edu \
--to=richard.lawrence@berkeley.edu \
--cc=emacs-orgmode@gnu.org \
--cc=mail@nicolasgoaziou.fr \
/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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.