bibdb: A database based bibliography manager for BibTeX

[ mit, program, text ] [ Propose Tags ]

bibdb is a simple citation resolver and bibliography manager for BibTeX. Instead of manually copy pasting bibliographies, you specify a reference to the work you want to cite (by providing a DOI or a DBLP key, for example) in a simple domain specific language. bibdb is then responsible for fetching the citations, renaming them, removing duplicates, and sorting them properly. For more information, see the https://github.com/cacay/bibdb.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.3.0, 0.4.1, 0.4.2, 0.5.2, 0.5.3
Dependencies array (>=0.4 && <1), base (>=4.6 && <5), bibtex (>=0.1.0.6 && <0.2), bytestring (>=0.10.6 && <0.10.7), containers (>=0.5 && <1), curl (>=1.3 && <2.0), download-curl (>=0.1.4 && <0.2), filepath (>=1 && <2), microlens (>=0.3.4 && <0.5), microlens-mtl (>=0.1.5 && <0.2), microlens-th (>=0.2.1 && <0.4), mtl (>=2.2.1 && <2.3), optparse-applicative (>=0.12.0 && <0.12.1), parsec (>=3.1 && <3.2), pretty (>=1.1.3 && <1.1.4), transformers (>=0.2 && <1) [details]
License MIT
Author Josh Acay
Maintainer coskuacay@gmail.con
Category Text
Home page https://github.com/cacay/bibdb
Bug tracker https://github.com/cacay/bibdb/issues
Source repo head: git clone git://github.com/cacay/bibdb.git
Uploaded by cacay at 2016-04-15T10:40:15Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Executables bibdb
Downloads 3597 total (13 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2016-11-26 [all 3 reports]

Readme for bibdb-0.4.1

[back to package description]

bibdb

bibdb is a simple citation resolver and bibliography manager for BibTeX. Instead of manually copy pasting bibliographies, you specify a reference to the work you want to cite (by providing a DOI or a DBLP key, for example) in a simple domain specific language. bibdb is then responsible for fetching the citations, renaming them, removing duplicates, and sorting them properly (to handle cross-references).

Usage

A bibdb file might look like the following:

-- Papers
DBLP:books/aw/Knuth68
DBLP:conf/fossacs/PfenningG15 as PfenningG15
DOI:10.1145/800157.805047 as Cook71

-- Conferences
DBLP:conf/popl/2016 as Popl16

Note how we can use comments (with -- or {- ... -}) and rename references using as. References without an explicit name inherit the source address. For example, the first reference will have the name DBLP:books/aw/Knuth68 in the generated bibliography file. After we create the file, we invoke bibdb:

bibdb references.bibdb -o references.bib

(here, we assume the file is named references.bibdb). bibdb can generate compressed citations or full citations with cross-references where available. For more information on the allowed commands, see bibdb --help.

Comparison to Similar Tools

  • dblp is a command line tool that parses a TeX file and resolves all references to DBLP. This makes it unnecessary to maintain a separate file. However, dblp cannot resolve other types of references, and it gives no way to rename them.

  • citation-resolve is a package for resolving citations. It can handle more types of references but it is not a tool on its own. We might use it internally in the future.

Language Specification

bibdb files have a very simple grammar. -- is used for single line comments and {- ... -} for multi-line nested comments. Each entry is of the form <source-type> : <source-key> [as <name>]. A file is simply a list of entries.

Currently, <source-type> can only be DBLP or DOI. We may add more in the future.