9776331de00e9051dcf9d76c88e2580f0d78f688
A finite \parfillskip was tried at 0.75\textwidth (no effect) and then, after deriving the threshold, at 0.15\textwidth (real effect, bad trade). Badness is 100(G/X)^3 against tolerance 4000, so the threshold is G ~ 3.4(X + 24pt): on a 430pt measure any X at or above 0.25\textwidth prescribes a threshold longer than the measure and can never fire. The only values in range are 0.15 and 0.10, and 0.10 bites harder — so the lever is effectively binary. At 0.15 it did what it promised and cost more than it bought: paragraph-final mean 161.7 -> 142.7, p90 319 -> 267, max 398 -> 341 paragraph-internal median 22.8 -> 35.7pt, >3em short 29.4% -> 48.0% underfull boxes 123 -> 1902 There are far more interior lines than final ones. Back to ragged2e's default, with the derivation kept in the preamble so this is not rediscovered by experiment a third time. Net of all five levers: 5 fixed a real conflict, 2 and 4 are harmless and near-inert here (the ragged right margin is never reached, and only 1.6% of lines begin with a protrudable character), 1 and 3 were reverted as measurably harmful. Rag is within ~1% of where it started. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Ross 1988 — re-typeset edition (work in progress)
Re-typesetting Fiona Ross's 1988 SOAS Ph.D. thesis The Evolution of the Printed Bengali Character from 1778 to 1978 from the ProQuest scan into a searchable PDF.
Quick start
make image # build the toolchain container (TeX Live/XeLaTeX, poppler, tesseract, python)
make check # consistency checks
make build # → ross-1988-retypeset.pdf (previous version archived in older-versions/)
Continue the conversion with Claude Code from this directory: it reads CLAUDE.md,
PLAN.md, CONTINUATION.md; /batch, /verify and /status are provided in .claude/commands/.
Layout
| Path | What |
|---|---|
source/10731406.pdf |
the scan (ProQuest), untouched |
src/preamble.tex, src/colophon.tex, src/pages/pNNNN.tex |
one file per original page (NNNN = PDF page) |
plates/ |
plate images cropped from the scan at native 300 dpi |
fonts/ |
Tiro Bangla (OFL) |
tools/ |
prep.sh (raster+OCR scaffold), ocr2tex.py (draft), crop_plate.py, check.py |
manifest.tsv |
page-by-page ledger: PDF page → printed page, kind, status, file |
PLAN.md / CONTINUATION.md / QUESTIONS.md / CLAUDE.md |
design · resume point · open readings · working rules |
older-versions/ |
every superseded PDF and preamble |
scans/, work/ |
scratch (regenerable; excluded from the archive) |