From 286e362bd02e7ef4130cccb36fbeb16b4fbb5a56 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Thu, 20 Aug 2026 09:01:56 +0200 Subject: fix(templates): clear the wall calendar's class label of the border, add sigla Problem 1: grid.tex's \daycell pushed the rank/class line to the exact bottom edge of its fixed-height parbox with \vfill, the same edge \hline draws the cell's bottom rule along, so 'I classis'/'IV classis'/'II classis' printed as if sliced by the rule. Fixed by nesting a second, shorter parbox (\cellh minus a new \cellpad, 1.5mm) inside the unchanged \cellh-tall outer one, so the \vfill only ever reaches to \cellpad above the rule, never touching it. \strut on both trailing lines belt-and-suspenders the fix for lines with no descenders. Problem 2: each cell now also carries the day's Epistle and Gospel references (view fields first/gospel), joined by a centred dot/bullet rather than repeated Ep./Ev. labels -- the same compact convention ordo.tex already uses between rank_name and colour_name. A grid cell is only ~3.5cm wide and Holy Week's own citations run 20-30 characters each, so class label and sigla get their own \tiny line apiece rather than being crammed onto one line and shrunk past readability; \cellh leaves about eleven \tiny lines of room, so two short lines cost little. Both first and gospel are wrapped in their own conditional section so a day missing either prints no stray separator (defensive: every day in the shipped EF lectionary has both, but nothing guarantees that of a future rite or overlay). grid.ms gains the same sigla, on their own .br line, using tbl's existing w() wrap rather than any manual line-splitting -- it was never subject to problem 1 (tbl auto-sizes row height, no fixed-height clipping risk) and never carried a class label to begin with, so none was added here. grid.html gains the sigla as a small, muted block-level span; unlike the two paper flavours it isn't boxed onto a fixed physical page, so the browser just grows the cell rather than needing any line-budget compromise. Verified with two pdflatex passes and groff -ms -t -Tpdf against all twelve 2027 months: zero Overfull warnings, 7 columns every row, class label and sigla both fully clear of every rule. test/golden/grid-2027.* regenerated through test_render_golden.ml's own render path (View.of_days + Template.render_string, the EN-with-LA-fallback lang table), not the CLI, per this project's own standing trap about the two tables differing. --- templates/ef/grid.ms | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'templates/ef/grid.ms') diff --git a/templates/ef/grid.ms b/templates/ef/grid.ms index 2244815..727143b 100644 --- a/templates/ef/grid.ms +++ b/templates/ef/grid.ms @@ -78,6 +78,19 @@ .\" Every cell also carries a last flag, true on the seventh of its row: tbl .\" needs the tab separator BETWEEN columns, not after the last one, and the .\" engine has no unless-last construct, so the flag comes from data. +.\" +.\" Sigla: each cell also carries the day's Epistle and Gospel references +.\" (view fields first/gospel), on their own .br line below the day/name +.\" line and joined by \(bu rather than repeated Ep./Ev. labels -- the +.\" same compact choice grid.tex makes, and the same separator glyph +.\" ordo.ms already uses elsewhere in this template family. tbl's own +.\" w() wrap (see above) takes care of a citation too long for the 1.3i +.\" column; no template-side line-splitting is needed here the way +.\" grid.tex needed one for its own fixed-height parbox. Both first and +.\" gospel are wrapped in their own conditional section (mirroring +.\" ordo.ms's own idiom) so a day missing either -- none does in the +.\" shipped EF lectionary, but nothing guarantees a future rite or +.\" overlay keeps that invariant -- prints no stray separator. .pl 8.27i .po 0.3i .nr LL 10.9i @@ -95,7 +108,9 @@ cw(1.3i) cw(1.3i) cw(1.3i) cw(1.3i) cw(1.3i) cw(1.3i) cw(1.3i) lw(1.3i) lw(1.3i) lw(1.3i) lw(1.3i) lw(1.3i) lw(1.3i) lw(1.3i). {{#weekday_headings}}{{name}}{{^last}} {{/last}}{{/weekday_headings}} {{#weeks}}{{#days}}T{ -{{#in_month}}\fB{{dom}}\fP \s-2{{name}}\s+2{{/in_month}} +{{#in_month}}\fB{{dom}}\fP \s-2{{name}}\s+2 +.br +\s-2{{#first}}{{first}}{{/first}}{{#gospel}}{{#first}} \(bu {{/first}}{{gospel}}{{/gospel}}\s+2{{/in_month}} {{#last}}T}{{/last}}{{^last}}T} {{/last}}{{/days}} {{/weeks}}.TE {{/months}} -- cgit v1.3