/bibretrieve

BibRetrieve: An Emacs library for searching and downloading BibTeX entries from the web.

Primary LanguageEmacs LispGNU General Public License v3.0GPL-3.0

This is the README file for BibRetrieve.

Requirements

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

Installation

The esiest way is to install from MELPA: MELPA

If you have to install manually and for development:

  • 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")

Usage

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

Configuration

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) ("zbm" . 5)))

The following backends are included in the repository.

Backend Key
ArXiv "arxiv"
MathSciNet "msn"
MrLookup "mrl"
Citebase "citebase"
Inspire "inspire"
Zentralblatt MATH "zbm"

The arXiv backend is currently disabled, because I do not know how to export bibtex from the new adsabs api. In any case, it appears to be a better idea to make this package part of biblio.el in the long run.

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

If you don't want to be prompted for a bibtex file but instead perform all operations on the default one, set the variable bibretrieve-prompt-for-bibtex-file to nil. The default file is the first non-empty result of

  1. the first bibtex file used in the current document (obtained by calling reftex-get-bibfile-list)
  2. the bibtex file defined in the variable reftex-default-bibliography
  3. the currently opened buffer if it has a .bib extension

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.

Acknowledgments

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.