Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

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

Project details

Release history Release notifications

This version


Download files

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

Files for princeton-bibreduce, version 0.2
Filename, size File type Python version Upload date Hashes
Filename, size princeton-bibreduce-0.2.tar.gz (5.6 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page