latex2ufdissertation

Open-source · github.com/YuZh98/latex2ufdissertation

https://github.com/YuZh98/latex2ufdissertation/actions/workflows/ci.yml/badge.svg?branch=main https://img.shields.io/badge/License-MIT-yellow.svg https://img.shields.io/badge/python-3.10%2B-blue.svg

A safety-net validator for UF doctoral dissertations using the Fall 2025+ University of Florida LaTeX template. Given a project archive, project directory, git URL, or compiled PDF, it produces a severity-tiered report citing the originating UF rule for each finding — one more pair of eyes before clicking submit.

Install

1
pip install "git+https://github.com/YuZh98/latex2ufdissertation.git@v0.5.0"

Requires Python 3.10+. The default validation is pure Python and needs no LaTeX install; the optional --compile step also requires LuaLaTeX with TeX Live 2025.

Quickstart

1
2
3
4
5
6
7
8
9
# Scaffold a new project from the bundled UF template
latex2ufdissertation --init my-thesis/
cd my-thesis/

# Validate the LaTeX source (default; no TeX installation needed)
latex2ufdissertation .

# Also compile with LuaLaTeX and run the PDF-layer checks
latex2ufdissertation --compile .

Inputs

InputSource validationPDF validationCompile
Project directory✓✓✓
*.zip archive✓✓✓
Git URL✓✓✓
*.pdf—✓—

Severity tiers

  • must-fix — documented UF rule violation that the Editorial Office is expected to require fixing.
  • review — likely issue requiring human judgment; the tool flags, the student decides.

Every finding carries a UF-* rule ID and a link back to the rule’s catalog entry.

Flags

FlagWhat it does
(no flag)Validate the LaTeX source and print the report
--compileAlso compile with LuaLaTeX and run the PDF-layer checks
--init DIRScaffold a new project
--main FILEOverride master .tex auto-detection
--demoPrint location of the bundled demo dissertation
--jsonMachine-readable summary on stdout
--versionPrint version and exit