BibXpert - Bibliography Management
BibXpert is an open-source bibliography management tool for LaTeX BibTex files. BibXpert operates simultaneously over multiple BibTex files through a single command line. The tool provides mechanisms to automatically concatenate bib entries from different files, resolve duplicated entries, limit the number of authors to be displayed, and compress bibliography entries to save space in the text. Additionally, it can verify data integrity of bib entries with commonly research scholar web services such as DOI, IEEE XPlore, Science Direct, PubMed Central, and arXiv.Download Issues Track Code @ GitHub
BibXpert 1.1.0 is available (Jan 2016). You can download it by clicking here.
The tool can also be fetched and tested from its GitHub repository. Please, see instructions below on how to use BibXpert.
BibXpert is constantly evolving as well as its documentation. There is no documentation of past releases since BibXpert development is incremental. Nevertheless, the documentation highlights from which version a feature is available.
BibXpert is fully developed in Python.
1. Download the latest stable version (bibxpert-1.1.0.zip) and uncompress it:
$ unzip bibxpert-1.1.0.zip
2. or download from the source code:
$ git clone https://github.com/bibxpert/bibxpert.git
3. The tool will be ready to use once the release or the source code is downloaded from GitHub. For that, just go into the folder and execute the tool:
$ cd bibxpert $ ./bibxpert --help
The tool does not require the installation of any additional Python module.
BibXpert provides several automated features for handling bib entries that can be used separately or in conjunction by combining them (i.e., using more than one option). BibXpert features include:
BibXpert basic functionality is to concatenate different BibTeX files. The tool takes as input a list of
.bib files, parses them, and prints all entries:
$ ./bibxpert references-1.bib references-2.bib
The output data can be redirected to a file by using the
$ ./bibxpert -o references.bib references-1.bib references-2.bib $ ./bibxpert --output=references.bib references-1.bib references-2.bib
In this case, the entries listed in
references-2.bib will be concatenated to the
references.bib file. This feature is always performed previously to any other features.
BibXpert can seek for duplicated entries merging them into a single enriched entry. Duplicated entries are searched by cite keys or entry titles. Cite keys should be a perfect match (but case-insensitive) to be considered a double entry. Entry titles, however, are considered duplicated if titles match sequences of characters with a ratio of at least 90%.
This feature can be enabled by using the
$ ./bibxpert -D references.bib $ ./bibxpert --deduplicate references.bib
For each duplicated entry that is merged, BibXpert will print the corresponding cite key that should be replaced in your
.tex source files:
$ ./bibxpert -o output.bib -D references.bib The following cite keys should be replaced in your latex source files: aaHPDC2015, aaHPDC2015a ==> aaCC2015 bbIPDPS2014 ==> bbIJFCS2014 ccIPDPS2013 ==> ccTPDS2013 ddHP2009 ==> ddParCo2011 eeJPDC, ee:arxiv-01010101 ==> eeJPDC2014
In the example above, the keys
aaJPDC2015a should be replaced by
BibXpert can connect to online research scholar services to update entries according to the information available online. The tool uses citation titles or identifiers to seek for online resources. Currently, the tool has access to 5 different research scholar web services (listed below).
This feature can be enabled by using the
$ ./bibxpert -s references.bib $ ./bibxpert --scholar references.bib
BibXpert will look up for entries using the web services in the following order:
|#||Research Scholar Web Service||Version|
|3||Science Direct (for ‘@article’)||1.0.0|
|4||PubMed Central (for ‘@article’)||1.0.0|
Research scholar services can also be invoked separately. This feature can be enabled by using the
$ ./bibxpert -S ieee -S arxiv references.bib $ ./bibxpert --search=ieee --search=arxiv references.bib
Note that a
--search option is required for each scholar service. BibXpert will then execute the updates according to the order of services listed in the command line. This option is only evaluated and executed if neither
--scholar, or nor
--all option are used (i.e., user defined search has less priority than the automatic search).
Currently available options are listed in the example below.
$ ./bibxpert -S doi -S ieee -S scopus -S pmc -S arxiv references.bib $ ./bibxpert --search=doi --search=ieee --search=scopus --search=pmc --search=arxiv references.bib
In BibXpert all features can be used at once by using the
$ ./bibxpert -a references.bib $ ./bibxpert --all references.bib
Currently, the features will be executed in the following order:
|3||Research Scholar Web Services|
|Science Direct (for ‘@article’)||1.0.0|
|PubMed Central (for ‘@article’)||1.0.0|
BibXpert allows the parsing of bib entries to limit the number of authors and editors. This feature can be enabled by using the
$ ./bibxpert -A 3 references.bib $ ./bibxpert --authorsetal=3 references.bib
This option expects an integer value as the maximum number of authors/editors to be listed. If an entry trespass the maximum allowed number of authors, the exceeding authors will be replaced by
others, which will be interpreted by the LaTeX parser as
et al.. The minimum required number of authors/editors is 2.
BibXpert allows the compression of bibliography entries and printing the minimum requirements for an entry. This feature can be enabled by using the
$ ./bibxpert -c references.bib $ ./bibxpert --compress references.bib
This option abbreviates authors and editors given names, as well as common terms in book and journal titles.
BibXpert provides three logging modes: default, verbose, and debug.
The default mode prompts only standard output, warning, and error messages. The verbose mode shows progress messages of the tool (e.g., applied features, number of duplicated entries or updated using online services, etc.). This mode can be enabled by using the
$ ./bibxpert -v -a references.bib $ ./bibxpert --verbose --all references.bib
The debug mode shows detailed information of the tool progress. This mode should be used sparingly, since significant amount of information may be printed out. Debugging can be enabled by using the
$ ./bibxpert -d -a references.bib $ ./bibxpert --debug --all references.bib