Skip to content

feat(phd): canonical cover + ToC widths + Rust wrap_wide_tabulars#722

Open
gHashTag wants to merge 2 commits intomainfrom
feat/phd-canon-cover-toc-tables
Open

feat(phd): canonical cover + ToC widths + Rust wrap_wide_tabulars#722
gHashTag wants to merge 2 commits intomainfrom
feat/phd-canon-cover-toc-tables

Conversation

@gHashTag
Copy link
Copy Markdown
Owner

What

Move the v6.6+ canonical visual fixes from local /tmp/phd_build into the SSOT repo via the canonical Rust pipeline (trios-phd).

Why

Operator complaint: fixes were applied only to /tmp clones, not the repo. This PR lands the canonical state.

Changes

Cover (page 1)

  • docs/phd/assets/cover_chalkboard.png — canonical chalkboard cover (gold Flos Aureus title only; no author photo).
  • docs/phd/frontmatter/cover-page.tex (NEW) — true full-bleed via eso-pic AddToShipoutPictureBG*.
  • Cover is now page 1; legacy cover_v4.png removed from title-page.tex.
  • RU mirror: full-bleed cover block prepended before text title.

ToC

  • tocloft widens cft*numwidth so multi-level numbers (16.22.3) no longer collide with chapter titles.

graphicspath

  • + ../../assets/illustrations_v516/ — 49 canonical v516 JPGs now resolve.

Broken refs

  • \\ref{ch:platonic} -> \\ref{ch:platonic-solids} in 00-monad and 15-kepler-solids (13 refs).

Rust mechanical fix (SSOT for table-overflow issue)

  • crates/trios-phd/src/main.rs::mechanical_latex_fixes adds step 4 wrap_wide_tabulars:
    • Idempotent; wraps every standalone \\begin{tabular}...\\end{tabular} in \\resizebox{\\linewidth}{!}{...}.
    • Skips tabular*, tabularx, longtable.
    • Skips already-wrapped blocks via brace-counting look-back.
  • scripts/wrap_tabulars_oneshot.py — 1:1 Python bridge for CI parity.

Anchor: phi^2 + phi^-2 = 3. DOI 10.5281/zenodo.19227877. Defense 2026-06-15.

Refs: #265, #720.

gHashTag added 2 commits May 10, 2026 20:51
- docs/phd/assets/cover_chalkboard.png: canonical chalkboard cover
  (gold 'Flos Aureus' title only; no author photo, no overlaid text).
- docs/phd/frontmatter/cover-page.tex: NEW. True full-bleed page-1
  via eso-pic AddToShipoutPictureBG*. Page covers \paperwidth x
  \paperheight with zero margins.
- docs/phd/frontmatter/title-page.tex: drop legacy cover_v4.png
  (replaced by full-bleed cover-page).
- docs/phd/main.tex / main_ru.tex:
  * graphicspath += ../../assets/illustrations_v516/ so canonical
    v516 JPGs (49 figures) resolve at compile time.
  * eso-pic + tocloft preamble; widen ToC numwidth at all levels
    so multi-level numbers (e.g. 16.22.3) no longer collide with
    titles in Contents.
  * include cover-page BEFORE title-page so cover is page 1.
  * RU: full-bleed cover block prepended before existing text title.
- chapters/{00-monad,15-kepler-solids}.tex: \ref{ch:platonic} ->
  \ref{ch:platonic-solids} (broken 'Chapter ??' fixed, 13 refs).
- crates/trios-phd/src/main.rs::mechanical_latex_fixes: NEW step 4
  wrap_wide_tabulars(). Idempotent: every standalone
  \begin{tabular}...\end{tabular} is wrapped in
  \resizebox{\linewidth}{!}{...} so 3-column tables (Coq citation
  map, Theorem-Constant tables, INV bootstrap, ...) never overflow
  the text width again. Skips tabular* / tabularx / longtable.
  Skips already-wrapped blocks via brace-counting look-back.
- scripts/wrap_tabulars_oneshot.py: 1:1 Python bridge of
  wrap_wide_tabulars for environments where cargo is not installed
  (CI parity guarantee).

Anchor: phi^2 + phi^-2 = 3. DOI 10.5281/zenodo.19227877. Defense 2026-06-15.

Refs: trios#265 (R3), trios#720 (canonical illustrations lock).
…l/tikzcd shorthand

Iterative LaTeX compile fixes accumulated to make both EN and RU monograph build clean
under tectonic, plus mechanical table-overflow protection applied across the entire corpus.

Preamble (main.tex / main_ru.tex):
- Add gensymb, doi, coqcite (\detokenize fallback) packages
- Declare \argmax, \argmin, \sgn, \rank, \im as DeclareMathOperator
- Bind \Tr via \providecommand{\Tr}{}\renewcommand{\Tr}{\mathop{\mathrm{Tr}}}
  to avoid siunitx collision
- Add macros: \phipow, \zphi, \qphi, \bpb, \bpc, \lr
- Add refsection / coqcitebox / \coqfile / \coqlemma fallbacks
- Add theorem environments: claim, fact, observation, hypothesis,
  assumption, question, principle, invariant, guarantee, convention,
  terminology, property, protocol, notation (with Russian names in main_ru.tex)
- Add tikz cd library + tikz-cd package
- Russian babel: \AtBeginDocument{\shorthandoff{"}} so tikzcd labels with
  quotes survive babel’s active " shorthand (fixed ch.9 vesica-piscis diagram)

Chapter content patches:
- 03-golden-harvest: \end{parameter>} -> \end{equation} (line 615)
- 04-golden-scales / 33-epilogue: enumitem [\upshape(i)] -> [label=\upshape(\roman*)]
- 07-golden-sprout: \verb|\phipow{n}|\. -> \texttt{...}
- 11-vesica-piscis: extra } in cfrac chain (line 1323)
- 00-monad / 15-kepler-solids: ch:platonic -> ch:platonic-solids (11 refs)
- Z[\varphi] in optional args -> \mathbb{Z}{[}\varphi{]} (escape brackets)

Mechanical mass fix (single source of truth = Rust):
- crates/trios-phd/src/main.rs::wrap_wide_tabulars wraps every
  \begin{tabular}...\end{tabular} in \resizebox{\linewidth}{!}{...},
  idempotent (skips already-wrapped via 120-char brace look-back),
  skips tabular*, tabularx, longtable. Called from mechanical_latex_fixes
  as step 4.
- scripts/wrap_tabulars_oneshot.py: 1:1 Python bridge for sandboxes without
  cargo. Applied: 239 tabulars wrapped across 46 files.

Image canonicalization:
- 20 chapter files: \includegraphics{chXX-...} -> {NN-slug.png}
- 10 appendix files: {app-X-...} -> {X-slug.jpg}

Result:
- Both main.tex (502 pp) and main_ru.tex (485 pp) build clean under tectonic
- Cover (chalkboard Flos Aureus) renders full-bleed on page 1
- ToC numbers no longer collide (cftXXnumwidth widened, single source of truth)
- All wide tables fit within text width via \resizebox

Anchor: phi^2 + phi^-2 = 3
Defense: 2026-06-15 SPbGU
DOI: 10.5281/zenodo.19227877
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant