tex-minify
A command-line tool to expand \input commands in TeX files and filter BibTeX files based on citations.
Features
- Recursively expands all \inputcommands in TeX files
- Handles relative paths correctly
- Supports both .texextension present or not in\inputcommands
- UTF-8 encoding support
- Configurable base directory for input resolution
- Filter BibTeX files to only keep cited references
Usage
Using uvx (no installation required)
uvx tex-minify minify input.tex
uvx tex-minify minify input.tex -o output.tex
uvx tex-minify minify input.tex --base-dir /path/to/tex/files -o output.tex
uvx tex-minify filter-bib paper.tex references.bib -o filtered.bib
Using pip installation
First install:
pip install tex-minify
Then use:
tex-minify minify input.tex -o output.tex
tex-minify filter-bib paper.tex references.bib -o filtered.bib
Using pixi (for development)
pixi install
pixi run install
pixi run -- tex-minify minify input.tex
pixi run -- tex-minify filter-bib paper.tex references.bib
Commands
minify
Process a TeX file and expand all \input commands.
tex-minify minify INPUT_FILE [-o OUTPUT] [--base-dir BASE_DIR]
Arguments:
- INPUT_FILE: Path to the input TeX file
- -o, --output: Output file path (optional, defaults to stdout)
- --base-dir: Base directory for resolving- \inputpaths (optional, defaults to input file directory)
filter-bib
Filter a BibTeX file to only include references that are cited in the TeX file.
tex-minify filter-bib TEX_FILE BIB_FILE [-o OUTPUT]
Arguments:
- TEX_FILE: Path to the TeX file containing citations
- BIB_FILE: Path to the BibTeX file to filter
- -o, --output: Output file path (optional, defaults to stdout)
Error Handling
The tool will exit with a non-zero status code and display an error message if:
- Input files are not found
- Referenced \inputfiles are not found
- Output file cannot be written
- Any other processing errors occur