4116c4eca6569e3102284da0be1bc66c70eb6281
\platefullmeasure resets \parshape for a plate's own paragraph, so a
plate keeps the full text measure even where the original interrupts a
displayed quotation with one. Verified in the built PDF:
plate 50 (p0130) 319.2 x 484.3 pt height-limited, unchanged
plate 51 (p0131) 430.5 x 356.0 pt full measure (was 372.2)
plate 97 (p0218) 430.2 x 274.8 pt full measure (was 372.2)
plate 165 (p0387) 351.1 x 484.5 pt height-limited, unchanged
Line-breaking levers, measured with work/rag.py over 102
paragraph-internal lines on nine text pages:
1. permitted rag 2em -> 4em: made every statistic WORSE (median rag
22.8 -> 24.8pt, sd 79.6 -> 89.1, lines >3em short 29.4 -> 35.3%)
and emptied the log of underfull warnings, which was the goalposts
moving rather than a gain. Reverted; the preamble says not to try
it again without measuring.
2. \linepenalty=30: no measurable change on this sample. Kept.
3. finite \RaggedRightParfillskip: inert as set — 0.75\textwidth is
322.5pt of stretch, past the 90th percentile of last-line rag, so
it never incurs badness. Kept, pending a value that bites.
4. protrusion factor 1100 -> 1500: below the resolution of a
line-ending metric; it changes how even the rag looks, not where
lines break. Kept, unquantified.
5. \emergencystretch was set to 3em and silently overridden to 1em
lower down; the override is gone. No visual effect (zero overfull
either way), but the conflict was real.
Also fixed: \RaggedRight assigns \rightskip, \parfillskip AND \parindent
from its own parameters at every invocation, so setting those directly
does nothing. All three are now set as \RaggedRight* before the call.
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) |