Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Reduce authors/titles/links in .bib files

Project Description

This is a package for reducing LaTeX .bib files to include just what you want.

Shameless plug: check out our book.

Made by Alex Tait


$ pip install princeton-bibreduce


There are three ways to call the same thing

1: UNIX command line executable:

$ princeton-bibreduce -cu myManuscript.aux

2: python command line:

$ python -m bibreduce -cu myManuscript.aux

3: from python code:

import bibreduce
bibreduce.main('myManuscript.aux', coauthors=True, urlLinks=True)


Generates a .bib file. By default, it adds the _proc suffix to the generated .bib. The customizable fields are:

  • title (flag -t)
  • coauthors (flag -c)
  • doiLinks (flag -d)
  • urlLinks (flag -u)
  • abstract (flag -a)

Specifying the flag transfers that field. All fields not on this list are transferred over.

Get more help with:

$ princeton-bibreduce -h

Special behavior for links

If a link format is specified, it populates the field link. For urlLinks, it just copies over what is in the url field. For doiLinks, it puts “” in the link field.

Typical TeX workflow

The goal here is to remove titles from references and try to add URLs.

(optional) Centralized bib libraries

Suppose you have a centralized bib library MasterLibrary.bib Bib globals should go in

OSX: ~/Library/texmf/bibtex/bib/local/MasterLibrary.bib

Linux: ~/texmf/bibtex/bib/local/MasterLibrary.bib

Windows: C:\Users\<user name>\texmf\bibtex\bib\local\MasterLibrary.bib

The TeX file

Suppose you are then working on a TeX file myManuscript.tex containing:

The text of your paper.

This will pull from your centralized library.


Compile it with:

$ pdflatex myManuscript.tex
$ bibtex myManuscript.aux
$ pdflatex myManuscript.tex

Your .aux file includes everything you need to extract a .bib that is specific to this manuscript. This is where you use this module:

$ princeton-bibreduce myManuscript.aux -cu

to generate myManuscript_proc.bib. Now, go back to the .tex file and change the bibliography to the reduced one:


One more time, call:

$ pdflatex myManuscript.tex
$ bibtex myManuscript.aux
$ pdflatex myManuscript.tex

Release History

This version
History Node


Download Files

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

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(5.6 kB) Copy SHA256 Hash SHA256
Source None Aug 13, 2017

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers