aboutsummaryrefslogtreecommitdiff
path: root/man/colitur-config.5
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-20 17:33:26 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-20 17:33:26 +0200
commit46ffa91fd4fcc2249cd097b3b3a639d37a7d592e (patch)
tree8aa5ec165685a21c190bee99a3ed58f648d6fdf8 /man/colitur-config.5
parent152bba4c94060ea2ac7430dfdf826450ee4f2bd8 (diff)
downloadcolitur-46ffa91fd4fcc2249cd097b3b3a639d37a7d592e.tar.gz
colitur-46ffa91fd4fcc2249cd097b3b3a639d37a7d592e.zip
fix(lang): stop internal book ids reaching output, and finish the docs
Three defects, all found by running the documented examples rather than by reading code. All seven modern-numbering targets carried their own internal id as their Latin name (kings_1.full = kings_1), so --sigla-tradition modern printed "kings_1 19:3-8" -- leaking a key book.mli states is never shown to a reader. They now carry Vulgate-derived Latin names marked CONSTRUCTED: the 1962 Missal uses Vulgate numbering throughout, so it can contain no incipit for a book that exists only under a later convention. In Latin the modern tradition therefore only moves Kings and Esdras; Osee, Ionas, Ecclesiasticus and the Apocalypse keep their names either way, since modern numbering is a vernacular convention. The coverage test could not catch this. It compares a name against its KEY ("kings_1.full"), and "kings_1" differs from that, so the row passed. A second check now asserts no name IS its own id. The two are complementary: one catches a missing row, the other a row present but filled with the wrong thing. Mutation-proved. --help still claimed sigla settings were resolved "but not yet rendered", stale since the render wiring landed. colitur-config.5 documented none of the three settings even though config --show prints them.
Diffstat (limited to 'man/colitur-config.5')
-rw-r--r--man/colitur-config.563
1 files changed, 63 insertions, 0 deletions
diff --git a/man/colitur-config.5 b/man/colitur-config.5
index 8f21028..6b3a574 100644
--- a/man/colitur-config.5
+++ b/man/colitur-config.5
@@ -181,6 +181,69 @@ accepts it. Relevant only to
which requires a format either from this setting or from
.BR \-\-format ;
no default.
+.TP
+.B sigla_style
+Which citation STYLE to render book names and punctuation with: a language
+code, or a path to a file carrying a
+.B [sigla]
+section. Defaults to the resolved
+.IR lang ,
+so a booklet's citations follow its own language unless told otherwise.
+See
+.BR colitur (1)'s
+.B SIGLA
+section for the five style settings.
+.TP
+.B sigla_book
+.BR full " or " abbr .
+Overrides the selected style's own
+.B book
+setting. Default
+.BR abbr ,
+giving
+.B "Luc. 5:12\-14"
+rather than
+.BR "Evangelium secundum Lucam 5:12\-14" .
+An unrecognised value is a hard error, the same discipline as an unknown
+.BR \-\-lang .
+.TP
+.B sigla_tradition
+A section name in
+.IR lang/traditions.ini ,
+deciding which book a reference DENOTES rather than what it is called.
+Default
+.BR vulgate ,
+the identity \(em colitur never renumbers unless asked. With
+.B modern
+the Vulgate's own
+.B "3 Kings 19:3\-8"
+renders as
+.B "1 Reg 19:3\-8"
+in Latin, or
+.B "1 Kgs 19:3\-8"
+under
+.BR "\-\-lang en" .
+In Latin the modern tradition only really moves Kings and Esdras: Osee,
+Ionas, Ecclesiasticus and the Apocalypse keep their Vulgate names either
+way, because modern numbering is a vernacular convention.
+Unlike
+.IR sigla_book ,
+an unrecognised value is NOT fatal: it warns on stderr and falls back to
+.BR vulgate ,
+because asking for a renumbering is optional the way asking for a language
+is not.
+.PP
+Naming and renumbering are deliberately separate mechanisms.
+.I sigla_style
+selects what a book is CALLED, which varies by language;
+.I sigla_tradition
+selects which book a reference DENOTES, which does not \(em "modern
+numbering" is the same decision in Latin, Polish and English. Conflating
+them is how a citation ends up naming the wrong book.
+.PP
+None of these affect
+.BR \-\-raw ,
+which emits every citation exactly as stored, byte for byte.
.SH UNKNOWN KEYS AND SECTIONS
A key inside
.B [defaults]