diff options
Diffstat (limited to 'templates/ef/ordo.tex')
| -rw-r--r-- | templates/ef/ordo.tex | 99 |
1 files changed, 78 insertions, 21 deletions
diff --git a/templates/ef/ordo.tex b/templates/ef/ordo.tex index 6012753..c4a15d1 100644 --- a/templates/ef/ordo.tex +++ b/templates/ef/ordo.tex @@ -1,33 +1,90 @@ % colitur ordo booklet -- LaTeX. flavour: latex -% Build: colitur table --year 2027 --template ordo.tex > ordo.tex && pdflatex ordo.tex +% Build: colitur table --year 2027 --template ordo.tex > ordo.tex && pdflatex ordo.tex && +% pdflatex ordo.tex (twice, so \pageref in the table of contents settles) % -% Day label falls back to the slug when the day carries no Latin name (most -% temporal days, and most sanctoral entries, which are Latin-less in the -% shipped data). The fallback is written as a name-section wrapping a plain -% var and its inverse, deliberately NOT as a single dotted-path lookup -% followed by its own inverse: a dotted lookup that misses climbs to the -% enclosing scope for the WHOLE path, and the month object also carries a -% same-named key one level up, so the naive form would render the month's -% own Latin name on every day lacking one, and never fall back at all. -\documentclass[10pt,twoside]{article} -\usepackage[a5paper,margin=15mm]{geometry} +% A5, one week per page, each day in a framed box with a colour swatch. Every +% fixed string (headings, the Epistle/Gospel/Commemoration/Week labels) +% comes from the view's term vocabulary rather than being written into this +% file, so a translated booklet needs no template edit -- only a different +% --lang. +% +% The observed day's own display name is a PLAIN resolved string +% (View.of_days, Task 5), never a lang-keyed object -- there is no +% dotted-la-with-slug-fallback idiom to write here at all; a day with no +% name in the shipped data still resolves to something printable (its slug, +% under --raw, or the lang table's own miss-echoes-the-key behaviour), so +% the plain name field alone is always enough. +% +% 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. +% +% 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 +% one would still be parsed as a tag -- which is why this whole header is +% deliberately written without ever typing two curly braces next to each +% other, even to name a field. +\documentclass[10pt]{article} +\usepackage[a5paper,top=11mm,bottom=12mm,inner=14mm,outer=10mm]{geometry} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} +\usepackage{xcolor} +\usepackage{tikz} +\usepackage{tcolorbox} \usepackage{fancyhdr} -\pagestyle{fancy} -\fancyhead[C]{ORDO {{year}} \textperiodcentered\ {{rite}}} +\usepackage[hidelinks]{hyperref} +\definecolor{licolwhite}{HTML}{FFFFFF} +\definecolor{licolred}{HTML}{C1272D} +\definecolor{licolgreen}{HTML}{2E7D32} +\definecolor{licolviolet}{HTML}{6A1B9A} +\definecolor{licolrose}{HTML}{E91E8C} +\definecolor{licolblack}{HTML}{000000} +% A framed square, always outlined in black regardless of fill -- so white +% (and, on a black background page, black) still reads as a swatch rather +% than a gap. tikz (a tcolorbox dependency already) draws the border; xcolor +% alone cannot outline a filled rule. +\newcommand{\swatch}[1]{\tikz[baseline=-0.6ex]{\fill[draw=black,line width=0.4pt,fill=#1] (0,0) rectangle (2.4ex,2.4ex);}} +\pagestyle{fancy}\fancyhf{} +\fancyhead[C]{\small {{term.ordo}} {{year}} \textperiodcentered\ {{rite}}} +\fancyfoot[C]{\small\thepage} +\renewcommand{\headrulewidth}{0.4pt} \setlength{\parindent}{0pt} \begin{document} + +\begin{center} +\Large\bfseries {{term.ordo}} {{year}}\\[2pt] +\normalsize\mdseries {{rite}} +\end{center} +\vspace{4mm} +{\bfseries {{term.contents}}}\par\vspace{2mm} +\begin{small} {{#months}} -\section*{ {{name.la}} } -{{#days}} -\textbf{ {{dom}} } \quad {{#name}}{{la}}{{^la}}{{slug}}{{/la}}{{/name}}\\ -\small {{rank}} \textperiodcentered\ {{colour}}\\ -{{#first}}\small Ep. {{first}}\quad{{/first}}{{#gospel}}\small Ev. {{gospel}}{{/gospel}}\\ -{{#comms}}\small Com. {{slug}}\\ -{{/comms}} -\medskip +\textbf{ {{name}} }\par +{{#weeks}}\hspace*{4mm}{{term.week}} {{num}}\dotfill\pageref{w{{month_num}}-{{num}}}\par +{{/weeks}} +{{/months}} +\end{small} +\clearpage +{{#months}} +{{#weeks}} +\label{w{{month_num}}-{{num}}} +{\bfseries\large {{month_name}} }\hfill{\small {{term.week}} {{num}}}\par\vspace{0.5mm} +{{#days}} +{{#in_month}} +\begin{tcolorbox}[colback=white,colframe=black!35,boxrule=0.4pt,left=1.6mm,right=1.6mm,top=0.4mm,bottom=0.4mm,before skip=0.5mm,after skip=0mm] +{\bfseries {{dom}} } \;\; {\scriptsize {{weekday}} } \hfill \swatch{licol{{colour}}}\par +{\bfseries {{name}} }\par +{\scriptsize {{rank_name}} \textperiodcentered\ {{colour_name}} }\par +{{#first}}{\scriptsize {{term.epistle}}\ {{first}} }\quad{{/first}}{{#gospel}}{\scriptsize {{term.gospel}}\ {{gospel}} }{{/gospel}} +{{#comms}}\par{\scriptsize {{term.commemoration}}\ {{name}} }{{/comms}} +\end{tcolorbox} +{{/in_month}} {{/days}} +\clearpage +{{/weeks}} {{/months}} \end{document} |
