Also ris is far from human readable.
ris can be reformatted to bibtext, but doing that manually disturbs my workflow when getting references while taking note about a paper in emacs.
I tend to search online for references, often just using google scholar, so when I find a ris reference, the first data I get for the ris-citation is a link.
wget -O reference.ris RIS_URL cat reference.ris | ris2xml | xml2bib >> ref.bib
This solves the problem, but it is not convenient, because I have to switch to the terminal, download the file, convert it and append the result to my bibtex file.
With the first step, getting the ris-citation is quite inconvenient. I need 3 steps just for getting a citation.
But those steps are always the same, and since I use Emacs, I can automate and integrate them very easily. So I created a simple function in emacs, which takes the url of a ris citation, converts it to bibtex and appends the result to my local bibtex file. Now I get a ris citation with a simple call to
Then I enter the url and the function appends the citation to my bibtex file.2
(defun ris-citation-to-bib (&optional ris-url) "get a ris citation as bibtex in one step. Just call M-x ris-citation-to-bib and enter the ris url. Requires bibutils: http://sourceforge.net/p/bibutils/home/Bibutils/ " (interactive "Mris-url: ") (save-excursion (let ((bib-file "/home/arne/aufschriebe/ref.bib") (bib-buffer (get-buffer "ref.bib")) (ris-buffer (url-retrieve-synchronously ris-url))) ; firstoff check if we have the bib buffer. If yes, move point to the last line. (if (not (member bib-buffer (buffer-list))) (setq bib-buffer (find-file-noselect bib-file))) (progn (set-buffer bib-buffer) (goto-char (point-max))) (if ris-buffer (set-buffer ris-buffer)) (shell-command-on-region (point-min) (point-max) "ris2xml | xml2bib" ris-buffer) (let ((pmin (- (search-forward "@") 1)) (pmax (search-forward "}
"))) (if (member bib-buffer (buffer-list)) (progn (append-to-buffer bib-buffer pmin pmax) (kill-buffer ris-buffer) (set-buffer bib-buffer) (save-buffer) ))))))
PS: When I don’t have the URL (many thanks to journals giving me only a download button), I open the file, select the content and hit
M-| (shell-command-on-region) with
ris2xml | xml2bib (searching backwards via
C-r ris so I to avoid typing the exact command) and get the bibtex version in the results buffer.
⚙ Babcom is trying to load the comments ⚙
This textbox will disappear when the comments have been loaded.
Note: To make a comment which isn’t a reply visible to others here, include a link to this site somewhere in the text of your comment. It will then show up here. To ensure that I get notified of your comment, also include my Sone-ID.
Link to this site and my Sone ID:
This spam-resistant comment-field is made with babcom.