diff options
Diffstat (limited to 'templates/ef/ordo.ms')
| -rw-r--r-- | templates/ef/ordo.ms | 103 |
1 files changed, 90 insertions, 13 deletions
diff --git a/templates/ef/ordo.ms b/templates/ef/ordo.ms index 1035a0d..3090bc1 100644 --- a/templates/ef/ordo.ms +++ b/templates/ef/ordo.ms @@ -19,25 +19,102 @@ .\" is its own Roman numeral plus the span of in-month dates it covers .\" (e.g. Hebdomada I (Ian 1-2)), not the month name again -- the month's .\" own .SH heading above already establishes it once. +.\" +.\" Density retune (see ordo.tex's own header for the full before/after +.\" account of the same exercise): several separate, independently- +.\" verified fixes below, not one -- the page geometry, the raw-slug +.\" fields, the actual font/leading tightening, a text-column overflow, +.\" a bottom margin that measured 0.13mm on the real page, and a page +.\" break landing inside a week's own header line, each found only by +.\" rendering and reading the real PDF, never by reasoning about the +.\" source alone. +.\" +.\" First, the page itself was never A5. The rebuild that gave every other +.\" flavour a framed A5 booklet (commit feat(templates): the ordo booklet, +.\" rebuilt) never actually set groff's own page geometry for this one -- +.\" the default PDF device paper is Letter/A4-ish, roughly twice an A5 +.\" page's area, so the old days-per-page figure looked far better than it +.\" was: normalised for area it was already looser than ordo.tex's own +.\" pre-retune 53-page baseline, not merely comparable to it. Fixed the +.\" same way grid.ms already fixes its own device paper size -- a +.\" -P-p<name> flag at the groff invocation (Makefile's check-templates +.\" target), not a change in this file, since that is the one existing, +.\" precedented mechanism this codebase already uses for a groff flavour's +.\" page geometry (grid.ms's own -P-pa4l). +.\" +.\" Second, the day's rank/colour fields were reading the RAW internal +.\" strings (class-2, green), not the resolved Latin display names -- +.\" lib/render/view.ml +.\" carries both a raw field and its lang-resolved twin (rank_name, +.\" colour_name) for exactly this reason, and ordo.tex/ordo.typ both +.\" already read the resolved pair. The same rebuild commit's own message +.\" names this defect outright ("the previous version... printed slugs... +.\" was not usable as a printed booklet") -- this file had regressed to +.\" exactly that, undetected because nothing renders groff to a PDF and +.\" reads it in this project's own test suite (Layer paints over the check +.\" -templates target catches a FAILED build, never a wrong but +.\" successfully-produced one). Fixed below by reading the resolved pair +.\" instead of the raw one. +.\" NOTE: this file's own framed-box-and-swatch promise from that same +.\" rebuild commit is STILL not built for this flavour -- groff has no +.\" equivalent of tcolorbox/Typst's block() reached for here, and adding +.\" one is a real feature, not a density fix; out of THIS task's scope, +.\" left for a future one. +.\" +.\" Third, the actual density tightening: an explicit 9pt/10.5 base size +.\" and leading (was groff -ms's own default ~10pt/12pt), a tighter +.\" paragraph distance between day entries, and the citation/commemoration +.\" lines dropped from a relative \s-2 step (whatever the ambient size +.\" happens to be) to an explicit 7pt -- the same "explicit small sizes, +.\" not relative steps off a base" choice ordo.typ made and ordo.tex's own +.\" retune adopted, for the same reason: a relative step silently rides +.\" whatever the surrounding size is, which is exactly what made the +.\" original ordo.tex's own \small/\scriptsize idiom impossible to reason +.\" about. +.\" -P-pa5 (Makefile) only sets the PHYSICAL device page -- ms's own text +.\" area (po/ll, the page offset and line length) still defaults to a +.\" Letter/A4-width column regardless, so a wide line (the .TL title +.\" below is the worst case, but any long citation could do it) overflows +.\" past the real A5 edge unless set explicitly here too; found by +.\" reading the actual rendered PDF, not assumed. +.po 1.4c +.ll 12.4c +.\" .pl (text page length) otherwise stays at ms's OWN pre-A5 default +.\" (it is not derived from -P-pa5 -- that flag only tells the PDF +.\" DEVICE which physical sheet to draw on, groff's own docs are explicit +.\" that .pl is independent of it) -- found by measuring the rendered +.\" PDF directly: the last content line on a full page sat 0.13mm from +.\" the true page edge, not merely tight but genuinely unprintable on a +.\" real press. Matching .pl to the real A5 height is what makes ms's +.\" own FM (footer margin) register -- s.tmac's \n[FM]-from-the-bottom +.\" trap -- land somewhere on the actual page at all; FM alone, tried +.\" first, measurably did nothing (three different values, identical +.\" output) until .pl agreed with reality. +.pl 21c +.nr FM 1.2c +.nr PS 9 +.nr VS 10.5 +.ps 9 +.vs 10.5 +.PD 0.3v .TL {{term.ordo}} {{year}} \(bu {{rite_name}} -{{#months}} -.SH +.ps 9 +.vs 10.5 +{{#months}}.SH {{name}} -{{#weeks}} +{{#weeks}}.ne 7v .LP -\fB{{term.week}} {{num_roman}} ({{month_abbr}} {{first_dom}}{{^single_day}}\(en{{last_dom}}{{/single_day}})\fR -{{#days}}{{#in_month}} +\s(11\fB{{term.week}} {{num_roman}} ({{month_abbr}} {{first_dom}}{{^single_day}}\(en{{last_dom}}{{/single_day}})\fR\s9 +{{#days}}{{#in_month}}.sp 0.25v .IP "{{dom}}" 4 -{{name}} +\fB{{name}}\fR .br -\s-2{{rank}} \(bu {{colour}}\s+2 +\s7{{rank_name}} \(bu {{colour_name}}\s9 {{#first}}.br -\s-2{{term.epistle}} {{first}}\s+2 +\s7{{term.epistle}} {{first}}\s9 {{/first}}{{#gospel}}.br -\s-2{{term.gospel}} {{gospel}}\s+2 +\s7{{term.gospel}} {{gospel}}\s9 {{/gospel}}{{#comms}}.br -\s-2{{term.commemoration}} {{name}}\s+2 -{{/comms}}{{/in_month}}{{/days}} -{{/weeks}} -{{/months}} +\s7{{term.commemoration}} {{name}}\s9 +{{/comms}}{{/in_month}}{{/days}}{{/weeks}}{{/months}} |
