Hi John, John Kitchin <jkitc...@andrew.cmu.edu> writes:
> > I am not yet convinced a citation processor will get us where we > want > > because of the complexity of the external dependencies, and the > > potential/probable need for us to define new CSL files for > different > > backends, or at a minimum for org-formatted citations and > > bibliographies. Hacking bst files is no fun, and it doesn't look > like > > CSL files are much better! Plus you have to find them and > install them > > somehow. > > As I understand it, we would not need to hack the CSL files to get > org markup. With a good processor, such as citeproc-js, it should > be trivial to modify the output format.[fn:1] > > This is good. It still means adding each output somewhere. > Do you mean adding html, odt, etc.? I don't think this would be necessary. We could invoke the citation processor (e.g., citeproc-js, pandoc, etc.) during export, feeding it an ordered list of citation keys. It would then return the formatted citations in org markup, which we could insert into at the appropriate locations before the final export to the desired backend. Thus, all we would need to do is define an single output format (org mode). Or we could parse JSON output directly in emacs.... > What CSL implementations do offer is the complexity to handle all > the nuances of multiple citation styles, languages, etc. (e.g., > something like Chicago Manual of Style footnotes). My suspicion is > that it would take years to code something in emacs-lisp that > offers all of the functionality of CSL processors. > > That sounds right. bibtex was developed for a long time, and there are > still efforts to improve it! Yes. And CSL and biblatex are far more complex and robust than bibtex. :) I use biblatex (biblatex-chicago), which finally gives those of us in the humanities robust automation of complex footnote styles. One of my dreams for citation processing in org mode is to be able to achieve in org the same level of automation, thus allowing non-LaTeX backends. IMO, the best hope of accomplishing this is to plug into the existing power of CSL, which has emerged as the new standard for automated citations. (A note: the other way to accomplish this right now it to export a file to org or markdown --- evaluating code blocks, etc. and converting citations to [@some_cite_key] --- and then running the output through pandoc, which uses CSL.) > org-ref syntax for a citation is just a link such as > cite:some-key,another-key, All the cite types in bibtex and biblatex > have a link definition. Here is an example document with a citation > with pre and post text. A limitation is you can only currently put > pre/post text on a single citation. > I looked at an alternative syntax for pre/post text a year ago, but > there doesn't seem to be much demand for it, and we don't use pre/post > text. > http://kitchingroup.cheme.cmu.edu/blog/2014/06/26/Another-parsing-of-links-for-citations-with-pre-and-post-text/ > > org-ref also provides links for labels, cross-references, index > entries and glossaries, and mostly supports biblatex too. See > https://github.com/jkitchin/org-ref/blob/master/org-ref.org for a > pretty good intro to it. Thanks. This sounds great! I'll check it out. (I've obviously not been hanging around on the list often enough to learn about all the recent goodies.) Best, Matt