> > 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. > > 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! > > > > http://kitchingroup.cheme.cmu.edu/blog/2015/12/03/Exporting-numbered-citations-in-html-with-unsorted-numbered-bibliography/ > > > > I am pointing this out because I think the approach I used could allow > > for plugins for different database backends, different ways to get the > > replacements, etc... you could substitute org-ref links for the > > citation syntax at some point with no real loss of generality. org-ref > > could insert the new syntax as soon as it is available in a main org > > branch. Some code will have to be rewritten to get the key under > > point, but that probably won't be too hard. > > Thanks for sharing this. I use something like this myself for *basic* > Chicago Manual of Style formatting when I can't rely on > biblatex-chicago. Might I ask: What is org-ref syntax as opposed to > citation syntax? > 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. Org-mode is great [[cite:Dominik201408][See page 20::for example]]. bibliographystyle:unsrt bibliography:~/Dropbox/bibliography/references.bib This exports to LaTeX as \cite[See page 20][for example]{Dominik201408}. \bibliographystyle{unsrt} \bibliography{/Users/jkitchin/Dropbox/bibliography/references} 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. > > > Then other more advanced solutions could come along that would likely > > be superior in output quality if they use real citation processors, > > but only if there are CSLs for different backends (if I understand how > > they work). > > I don't think modifying CSL styles would be necessary. A huge number > already exist.[fn:2] I think all we would need to do is to convert the > final CSL output to org syntax, which pandoc can already do and which > citeproc-js could do with minor additions. > > Best, > Matt > > Footnotes: > > [fn:1] > See > https://bitbucket.org/fbennett/citeproc-js/src/tip/src/formats.js?fileviewer=file-view-default > > [fn:2] https://github.com/citation-style-language/styles >