Hi John, John Kitchin <jkitc...@andrew.cmu.edu> writes:
> Hi all, > > This is mostly for the people working on citations in org-mode. > > I have been reading about CSL more this weekend. IIRC, one of the > reasons to develop the new citation syntax was to get the ability to > have pre/post text in citations more conveniently than what is currently > possible. Yes, that is my understanding, too. > I have not seen any possibility for this with CSL, however. Is my > understanding correct? Is this a problem, or something partially handled > by org-export and partially by a citeproc? The CSL processors I've looked at support prefix and suffix text for individual references within a citation. See, for example, the citeproc-js documentation: http://gsl-nagoya-u.net/http/pub/citeproc-doc.html#citation-data-object prefix, suffix, and some other fields are supported. pandoc-citeproc supports the same set of fields. However, my understanding is that neither citeproc-js nor pandoc-citeproc support a BibLaTeX-style "common" prefix/suffix that belongs to the citation as a whole, rather than the individual references within it, as is available in the multi-cite commands. We currently have support for such common prefixes/suffixes in Org syntax. My solution to this in my org-citeproc wrapper for pandoc-citeproc is to prepend the common prefix to the prefix for the first reference in a citation, and append the common suffix to the last reference. This is not a great solution, because it is not really defined what kind of punctuation (if any) should separate the common prefix from the first item's prefix, and so on. But I figured that was not an important issue to address until we actually have people making use of common prefix and suffix syntax who are not exporting to LaTeX... > IIUC, the current aim is to get a citeproc that will do the following on > export: > 1. replace in-text citation syntax with org-formatted replacements > 2. Insert an org-formatted bibliography somewhere in the document > 3. proceed with org-to-something export, with built-in > exporters. That's basically my understanding too. There is one snag with the "org-formatted replacement" plan, though, which I saw in a Zotero dev discussion yesterday. CSL processing might result in multiple levels of formatting, e.g. nested italics like <em>Something with an internal <em>Title</em></em> and that won't translate very well back to Org syntax in general: /Something with an internal /Title// The suggestion was to just use HTML output, and then parse the HTML to get a data structure that could be directly rendered into HTML, LaTeX, etc., which support nested italics just fine. I think we could do this, though maybe there's a better solution. That is, we can take HTML from the citation processor and go directly to org-element objects, without producing and re-parsing citations in Org format. > The current contenders for a citeproc are Zotero and Pandoc. > > Has anyone looked at https://pypi.python.org/pypi/citeproc-py/ > or https://github.com/inukshuk/citeproc-ruby > > The ruby one looks pretty advanced. I haven't looked at them closely. My impression was that the Python version was quite incomplete; and unfortunately, I don't know Ruby, so I would be the wrong person to evaluate it (or write code for it). Best, Richard