BIBTEX-TIDY(0)

📦 version 1.14.0, in nixos 26.05, nixpkgs unstable

🌈 BibTeX Tidy v1.14.0 — bestie manual 🌈

okay so welcome to bibtex‐tidy, the cleaner and formatter for BibTeX files that’s about to make your bibliography look actually put together. This page is the full v1.14.0 tea — every flag, default, example, warning, and link stays right where it belongs. 💖

🎀 NAME 🎀

BibTeX Tidy v1.14.0 — aka bibtex‐tidy, your bibliography’s new main character. ✨

🦋 SYNOPSIS 🦋

bibtex‐tidy [infile] [‐o outfile] [option...]

🌸 DESCRIPTION 🌸

Cleaner and formatter for BibTeX files. periodt. 🧚

If no input or output file is specified, bibtex‐tidy reads the standard input or writes to the standard output respectively. Use ‐m to overwrite the input file. iykyk 💅

✨ OPTIONS ✨

  • ‐‐help, ‐h — show help. 🫶
  • ‐‐v2 — input files will no longer be modified by default. Instead, you will need to specify ‐‐modify/‐m option to overwrite the file, or ‐‐output/‐o to output to a different file.
  • ‐‐output, ‐o — write output to specified path. When omitted (and ‐m/‐‐modify is not used), the result will be printed to stdout.
  • ‐‐modify, ‐m, ‐‐no‐modify — overwrite the original input files with the tidied result. This is enabled by default but will be disabled by default in v2. For v1, use ‐‐no‐modify to output to stdout instead of overwriting the input files.
  • ‐‐omit — remove specified fields from bibliography entries.
    • Examples: ‐‐omit=id,name
  • ‐‐curly, ‐‐no‐curly — enclose all property values in braces. Quoted values will be converted to braces. For example, "Journal of Tea" will become {Journal of Tea}.
  • ‐‐numeric, ‐‐no‐numeric — strip quotes and braces from numeric/month values. For example, {1998} will become 1998.
  • ‐‐months — convert all months to three letter abbreviations (jan, feb, etc).
  • ‐‐space — indent all fields with the specified number of spaces. Ignored if tab is set.
    • Examples: ‐‐space=2 (default), ‐‐space=4
  • ‐‐tab, ‐‐no‐tab — indent all fields with a tab.
  • ‐‐align, ‐‐no‐align — insert whitespace between fields and values so that values are visually aligned.
    • Examples: ‐‐align=14 (default)
  • ‐‐blank‐lines, ‐‐no‐blank‐lines — insert an empty line between each entry.
  • ‐‐sort, ‐‐no‐sort — sort entries by the specified field names (citation key is used if no fields are specified). For descending order, prefix the field with a dash (‐).

Multiple fields may be specified to sort everything by first field, then by the second field whenever the first field for entries are equal, etc.

The following additional fields are also permitted: key (entry citation key), type (sorts by the type of entry, e.g. article), and special (ensures that @string, @preamble, @set, and @xdata entries are first).

  • Examples: ‐‐sort (sort by citation key), ‐‐sort=‐year,name (sort year descending then name ascending), ‐‐sort=name,year
  • ‐‐duplicates — warn if duplicates are found, which are entries where DOI, abstract, or author and title are the same.
    • Examples:
    • ‐‐duplicates doi (same DOIs)
    • ‐‐duplicates key (same IDs)
    • ‐‐duplicates abstract (similar abstracts)
    • ‐‐duplicates citation (similar author and titles)
    • ‐‐duplicates doi, key (identical DOI or keys)
    • ‐‐duplicates (same DOI, key, abstract, or citation)
  • ‐‐merge, ‐‐no‐merge — merge duplicates entries. Use the duplicates option to determine how duplicates are identified. There are different ways to merge:
    • first: only keep the original entry
    • last: only keep the last found duplicate
    • combine: keep original entry and merge in fields of duplicates if they do not already exist
    • overwrite: keep original entry and merge in fields of duplicates, overwriting existing fields if they exist
  • ‐‐strip‐enclosing‐braces — where an entire value is enclosed in double braces, remove the extra braces. For example, {{Journal of Tea}} will become {Journal of Tea}.
  • ‐‐drop‐all‐caps — where values are all caps, make them title case. For example, {JOURNAL OF TEA} will become {Journal of Tea}. Roman numerals will be left unchanged.
  • ‐‐escape, ‐‐no‐escape — escape special characters, such as umlaut. This ensures correct typesetting with latex. Enabled by default.
  • ‐‐sort‐fields — sort the fields within entries.

If no fields are specified fields will be sorted by: title, shorttitle, author, year, month, day, journal, booktitle, location, on, publisher, address, series, volume, number, pages, doi, isbn, issn, url, urldate, copyright, category, note, metadata

  • Examples: ‐‐sort‐fields=name,author
  • ‐‐strip‐comments, ‐‐no‐strip‐comments — remove all comments from the bibtex source.
  • ‐‐trailing‐commas, ‐‐no‐trailing‐commas — end the last key value pair in each entry with a comma.
  • ‐‐encode‐urls, ‐‐no‐encode‐urls — replace invalid URL characters with percent encoded values.
  • ‐‐tidy‐comments, ‐‐no‐tidy‐comments — remove whitespace surrounding comments.
  • ‐‐remove‐empty‐fields, ‐‐no‐remove‐empty‐fields — remove any fields that have empty values.
  • ‐‐remove‐dupe‐fields, ‐‐no‐remove‐dupe‐fields — only allow one of each field in each entry. Enabled by default.
  • ‐‐generate‐keys — for all entries replace the key with a new key of the form <author><year><title>. A JabRef citation pattern can be provided. This is an experimental option that may change without warning.
  • ‐‐max‐authors — truncate authors if above a given number into "and others".
  • ‐‐no‐lowercase — lowercase field names and entry type. Enabled by default.
  • ‐‐enclosing‐braces — enclose the given fields in double braces, such that case is preserved during BibTeX compilation.
    • Examples: ‐‐enclosing‐braces=title,journal (output title and journal fields will be of the form {{This is a title}}), ‐‐enclosing‐braces (equivalent to ‐‐‐enclosing‐braces=title)
  • ‐‐remove‐braces — remove any curly braces within the value, unless they are part of a command.
    • Examples: ‐‐remove‐braces=title,journal, ‐‐remove‐braces (equivalent to ‐‐‐remove‐braces=title)
  • ‐‐wrap, ‐‐no‐wrap — wrap long values at the given column.
    • Examples: ‐‐wrap (80 by default), ‐‐wrap=82
  • ‐‐version, ‐v — show bibtex‐tidy version.
  • ‐‐quiet — suppress logs on stdout.

🐛 BUGS 🐛

found a glitch? bestie, take it here, no cap:

https://github.com/FlamingTempura/bibtex‐tidy

👑 AUTHOR 👑

FlamingTempura — iconic. 💜


💖 That’s the tea: BibTeX Tidy v1.14.0, source https://github.com/FlamingTempura/bibtex‐tidy, author FlamingTempura — the page doesn’t list a date, so no invented timestamp, periodt. 🫶

📦 where this page comes from