It seems there are a lot of variants of citation handling out there! I will add to the list my own variants here: https://github.com/jkitchin/jmax/blob/master/jorg-bib.el. My citation needs are simple, I basically only use \cite{key1,key2} in LaTeX. And I only use bibtex, because I have not gotten around to anything else, bibtex works fine if your needs are simple (like mine).

There is certainly duplication of some things, but the following are features in mine that I am not aware of anywhere else.


1. Integration with reftex. You type C-c ] and select keys from reftex and insert a cite link. If you type it again on a citation, the new entries are appended to the end. This current conversation inspired me to implement this!

2. Clickable cite links. If you have a citation link like cite:key1,key2,key3 you can click on key1 and open the bibliography file to key1, and you can click on key2 and have it open at key 2. This link would export in latex as \cite{key1,key2,key3}. Other cite formats, e.g. citep, citep*, etc... are defined too, but are relatively untested. You can also use completion to enter a bibtex key.

3. citation tooltips. If clicking is too disruptive, you can run a command and get a tooltip of the citation under point. If clicking is too tiring, you can turn on an idle timer that shows a tooltip if the cursor is on a citation.

4. clickable label links. clicking checks the buffer for another label by the same name.

5. Clickable ref links. Clicking on the ref:label takes you to the label, and provides C-c & to get back to that point. You can also use completion to get a list of labels in the buffer to make a ref to.

6. A bibliographystyle and bibliography link. The bibliography link opens the bibtex file that was clicked on.

7. Code to make a clickable list of figures and tables.

8. Code to extract the bibtex entries cited in an org-file to a text block at the end of the org-file

9. variables to point to a notes file and pdf directory, and functions to jump to your notes and the pdf file from a bibtex entry.

10. a function to build a complete pdf bibliography from your bibtex file. This is handy for checking the entries are spelled correctly, etc...

11. A little function and python script to upload a bibtex entry to citeulike.

I have not tried to do much with anything but LaTeX, so these links are not likely to be that good for html or odt I suspect.

Anyway, there are some very interesting ideas in this code, and I am using it on a pretty regular basis. Maybe some of you would also find them interesting/helpful. I look forward to see this continue developing!

John

-----------------------------------
John Kitchin
Associate Professor
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
http://kitchingroup.cheme.cmu.edu



On Sun, Apr 27, 2014 at 12:57 PM, Clément B. <clement@inventati.org> wrote:

> It appears to work for multicite for me. Or at least well enough. If I
> select multiple entries, I get this:
>
> [[ref:Author1:YYYY,Author2:YYYY,Author3:YYYY][()]]
>
> I can then easily insert the text I want into the (). It exports
> properly to LaTeX as \cite{Author1:YYYY,Author2:YYYY,Author3:YYYY}.
>
> Maybe most people multi-cite more than me, but I think it is only a bit
> of extra work to add what I want in the () and then it exports properly
> to LaTeX and, using the references-via-LaTeX, to ODT/HTML too!
>
>   -k.

The problem is that you can't link to a bibtex entry,
[[ref:Author1:YYYY,Author2:YYYY]] is not picked up by org search
function of `org-open-file`. And even if it was, it couldn't link
to several entries at once. So to preserve the ability to jump
quickly to a reference, I quite like the export filter approach,
which I was unaware of (thank you Thomas! ).


Clément