Hi All,
I've been away for a bit, but now I'm back and getting back into things 🙂. For starters, I'm thinking we may as well put a description of the citation syntax into org-syntax. I'm still interested in more/broader changes to improve the clarity and specificity of org-syntax (and have had some more ideas on that front), but we may as well start by adding this missing section. I think my current version resolves all the comments made so far, see below in case there's anything else that jumps out as needing changing. The draft v3 follows: ----- Citations follow the pattern #+begin_example [cite CITESTYLE: GLOBALPREFIX KEYCITES GLOBALSUFFIX] #+end_example where "cite" and =CITESTYLE=, =KEYCITES= and =GLOBALSUFFIX= are /not/ separated by whitespace. Whitespace after the leading colon or before the closing square bracket is not significant. All other whitespace is significant. The only mandatory component, =KEYCITES= consists of one or more instances of the following pattern, separated by semicolons, #+begin_example KEYPREFIX @KEY KEYSUFFIX #+end_example where =KEYPREFIX=, =@KEY=, and =KEYSUFFIX= are /not/ separated by whitespace. =KEY= can be made of any word-constituent character, =-=, =.=, =:=, =?=, =!=, =`=, ='=, =/=, =*=, =@=, =+=, =|=, =(=, =)=, ={=, =}=, =<=, =>=, =&=, =_=, =^=, =$=, =#=, =%=, or =~=. =KEYPREFIX= and =KEYSUFFIX= are optional and can contain any characters other than a semicolon (=;=), so long as all square brackets are balanced. =KEYPREFIX= cannot contain any subsequence that forms a =KEY=. Hence, a minimal citation is formed by the pattern ~[cite:@KEY]~. =CITESTYLE= consists of a main =STYLE= and optionally a =VARIANT=​. Both the =STYLE= and =VARIANT= are prefixed by a forwards slash. #+begin_example /STYLE/VARIANT #+end_example =STYLE= and =VARIANT= can be made of any alphanumeric character, =_=, or =-=​. Additionally, =VARIANT= can itself contain forward slashes (=/=) . =GLOBALPREFIX= and =GLOBALSUFFIX= can contain the same characters as =KEYPREFIX= and =KEYSUFFIX=. In the same manner as instances of the =KEYCITES= pattern, =KEYCITES=, =GLOBALPREFIX=, and =GLOBALSUFFIX= must be separated by semicolons. ------ Let me know if this looks alright. All the best, Timothy.