Aloha Stefan, Stefan Nobis <stefan...@snobis.de> writes:
> Richard Lawrence <richard.lawre...@berkeley.edu> writes: > >> Rasmus <ras...@gmx.us> writes: > >>> Parts I hate: > >>> The flag is either `@' or `&'. `@' [...] The optional hyphen (`-') > >>> Too many weird symbols that I won't be able to remember, much less explain >>> to somebody else. > >> I don't love these either, but I am not sure what a better >> alternative would be. > > I would say, just keep "@" to mark the key. The others are not really > needed. Both, "&" and "-" are better handled by a nice internal > syntax, something like > > [cite:command ...] > > or > > [cite: ... @key :part year ...] > > These internal extensions via keywords are IMHO much nicer that the > "%%(...)" variant (as a programmer I also like "%%(...)", but not as > an author). > > I think this kind of syntax (only plain "@key" or maybe "[@key]" as > shortcut and everything else within "[cite:...]") is also easier to > handle with overlays, user input helpers etc. > > Some input helper can make remembering all the options and keywords > inside [cite:...] a non-issue and overlays will render it nice in the > text. Therefore the syntax should be rather simple and regular with as > few exceptions and shorthands as sensible. This makes good sense to me. Something like [cite:command pre-note key post-note] for an individual citation is capable of carrying all the necessary information and is easy for an author to read in case overlays aren't active. IIUC, one motivation for privileging "basic" citation commands in the syntax was brevity during input. An input helper would make this motivation mostly moot and would result in a simpler syntax. Another motivation for privileging "basic" citation commands is that the syntax would then advertise the commands officially supported by Org mode. Using a simpler syntax, as Stefan suggests, would it be possible for the various ox-* files to indicate for the input helper which commands are supported? Then, the author could specify the output targets somewhere in the header and the input helper could serve up the intersection of supported commands, yielding a document portable across the indicated backends and with the richest possible set of citation commands. All the best, Tom -- Thomas S. Dye http://www.tsdye.com