bdeshiandClaude Opus 5 4116c4eca6 Plates full-measure inside quotations; rag levers measured
\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>
2026-09-14 21:33:42 +06:00

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)
S
Description
No description provided
Readme
113 MiB
export
Latest
2026-10-03 11:32:55 +06:00
Languages
TeX 80.6%
Python 18.4%
Shell 0.5%
Makefile 0.3%
Dockerfile 0.2%