Skip to content

benthamite/bib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bib: Rudimentary support for bibliographic information retrieval

Overview

bib is a small Emacs package for quickly retrieving bibliographic metadata for books, academic papers, and films. Given only a title (and optionally an author), it searches the relevant public APIs -- Crossref, ISBNdb, OMDb, TMDb, Letterboxd -- locates the correct unique identifier (DOI, ISBN, IMDb ID, or Letterboxd slug), and returns a ready-to-use result: a DOI string, an IMDb URL, a Letterboxd slug, or a full BibTeX entry (via zotra).

If you regularly add references to a BibTeX file and want a fast way to go from "I know the title" to "I have the DOI/ISBN/IMDb URL", bib handles the lookup-and-select workflow so you don't have to leave Emacs. The interactive commands present a completion list of candidates from the upstream API, and the selected identifier is returned (and, where applicable, copied to the kill ring).

This is not a full-featured reference manager -- just a focused tool for identifier lookup and BibTeX entry generation.

Installation

bib requires Emacs 28.1 or later. All of its runtime dependencies (url, json, dom, seq) are built-in. The optional zotra package is only needed if you want to use bib-zotra-add-entry-from-title to generate BibTeX entries.

package-vc (built-in since Emacs 30)

(package-vc-install "https://github.com/benthamite/bib")

Elpaca

(use-package bib
  :ensure (bib :host github :repo "benthamite/bib"))

straight.el

(straight-use-package
 '(bib :type git :host github :repo "benthamite/bib"))

Quick start

Several commands require API keys. At minimum, set the keys for the services you plan to use:

(use-package bib
  :ensure (bib :host github :repo "benthamite/bib")
  :custom
  (bib-isbndb-key "your-isbndb-key")  ; for bib-search-isbn
  (bib-omdb-key   "your-omdb-key")    ; for bib-search-imdb
  (bib-tmdb-key   "your-tmdb-key"))   ; for bib-translate-title-into-english

Then try M-x bib-search-crossref (no API key needed) -- enter a paper title, pick from the completion candidates, and the DOI is returned and displayed in the echo area.

Documentation

For a comprehensive description of all user options, commands, and functions, see the manual.

License

GPL-3.0 -- see COPYING.txt.

About

Rudimentary support for bibliographic information retrieval

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors