bdeshiandClaude Opus 5 e602e7e631 Link audit: fix three plate links from elided ranges
CLAUDE.md requires re-auditing the cross-reference rule after any change
to it, and polish.py changed twice this session. tools/linkaudit.py does
it: three classes checked mechanically, the fourth printed to be read.

  dangling targets                      0
  plate page mismatch (listed vs set)   0   (all 178)
  chapter page mismatch                 0
  `p. N` self-references               25   all read, all sound

The finding: an elided range end is not a plate number of its own.
plate_sub ran re.sub(r"\d+") over the whole range, so "pls. 146-8" linked
its 8 to plate 8 (orig. p.35) and "pls. 142-5" linked its 5 to plate 5
(p.23). Three links, all pointing at the wrong plate — invisible to every
other check, since the targets exist and the text is correct. The end is
now expanded against the leading digits of the number it is elided
against: 146-8 -> plate 148 (p.334), 142-5 -> plate 145 (p.329), both
confirmed against the List of Plates and against where \plateop sets
them.

Worth noting what the audit also confirmed: in two footnotes the rule
discriminates a citation page from a self-reference in the same sentence
— "(London, 1962), p. 43; also see below, p. 63" links only the second.

NOT YET BUILT: the Docker daemon is down, so make verify has not run
against this change. polish.py was run on the host and the audit re-run
against its output, but the PDF does not yet carry the fix.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 10:00:13 +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%