BibXpert

BibXpert - Tools

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

 

 

Releases


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.

 

Documentation


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:

 


1. Default behavior

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 -o or --output options:

$ ./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-1.bib and references-2.bib will be concatenated to the references.bib file. This feature is always performed previously to any other features.


2. Deduplication

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 -D or --deduplicate options:

$ ./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 aaHPDC2015 and aaJPDC2015a should be replaced by aaCC2015.


3. Research Scholar Web Services

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 -s or --scholar options:

$ ./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
1 DOI 1.0.0
2 IEEE Xplore 1.0.0
3 Science Direct (for ‘@article’) 1.0.0
4 PubMed Central (for ‘@article’) 1.0.0
5 arXiv 1.0.0
Note that this feature may require significant amount of time depending on the number of entries listed in your bib files. Also, to avoid flooding the online services, a small delay between each request is artificially added.

Research scholar services can also be invoked separately. This feature can be enabled by using the -S or --search options:

$ ./bibxpert -S ieee -S arxiv references.bib
$ ./bibxpert --search=ieee --search=arxiv references.bib

Note that a -S or --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 -s or --scholar, or nor -a or --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

4. Enabling ALL features

In BibXpert all features can be used at once by using the -a or --all options:

$ ./bibxpert -a references.bib
$ ./bibxpert --all references.bib

Currently, the features will be executed in the following order:

# Feature Version
1 Concatenation 1.0.0
2 Deduplication 1.0.0
3 Research Scholar Web Services
      DOI 1.0.0
      IEEE Xplore 1.0.0
      Science Direct (for ‘@article’) 1.0.0
      PubMed Central (for ‘@article’) 1.0.0
      arXiv 1.0.0

5. Limit the Number of Authors and Editors

BibXpert allows the parsing of bib entries to limit the number of authors and editors. This feature can be enabled by using the -A or --authorsetal options:

$ ./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.

Note: this functionality is not enabled by default when using the ALL features functionality, since it is not an expected default behavior, and it requires the maximum number of allowed authors.

6. Compression

BibXpert allows the compression of bibliography entries and printing the minimum requirements for an entry. This feature can be enabled by using the -c or --compress options:

$ ./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.

Note: this functionality is not enabled by default when using the ALL features functionality, since it is not an expected default behavior.

 

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 -v or --verbose options:

$ ./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 -d or --debug options:

$ ./bibxpert -d -a references.bib
$ ./bibxpert --debug --all references.bib