diff --git a/CLAUDE.md b/CLAUDE.md index 7a71bad..7c4adab 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -51,7 +51,7 @@ Read those three files first, every session. ## Macro reference (`src/preamble.tex`) | Macro | Use | |---|---| -| `\chapstart{Title}` / `\chaphead{Title}` | Starts a chapter/section: new page, centred bold head, bookmark, note group "Notes to Title". **Must precede `\origpage` in the file.** Resets note numbering: next `\fn` is `\fn{1}`. | +| `\chapstart[Short]{Title}` / `\chaphead[Short]{Title}` | Starts a chapter/section: new page, centred bold head, bookmark, note group "Notes to Title". **Must precede `\origpage` in the file.** Resets note numbering: next `\fn` is `\fn{1}`. The optional `[Short]` is the form used for the PDF outline, the running head and the note group, for a head the original sets on two lines — the Abstract repeats the thesis title above its own, and without it the bookmark reads as one glued string. | | `\origpage{N}` | Original page N starts here (mid-sentence is normal). Exactly one per text page file, at the point of the break. | | `\fn{n}{text}` | Footnote n of the original → endnote. n must be the original's number; `make check` enforces 1,2,3… per chapter. | | `\plateop{N}{no}{plates/pNNNN.png}{caption}` | A plate that begins original page N (the usual case: one plate per page). | @@ -63,7 +63,7 @@ Read those three files first, every session. | `\pg{N}` | Hyperlink to original page N (used in Contents/List of Plates). | | `\begin{biblist}…\end{biblist}`, `\bibgroup{…}`, `\bibhead{…}` | The Bibliography (orig. pp.419–429): the original sets it solid — a bold group heading (`\bibgroup`), then one entry per paragraph with the continuation lines indented. `biblist` gives that block (no paragraph skip, 1.6em hanging indent); `\bibhead` is a centred bold heading inside it. | | `\fig{img}` | An **unnumbered** illustration the original sets in the run of the text (no plate number, no caption — the preceding sentence carries the reference). Centred, native size, shrunk only if wider than the measure. Crop it by explicit pixel box with PIL to `plates/fig-pNNNN.png` and record the box in the manifest `notes` column. | -| `\pl{no}{caption}{page}`, `\tocl{indent}{label}{title}{page}` | List-of-Plates / Contents lines. | +| `\pl{no}{caption}{page}`, `\tocl{indent}{label}{title}{page}`, `\toclnp{indent}{label}{title}` | List-of-Plates / Contents lines. `\tocl` carries a page number and links the whole line to `page.N`; `\toclnp` is the no-page form for a front-matter entry whose number is set separately with `\pg`. | | `\unsure{text}` | Doubtful reading (logged to `unsure.log`). | | `\qslip{as printed}` | A suspected slip **inside quoted matter**. Never corrected — the slip may be the quoted source's, not Ross's. Sets the text unchanged, logs to `qslips.log`; list it in `QUESTIONS.md` with the source so it can be checked. | | `\erratum{corrected}{as printed}` | A slip in the **original** that this edition corrects: sets the corrected reading, logs to `errata.log`. Arguments must be plain text (put `\emph` outside). Every use needs a matching `\erratumline{orig page}{as printed}{corrected}` in `src/errata.tex` — `make check` enforces it — and the pair prints in the Errata section. Handwritten corrections in the scan are *not* errata: adopt them silently and log in `QUESTIONS.md`. | diff --git a/PLAN.md b/PLAN.md index fa61caf..7a31b27 100644 --- a/PLAN.md +++ b/PLAN.md @@ -9,7 +9,7 @@ Character from 1778 to 1978*, Ph.D., SOAS, 1988. ProQuest scan, 431 PDF pages, |---|---| | Layout | **Reflowed** text. `\origpage{N}` marks where original page N begins: bold sans number in the outer margin + thin bar in the line + `page.N` hyper-target. Running head shows the original page range on each edition page; edition page number in the footer | | Notes | Footnotes become **endnotes** (enotez) in a final *Notes* section, grouped "Notes to ", keeping original numbers via `\fn{n}{text}`; marks link to notes, notes link back | -| Type | 11pt **TeX Gyre ScholaX** (Century Schoolbook) on a 5.2in measure (≈70 characters a line); Liberation Sans for marks and heads; leading 1.22; **ragged right** (ragged2e `\RaggedRight`, hyphenation on); hanging punctuation (microtype protrusion, dashes hang far less); widows and orphans forbidden with `\raggedbottom`. **Tiro Bangla** for Bengali that shows the modern script (the Scheme of Transliteration). Bengali that shows a **historical** typeface is never typed: it is cut from the scan by `tools/crop_inline.py` and set with `\ig` at native size | +| Type | 12pt **TeX Gyre ScholaX** (Century Schoolbook) on a 5.95in measure; Liberation Sans for marks and heads. **Leading 1.59 — a 22.9pt line, which is the original's own, measured off the scan at 300 dpi by autocorrelating the row-ink profile; the inline specimens set it, not the text.** Inline specimens at **native size** (`\igscale` = 72.27/300), the 74% of the line the original gives them. First line indented 1.6em, `\parskip` 0.15em (ragged2e resets `\parindent` from `\RaggedRightParindent`, so both are set). **Ragged right and unhyphenated** (`\RaggedRight`, `\hyphenpenalty=10000`, `\lefthyphenmin=62`) — the typescript breaks only at spaces and at hyphens it actually typed. Hanging punctuation (microtype protrusion, dashes hang far less); widows and orphans forbidden with `\raggedbottom`. **Tiro Bangla** for Bengali that shows the modern script (the Scheme of Transliteration). Bengali that shows a **historical** typeface is never typed: it is cut from the scan by `tools/crop_inline.py` and set with `\ig` | | Structure | `\chapstart{Title}` = new page + centred bold head + PDF bookmark + notes group. One `.tex` per original page in `src/pages/pNNNN.tex` (NNNN = PDF page); `\chapstart` must come *before* `\origpage` in a file | | Plates | Cropped from the 300 dpi scan by `tools/crop_plate.py` (scanner bars, page number, caption stripped; gutter shadow swept; deskewed when the page is out of square — the one step that resamples), embedded lossless at native resolution. `\plateop{N}{no}{img}{caption}` for a plate that begins page N; `\plate{no}{img}{caption}` otherwise. Per-page crop recipe recorded in the manifest `notes` column | | Colophon | `src/colophon.tex` = leaf 2: description of the conversion + ProQuest notice text. Blank stamped leaf (PDF p.3) dropped and noted there | diff --git a/QUESTIONS.md b/QUESTIONS.md index ba16982..9d9c97b 100644 --- a/QUESTIONS.md +++ b/QUESTIONS.md @@ -11,6 +11,14 @@ Nothing outstanding. The quotation-slip table below is for checking against the sources when convenient — it does not block anything. ## Suspected slips inside quotations — left exactly as printed, for checking against the source +Never corrected: the slip may belong to the quoted source rather than to Ross. Checking one means reading +the cited page, so the table records how far the source can be got at. **Five of them cannot be checked by +anybody outside the archives that hold them** — they are unpublished letters and trade documents, and for +those the entry here is the permanent record, not a task. (Attempted remotely 2026-09-14 and abandoned: the +full text of the early printed sources could not be reached reliably, and an unverified guess is worse than +an open row.) + +### Published sources — checkable in a library | Orig. page | As printed | Quoted source | |---|---|---| | 116 | *idolotrous* | Carey, *An Enquiry* (1792), p. 2 | @@ -22,10 +30,14 @@ sources when convenient — it does not block anything. | 208 | *tounge* | Gilbert & Rivington, *Lord's Prayer in Three Hundred Languages* (1891), Preface | | 244 | *aquainted* | Rāma Kamala Sena, *A Dictionary in English and Bengalee* (Serampore, 1834), I, Preface | | 246 | *professsional* | Pandey, *Indian Palaeography* (Benares, 1952), p. 93 | +| 308 | *Newpaper* | Vijayapaliah, *Introduction of Kannada on the … Linotype* (Bangalore, 1954), p. 3 | + +### Unpublished — in the archives Ross consulted, and nowhere else +| Orig. page | As printed | Quoted source | +|---|---|---| | 276 | *Pharamaceutical* | Majumdar to May, 14 Sept 1933, Mergenthaler Correspondence file no. 918 | | 297 | *imposssible* | MC 918: King to Griffith, 4 Nov 1937 | | 305 | *seperate* | LC 17A: Tracy to Martin, 3 Sept 1964 | -| 308 | *Newpaper* | Vijayapaliah, *Introduction of Kannada on the … Linotype* (Bangalore, 1954), p. 3 | | 335 | *here* (for *there*) | Letter from David Saunders, 16 Dec 1986 | | 353 | *compatability* | Stempel, *Information; Photocomp Type Faces* (January, 1980), Design Sizes | diff --git a/src/main.tex b/src/main.tex index cbdb244..5a23f70 100644 --- a/src/main.tex +++ b/src/main.tex @@ -58,13 +58,18 @@ \pgmarknote{#1}{\color{black!45}\rule[-0.3ex]{0.5pt}{1.8ex}}\hspace{0.15em}\fi\ignorespaces} % \plateop{N}{no}{img}{caption}: a plate that begins original page N — the % page mark stays with the plate wherever it is placed. +% Built at \linewidth, never \textwidth: on four pages the original interrupts a +% displayed quotation with a plate (p0129/30/31/32, p0217/18, p0386/87), and inside +% extract's \addmargin the paragraph is set by \parshape to \linewidth. A minipage +% at \textwidth overhung the measure there by the quotation's 0.8in indent — which +% is also \marginparwidth, a coincidence that made it look like a margin-note fault. % NB \marginnote cannot place a note inside a minipage — it falls back to % setting it inline, which overflows the measure when the plate fills the full % width. So the page mark goes outside the minipage. \newcommand{\plateop}[4]{\par\medskip\noindent\InsertMark{origpg}{#1}% \hypertarget{page.#1}{}\pgmarknote{#1}% - \begin{minipage}{\textwidth}\centering - \includegraphics[width=\textwidth,height=0.74\textheight,keepaspectratio]{#3}\par\smallskip + \begin{minipage}{\linewidth}\centering + \includegraphics[width=\linewidth,height=0.74\textheight,keepaspectratio]{#3}\par\smallskip {\footnotesize\setstretch{1.05}\raggedright #2. #4\par}\end{minipage}\par\medskip} % \notesection: the endnotes set a step smaller and tighter than the text — % there are hundreds of them and they are consulted, not read through. @@ -222,11 +227,11 @@ % cut is wider than the measure, in which case it shrinks to fit. \newsavebox{\figbox} \newcommand{\fig}[1]{\par\medskip\sbox{\figbox}{\includegraphics[scale=\igscale]{#1}}% - \begin{center}\ifdim\wd\figbox>\textwidth - \resizebox{\textwidth}{!}{\usebox{\figbox}}\else\usebox{\figbox}\fi + \begin{center}\ifdim\wd\figbox>\linewidth + \resizebox{\linewidth}{!}{\usebox{\figbox}}\else\usebox{\figbox}\fi \end{center}\par\medskip} -\newcommand{\plate}[3]{\par\medskip\noindent\begin{minipage}{\textwidth}\centering - \includegraphics[width=\textwidth,height=0.74\textheight,keepaspectratio]{#2}\par\smallskip +\newcommand{\plate}[3]{\par\medskip\noindent\begin{minipage}{\linewidth}\centering + \includegraphics[width=\linewidth,height=0.74\textheight,keepaspectratio]{#2}\par\smallskip {\footnotesize\setstretch{1.05}\raggedright #1. #3\par}\end{minipage}\par\medskip} % \ig{img}: an inline type specimen cut from the 300 dpi scan by % tools/crop_inline.py, set at its natural size (1 px = 1/300 in) so that diff --git a/src/pages/p0015.tex b/src/pages/p0015.tex index 0df81b5..54208c1 100644 --- a/src/pages/p0015.tex +++ b/src/pages/p0015.tex @@ -25,9 +25,9 @@ ca & \B{চ} & śa & \B{শ} \\ cha & \B{ছ} & ṣa & \B{ষ} \\ ja & \B{জ} & sa & \B{স} \\ jha & \B{ঝ} & ha & \B{হ} \\ -ña & \B{ঞ} & ṃ & {\large\bnsignfont\XeTeXglyph 824} \\ -ṭa & \B{ট} & \textasciitilde & {\large\bnsignfont\XeTeXglyph 822} \\ -ṭha & \B{ঠ} & ḥ & {\large\bnsignfont\XeTeXglyph 827} \\ +ña & \B{ঞ} & ṃ & {\mdseries\large\bnsignfont\XeTeXglyph 824} \\ +ṭa & \B{ট} & \textasciitilde & {\mdseries\large\bnsignfont\XeTeXglyph 822} \\ +ṭha & \B{ঠ} & ḥ & {\mdseries\large\bnsignfont\XeTeXglyph 827} \\ ḍa & \B{ড ড়} & & \\ \end{tabular} \end{center} diff --git a/src/preamble.tex b/src/preamble.tex index 825e352..9854709 100644 --- a/src/preamble.tex +++ b/src/preamble.tex @@ -58,13 +58,18 @@ \pgmarknote{#1}{\color{black!45}\rule[-0.3ex]{0.5pt}{1.8ex}}\hspace{0.15em}\fi\ignorespaces} % \plateop{N}{no}{img}{caption}: a plate that begins original page N — the % page mark stays with the plate wherever it is placed. +% Built at \linewidth, never \textwidth: on four pages the original interrupts a +% displayed quotation with a plate (p0129/30/31/32, p0217/18, p0386/87), and inside +% extract's \addmargin the paragraph is set by \parshape to \linewidth. A minipage +% at \textwidth overhung the measure there by the quotation's 0.8in indent — which +% is also \marginparwidth, a coincidence that made it look like a margin-note fault. % NB \marginnote cannot place a note inside a minipage — it falls back to % setting it inline, which overflows the measure when the plate fills the full % width. So the page mark goes outside the minipage. \newcommand{\plateop}[4]{\par\medskip\noindent\InsertMark{origpg}{#1}% \hypertarget{page.#1}{}\pgmarknote{#1}% - \begin{minipage}{\textwidth}\centering - \includegraphics[width=\textwidth,height=0.74\textheight,keepaspectratio]{#3}\par\smallskip + \begin{minipage}{\linewidth}\centering + \includegraphics[width=\linewidth,height=0.74\textheight,keepaspectratio]{#3}\par\smallskip {\footnotesize\setstretch{1.05}\raggedright #2. #4\par}\end{minipage}\par\medskip} % \notesection: the endnotes set a step smaller and tighter than the text — % there are hundreds of them and they are consulted, not read through. @@ -222,11 +227,11 @@ % cut is wider than the measure, in which case it shrinks to fit. \newsavebox{\figbox} \newcommand{\fig}[1]{\par\medskip\sbox{\figbox}{\includegraphics[scale=\igscale]{#1}}% - \begin{center}\ifdim\wd\figbox>\textwidth - \resizebox{\textwidth}{!}{\usebox{\figbox}}\else\usebox{\figbox}\fi + \begin{center}\ifdim\wd\figbox>\linewidth + \resizebox{\linewidth}{!}{\usebox{\figbox}}\else\usebox{\figbox}\fi \end{center}\par\medskip} -\newcommand{\plate}[3]{\par\medskip\noindent\begin{minipage}{\textwidth}\centering - \includegraphics[width=\textwidth,height=0.74\textheight,keepaspectratio]{#2}\par\smallskip +\newcommand{\plate}[3]{\par\medskip\noindent\begin{minipage}{\linewidth}\centering + \includegraphics[width=\linewidth,height=0.74\textheight,keepaspectratio]{#2}\par\smallskip {\footnotesize\setstretch{1.05}\raggedright #1. #3\par}\end{minipage}\par\medskip} % \ig{img}: an inline type specimen cut from the 300 dpi scan by % tools/crop_inline.py, set at its natural size (1 px = 1/300 in) so that