Richard Lawrence writes: > It looks to me like Pandoc has a quite general solution, and it also > looks like Org could use Pandoc's citation syntax as-is. I would > suggest borrowing this syntax as a starting point for building citation > support into Org.
It's been years since I looked at Pandoc, and I think they've added some functionality since then. Prefix, locator, suffix, and multiple references in one human-readable citation: Great! And /much/ nicer to look at than latex \cite commands with their frankly bizarre placement of locators etc. > Blah blah [see @doe99, pp. 33-35; also @smith04, ch. 1]. In my current homebrewn solution for Zotero, I have tried to do something similarly readable using Org link syntax (sorry, Rasmus!) with the database entry ID as link target, and parsing the description part for prefix/author-date/locator/suffix, but with a slightly different syntax than Pandoc uses. In my solution the above would be: Blah blah [[zotero:0_A43F89;0_E25CB3][(see: Doe 1999: p.33-35; also: Smith 2004: ch. 1)]]. > A minus sign (-) before the @ will suppress mention of the author in the > citation. This can be useful when the author is already mentioned in the > text: > > Smith says blah [-@smith04]. In my current Zotero solution: Smith says blah [[zotero:0_E25CB3][(2004)]]. > Does anyone have citation needs that this syntax doesn't cover? It's great, as long as your database uses mnemonic citekeys like doe99. Zotero doesn't, but uses keys that are meaningless to humans, like 0_A43F89. Unfortunately [see @0_A43F89, p. 5] wouldn't look nearly as nice as [see @doe99, p.5], and it wouldn't help you remember what you referenced. I think the typical workflow combining Zotero with Pandoc is to export a BibTex file from Zotero and reference the BibTex citekeys from there. I could live with that much of the time. But that workflow doesn't help with something I often want to do, which is to export to ODT and have 'live' Zotero citations that I can continue to work with in LibreOffice. > Using this syntax would also have the advantage that Pandoc can already > parse it, which would reduce friction for Org users who convert their > documents with Pandoc (and Pandoc users who need to deal with Org > inputs). Since this seems like a significant contingent of Org users, > that's something to consider. That's a good point. OTOH, don't Org users convert their documents with Pandoc mostly because cross-backend citation support is lacking? > The bigger question is whether, in addition to a citation *syntax*, it > would be a lot of work to add support for the various citation database > formats, as well as the various output styles, and which ones to > support. Possibly more work if it's worth if we adopt Pandoc syntax, since Pandoc-citeproc seems to handle nearly everything that is based on plain text. To truly support citations natively, we'd essentially have to implement something like citeproc in elisp. Not that I haven't been thinking about that... Yours, Christian