Fix plate overhang inside quotations; clear the last build warnings
Four plates overhung the measure and displaced into the right margin. On those pages the original interrupts a displayed quotation with a plate (p0129/30/31/32, p0217/18, p0386/87), so \plateop ran inside extract's \addmargin, where the paragraph is set by \parshape to \linewidth — while the minipage was built at \textwidth. The quotation indents 0.5in + 0.3in, so the overhang was exactly 0.8in, which is also \marginparwidth; that coincidence made it look like a marginnote fault for a long time. \plateop, \plate and \fig now build at \linewidth, correct in any context and unchanged on the other 174 plates. Also: \mdseries on the three \bnsignfont cells of the Scheme of Transliteration, which inherited the table's \bfseries and asked for a bold Tiro Bangla that does not exist. The build log is now clean — no overfull boxes, no font warnings. The remaining underfulls are the documented cost of ragged right with hyphenation off. Docs: PLAN.md's Type row carried four stale values (11pt, 5.2in measure, leading 1.22, hyphenation on) and now records the measured leading and its derivation; CLAUDE.md's macro table documents \chapstart's optional short title and \toclnp; QUESTIONS.md splits the quotation slips by whether the source can be consulted at all — five are unpublished archive material and are a record, not a task. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -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`. |
|
||||
|
||||
@@ -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 <Chapter>", 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 |
|
||||
|
||||
+13
-1
@@ -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 |
|
||||
|
||||
|
||||
+11
-6
@@ -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
|
||||
|
||||
+3
-3
@@ -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}
|
||||
|
||||
+11
-6
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user