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.
The European Copyright directive threatens online communication in Europe.
But thanks to massive shared action earlier this year, the European parliament can still prevent the problems. For each of the articles there are proposals which fix them. The parliamentarians (MEPs) just have to vote for them. And since they are under massive pressure from large media companies, that went as far as defaming those who took action as fake people, the MEPs need to hear your voice to know that your are real.
If you care about the future of the Internet in the EU, please Call your MEPs.