MyNixOS website logo
Description

A database based bibliography manager for BibTeX.

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.

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.

Metadata

Version

0.5.3

License

Platforms (75)

    Darwin
    FreeBSD 13
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd13
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd13
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows