aboutsummaryrefslogtreecommitdiff
path: root/templates
diff options
context:
space:
mode:
Diffstat (limited to 'templates')
-rw-r--r--templates/ef/ordo.adoc5
-rw-r--r--templates/ef/ordo.html7
-rw-r--r--templates/ef/ordo.md7
-rw-r--r--templates/ef/ordo.ms7
-rw-r--r--templates/ef/ordo.tex28
-rw-r--r--templates/ef/ordo.txt2
-rw-r--r--templates/ef/ordo.typ27
7 files changed, 57 insertions, 26 deletions
diff --git a/templates/ef/ordo.adoc b/templates/ef/ordo.adoc
index 0b5785d..f250426 100644
--- a/templates/ef/ordo.adoc
+++ b/templates/ef/ordo.adoc
@@ -19,6 +19,9 @@
// hand-built TOC and ordo.typ's outline already do. Walks
// months>weeks>days (the week's own padded, in-month-guarded day list) in
// place of the old months>days flat loop over the month's own flat one.
+// Each week heading 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 == heading above already establishes it once.
= {{term.ordo}} {{year}} · {{rite_name}}
:toc:
@@ -26,7 +29,7 @@
== {{name}}
{{#weeks}}
-=== {{term.week}} {{num}}
+=== {{term.week}} {{num_roman}} ({{month_abbr}} {{first_dom}}{{^single_day}}–{{last_dom}}{{/single_day}})
{{#days}}{{#in_month}}
*{{dom}}* {{name}} +
diff --git a/templates/ef/ordo.html b/templates/ef/ordo.html
index 4936974..6fdba6f 100644
--- a/templates/ef/ordo.html
+++ b/templates/ef/ordo.html
@@ -15,7 +15,10 @@
(unchanged) and a new h3 per week, using the week's own padded,
in-month-flagged day list rather than the month's flat, unpadded
one -- guarded accordingly below, the same guard every paginated
- flavour's grid already needs for that field. -->
+ flavour's grid already needs for that field. Each h3 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 h2 above
+ already establishes it once. -->
<!doctype html>
<html lang="la"><head><meta charset="utf-8">
<title>{{term.ordo}} {{year}}</title>
@@ -32,7 +35,7 @@
</style></head><body>
<h1>{{term.ordo}} {{year}} &middot; {{rite_name}}</h1>
{{#months}}<h2>{{name}}</h2>
-{{#weeks}}<h3>{{term.week}} {{num}}</h3>
+{{#weeks}}<h3>{{term.week}} {{num_roman}} ({{month_abbr}} {{first_dom}}{{^single_day}}&ndash;{{last_dom}}{{/single_day}})</h3>
{{#days}}{{#in_month}}<div class="day {{colour}}">
<span class="dom">{{dom}}</span>{{name}}
<div class="meta">{{rank}} &middot; {{colour}}{{#first}} &middot; {{term.epistle}} {{first}}{{/first}}{{#gospel}} &middot; {{term.gospel}} {{gospel}}{{/gospel}}</div>
diff --git a/templates/ef/ordo.md b/templates/ef/ordo.md
index fd8094f..59a92db 100644
--- a/templates/ef/ordo.md
+++ b/templates/ef/ordo.md
@@ -15,14 +15,17 @@
the same header treatment as the paginated flavours, for structural
consistency -- a ### per week under each month's ##, walking
months>weeks>days (the week's own padded, in-month-guarded day
- list, not the flat unpadded one the old months>days loop used). -->
+ list, not the flat unpadded one the old months>days loop used). Each
+ week heading 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 ## heading above already establishes it once. -->
# {{term.ordo}} {{year}} · {{rite_name}}
{{#months}}
## {{name}}
{{#weeks}}
-### {{term.week}} {{num}}
+### {{term.week}} {{num_roman}} ({{month_abbr}} {{first_dom}}{{^single_day}}–{{last_dom}}{{/single_day}})
{{#days}}{{#in_month}}
**{{dom}}** {{name}}
diff --git a/templates/ef/ordo.ms b/templates/ef/ordo.ms
index a5d7100..1035a0d 100644
--- a/templates/ef/ordo.ms
+++ b/templates/ef/ordo.ms
@@ -15,7 +15,10 @@
.\" treatment as the paginated flavours, for structural consistency -- a
.\" bold week run-in under each month's own .SH, walking months>weeks>days
.\" (the week's own padded, in-month-guarded day list) in place of the
-.\" old months>days flat loop over the month's own flat one.
+.\" old months>days flat loop over the month's own flat one. The run-in
+.\" 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.
.TL
{{term.ordo}} {{year}} \(bu {{rite_name}}
{{#months}}
@@ -23,7 +26,7 @@
{{name}}
{{#weeks}}
.LP
-\fB{{term.week}} {{num}}\fR
+\fB{{term.week}} {{num_roman}} ({{month_abbr}} {{first_dom}}{{^single_day}}\(en{{last_dom}}{{/single_day}})\fR
{{#days}}{{#in_month}}
.IP "{{dom}}" 4
{{name}}
diff --git a/templates/ef/ordo.tex b/templates/ef/ordo.tex
index a7fcbb3..4ffc9e9 100644
--- a/templates/ef/ordo.tex
+++ b/templates/ef/ordo.tex
@@ -7,11 +7,13 @@
% the top third of every page and cost 65 pages for a year that needed far
% fewer; that requirement is reversed here on purpose, not merely relaxed).
% Structure stays scannable through two header weights instead: every
-% week still opens with its existing small header line ({{month_name}} .
-% {{term.week}} N), and the month's own FIRST week additionally gets a
-% large, ruled banner above that line ({{#first}}...{{/first}}, a real
-% view field -- lib/render/view.ml -- not template-side arithmetic, since
-% this engine has no way to test "is this the first item" any other way).
+% week still opens with its own header line -- a Roman week number plus
+% the span of in-month dates it covers, e.g. Hebdomada I (Ian 1-2), with
+% no month name repeated, since the month heading above already
+% establishes it -- and the month's own FIRST week additionally gets a
+% large, ruled banner above that line (view field [first], lib/render/
+% view.ml -- not template-side arithmetic, since this engine has no way
+% to test "is this the first item" any other way).
% \needspace (a genuine, tiny dependency, not one of the deps this project
% freezes at the OCaml level -- LaTeX packages are a template author's own
% concern) keeps a header from being stranded alone at a page's bottom
@@ -68,9 +70,15 @@
% The engine has no parent-path syntax: nested inside a month's own week
% loop, a bare week-number reference finds the WEEK's own number, and there
% is no way to reach the enclosing month's from there. That is why each
-% week object carries its own month number and month name fields
-% (lib/render/view.ml, Task 5) -- used throughout below instead of a
-% parent-path reference, which this engine cannot express.
+% week object carries its own month number, month name and abbreviated
+% month name fields (lib/render/view.ml) -- used throughout below instead
+% of a parent-path reference, which this engine cannot express. The same
+% view resolves the week's own Roman numeral too (num_roman, arabic num
+% kept alongside it for a tradition that wants it), the day-of-month of
+% its first and last in-month day (first_dom/last_dom), and single_day
+% (true for a one-day week) -- a punctuation choice (Ian 1 vs Ian 1-2)
+% this logic-less engine cannot make for itself, so the template below
+% picks the dash only inside an inverted single_day section.
%
% This template's own %-comments are plain text to the engine: it has no
% awareness of LaTeX's comment syntax, and a stray double-brace pair inside
@@ -127,7 +135,7 @@
\begin{small}
{{#months}}
\textbf{ {{name}} }\par
-{{#weeks}}\hspace*{4mm}{{term.week}} {{num}}\dotfill\pageref{w{{month_num}}-{{num}}}\par
+{{#weeks}}\hspace*{4mm}{{term.week}} {{num_roman}} ({{month_abbr}} {{first_dom}}{{^single_day}}--{{last_dom}}{{/single_day}})\dotfill\pageref{w{{month_num}}-{{num}}}\par
{{/weeks}}
{{/months}}
\end{small}
@@ -142,7 +150,7 @@
{{/first}}
\needspace{16mm}
\label{w{{month_num}}-{{num}}}
-{\bfseries\large {{month_name}} }\hfill{\small {{term.week}} {{num}}}\par\vspace{0.5mm}
+{\bfseries\large {{term.week}} {{num_roman}} }{\small ({{month_abbr}} {{first_dom}}{{^single_day}}--{{last_dom}}{{/single_day}})}\par\vspace{0.5mm}
{{#days}}
{{#in_month}}
\begin{tcolorbox}[colback=white,colframe=black!35,boxrule=0.3pt,left=1.4mm,right=1.4mm,top=0.2mm,bottom=0.2mm,before skip=0.2mm,after skip=0mm]
diff --git a/templates/ef/ordo.txt b/templates/ef/ordo.txt
index 0ac0366..1edf0a9 100644
--- a/templates/ef/ordo.txt
+++ b/templates/ef/ordo.txt
@@ -1,7 +1,7 @@
{{#months}}
{{name}} {{year}}
{{#weeks}}
-== {{term.week}} {{num}} ==
+== {{term.week}} {{num_roman}} ({{month_abbr}} {{first_dom}}{{^single_day}}–{{last_dom}}{{/single_day}}) ==
{{#days}}{{#in_month}}
{{dom}} {{name}}
{{rank}} · {{colour}}
diff --git a/templates/ef/ordo.typ b/templates/ef/ordo.typ
index 85b609e..829bf1e 100644
--- a/templates/ef/ordo.typ
+++ b/templates/ef/ordo.typ
@@ -27,9 +27,16 @@
// The engine has no parent-path syntax: nested inside a month's own week
// loop, a bare week-number reference finds the WEEK's own number, and there
// is no way to reach the enclosing month's from there. That is why each
-// week object carries its own month number and month name fields
-// (lib/render/view.ml), used below via month_name/month_num instead of a
-// parent-path reference the engine cannot express.
+// week object carries its own month number, month name and abbreviated
+// month name fields (lib/render/view.ml), used below via month_name/
+// month_num/month_abbr instead of a parent-path reference the engine
+// cannot express. The same view resolves the week's own Roman numeral too
+// (num_roman, arabic num kept alongside it for a tradition that wants it),
+// the day-of-month of its first and last in-month day (first_dom/
+// last_dom), and single_day (true for a one-day week) -- the punctuation
+// choice between Ian 1 and Ian 1-2 this logic-less engine cannot make for
+// itself, so the heading below picks the dash only inside an inverted
+// single_day section.
//
// The engine also rejects an empty tag path outright (a bare-dot section or
// variable is a parse error, not an invented "current context" behaviour),
@@ -46,10 +53,14 @@
// per month with its weeks dotted-and-paginated underneath, because it
// walks the months-then-weeks nesting directly in its own hand-built TOC
// loop. Typst's outline instead builds its table of contents automatically
-// from real document headings, so this stays a flat list of "Month . Week
-// N" headings rather than being restructured into two heading levels --
-// changing outline depth/structure is a bigger, riskier change than this
-// defect calls for. Defect 2 DID add a "is this the month's first week"
+// from real document headings, so this stays a flat list of week headings
+// rather than being restructured into two heading levels -- changing
+// outline depth/structure is a bigger, riskier change than this defect
+// calls for. Each heading is the week's own Roman numeral plus the span
+// of in-month dates it covers (e.g. Hebdomada I (Ian 1-2)), with no month
+// name repeated -- the month heading below is a separate, non-heading
+// BANNER (not part of the outline) that already establishes it once per
+// month. Defect 2 DID add a "is this the month's first week"
// flag to the view model (lib/render/view.ml's own [first], the same
// "cheap flag beats invented template logic" call [last] already made
// elsewhere) -- used below for a separate, non-heading month BANNER
@@ -125,7 +136,7 @@
#text(size: 15pt, weight: "bold")[{{month_name}} {{year}}]
]
{{/first}}
-= {{month_name}} #sym.dot.c {{term.week}} {{num}}
+= {{term.week}} {{num_roman}} ({{month_abbr}} {{first_dom}}{{^single_day}}--{{last_dom}}{{/single_day}})
{{#days}}
{{#in_month}}