Skip to main content

Bib Cleaner removes unnecessary entries from your bib files.

Project description

Bib Cleaner

https://img.shields.io/pypi/v/bib_cleaner.svg https://img.shields.io/travis/sriki18/bib_cleaner.svg Documentation Status https://img.shields.io/badge/license-BSD-brightgreen.svg

Bib Cleaner removes unnecessary entries from your bib files. Documentation @ https://bib-cleaner.readthedocs.io.

Use case

  1. You have been writing a TeX document for a while, and adding citation entries to your .bib file (say it’s called master.bib).

  2. In the course of writing, some entries in your master.bib have become obsolete. You don’t use them in your TeX document anymore.

  3. Of course, LaTeX compiles quite happily with these extra entries.

  4. You take a step back, sip some coffee, go for a walk, all the while pondering “Man, I wish I could just remove those extra bib entries”. You yearn for a world where all .bib files everywhere carry only what they have to, and no more.

I gotchu. Enter bib_cleaner.

Installation

This should work:

$ pip install bib_cleaner

Verify if it installed by typing the following in the command-line:

$ bib_cleaner -h

You should see the help:

usage: bib_cleaner [-h] [-t TEXFILES [TEXFILES ...]] [-o OUTPUTBIB] masterfile

Produce a minimal bib file with only the entries found in your .tex file(s)

positional arguments:
masterfile            master bib file with used and unused citations (.bib)

optional arguments:
-h, --help            show this help message and exit
-t TEXFILES [TEXFILES ...], --texfiles TEXFILES [TEXFILES ...]
                        content files to select entries from (.tex)
-o OUTPUTBIB, --outputbib OUTPUTBIB
                        output file name with extension

Examples

After installation, navigate to your TeX directory try:

$ bib_cleaner master.bib

Of course, replace master.bib with the name of your bib file with obsolete bib entries. bib_cleaner will automatically detect all the TeX files (.tex) in that directory and use them to determine which bib entries are obsolete.

Specify TeX files

If you only want to use some TeX files, specify them with:

$ bib_cleaner master.bib --texfiles chapter1.tex chapter2.tex

or:

$ bib_cleaner master.bib -t chapter1.tex chapter2.tex

Specify output file name

If you want to change the output bib file name from the default new.bib, do:

$ bib_cleaner master.bib -t chapter1.tex --outputbib chapter1.bib

or:

$ bib_cleaner master.bib -t chapter1.tex -o chapter1.bib

TODO

  • Remove typically unused lines from .bib files (like file = {...} or abstract = {...})

  • Detect and remove bib entries with identical tags / raise conflict

  • Add tests for the command-line interface

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

History

0.3.0 (2019-12-20)

Added

  • Option to store output in new.bib

  • Intro and examples to README.rst

0.2.1 (2019-12-20)

Added

  • get_minimal_bibs function.

  • tests for tex_to_tags and get_minimal_bibs.

Fixed

  • Documentation builds.

  • Deploy from Travis.

Removed

  • Support for Python 3.5 (no f-string support)

0.1.0 (2019-12-16)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bib_cleaner-0.3.2.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

bib_cleaner-0.3.2-py2.py3-none-any.whl (7.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file bib_cleaner-0.3.2.tar.gz.

File metadata

  • Download URL: bib_cleaner-0.3.2.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.8.0

File hashes

Hashes for bib_cleaner-0.3.2.tar.gz
Algorithm Hash digest
SHA256 518e1fac8df48b7daeb4d9ad327300065f780ccb7babb728a882e76357d135a8
MD5 b3e5e49f3913c68f835cf1407c1f4840
BLAKE2b-256 216ff8895354511d941cacf32bc709cbd41fcd156dd937ad0843b7f5a8d0874b

See more details on using hashes here.

File details

Details for the file bib_cleaner-0.3.2-py2.py3-none-any.whl.

File metadata

  • Download URL: bib_cleaner-0.3.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.8.0

File hashes

Hashes for bib_cleaner-0.3.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 3f4b3668cbbaaa84282609d904b56170f00fc05216d4c8b082aa995b138ecbd2
MD5 49cd3deec8264e78e9ae3a06b34996b1
BLAKE2b-256 45ec81597b486496279857ab001a5157175ae92b5e593da4b0f031438815e9a7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page