Middlewares

Failure

These are for handling various failures in parsing and processing. See DuplicateKeyHandler and FailureHandler.

Fields

The middlewares in this module transform fields in entries.

Specific fields transformed are titles/subtitles using TitleCleaner and TitleSplitter, and URLs using CleanUrls and ExpandUrls.

Meanwhile more generalised handlers are FieldAccumulator, FieldSorter, and FieldSubstitutor.

Files

The files module handles files that are mentioned as part of entries. PathReader converts file fields into absolute Path’s, while PathWriter makes them relative to defined library roots, and then converts them to strings for writing into bibtex files. OnlineDownloader takes mentioned urls of online entries and downloads pdf’s of them, adding the paths of those pdfs to the entry.

Latex

This module provides LatexReader and LatexWriter, which are refactored versions of bibtexparser’s originals. They provide latex decoding and encoding for entries. (I prefer to write bibtex in straight unicode, and then encode as latex when needed).

Metadata

This module handles various aspects of entry metadata. eg: Tags, Isbns, Key locking, Entry sorting, and pdf/epub metadata writing.

People

This module provides refactored (from bibtexparser) author/editor splitting/joining of people, and parts of names. It also, through NameSubstitutor, allows for keeping a master list of misspelled names and their correct spellings.