[Leo's fork of] BibRetrieve: An Emacs library for searching and downloading BibTeX entries from the web.
Branch: master
Clone or download
Pull request Compare This branch is 3 commits ahead of pzorin:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


This is the README file for Leo's fork of BibRetrieve.


AUCTeX 11.87 is needed to run the current version of bibretrieve.


  • Clone the repository:
mkdir -p ~/.emacs.d
cd ~/.emacs.d
git clone git://github.com/pzorin/bibretrieve.git
  • Add instructions e.g. to init.el to load BibRetrieve:
(add-to-list 'load-path "~/.emacs.d/bibretrieve")
; Recompile if .el is newer than .elc
(byte-recompile-directory "~/.emacs.d/bibretrieve" 0)
(load "bibretrieve")


M-x bibretrieve or C-u M-x bibretrieve.


BibRetrieve can be configured with customize, but it is probably easier to edit e.g. init.el directly.

To configure the backends used, set the variable bibretrieve-backends. This is an alist with the names of the backends as keys and the timeouts as values. The default configuration is:

(setq bibretrieve-backends '(("mrl" . 10) ("arxiv" . 5) ("zbm" . 5)))

The following backends are included in the repository.

Backend Key
ADS "ads"
MathSciNet "msn"
Citebase "citebase"
Inspire "inspire"
Zentralblatt MATH "zbm"

If you want to add a backend, read the Commentary section in the source file bibretrieve.el.

Network requests are handled by mm-url, by default this uses the library url. If you want to use an external program, like wget or curl, put it in the variable mm-url-program and set the variable mm-url-use-external to t.


This program has been inspired by bibsnarf. The functions that create the urls for most backends are taken from there.

This programs also uses lot of function of RefTeX. The selection process is entirely based on reftex-sel. Many function have also been adapted from there.