feat(phd): canonical cover + ToC widths + Rust wrap_wide_tabulars#722
Open
feat(phd): canonical cover + ToC widths + Rust wrap_wide_tabulars#722
Conversation
- 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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 viaeso-pic AddToShipoutPictureBG*.cover_v4.pngremoved fromtitle-page.tex.ToC
tocloftwidens 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_fixesadds step 4wrap_wide_tabulars:\\begin{tabular}...\\end{tabular}in\\resizebox{\\linewidth}{!}{...}.tabular*,tabularx,longtable.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.