[NTG-context] register for biblical citations

Hans Hagen j.hagen at xs4all.nl
Fri Apr 16 09:24:42 CEST 2021


On 4/15/2021 11:28 AM, jbf wrote:
> My simple MWE:
> 
> \defineregister[bibcit]
> \setupregister[bibcit][%
> indicator=no,
> before=]
> 
> text... \bibcit[a]{Gen 3:6 (MAC) }Gen 3:6....
> 
> (and so one for each Genesis reference, then moving on to Leviticus with 
> [b] etc.)
> 
> 
> In other words, I have used the key option [] using the alphabet to 
> change the order, with Genesis as [a], Exodus [b], Leviticus [c], and so 
> on.
> 
> Problem 1: there are 26 letters in the English alphabet. There are many 
> more biblical books (OT and NT) than 26, so what do I do when I reach z?
> 
> Problem 2: the (MAC) would not normally be required in any biblical 
> citation, but in my case it is, as well as (PER), (PRO) and several 
> other references. In other words, these indicate where, in  a set of 
> documents, the particular citations are to be found. But I think they 
> may affect the order of citations, so, for example, I get the following 
> results for the first four books of the Bible:
> 
> Gen 3:6 (MAC)            120
> Gen 4:2-8 (MAC)         123
> Gen 39:6-20 (MAG)     127
> Gen 17:1 (PES)           137
> Gen 18:27 (PES)         140
> Gen 28:10-12 (PES)    141
> Ex 20:12 (MAG)          129
> Lev 6:5-6 (PES)           136
> Deut 6:5 (PES)            145
> Lam 3:27 (MAG)          129
> 
> Notice that Gen 39:6-20 is out of order in terms of chapters and verses. 
> It should come after Gen 28:10-12 (PES) but I do not know how to control 
> that order. It may be that (MAG), which comes after (MAC) in 
> alphabetical terms, is controlling the order, rather than chapter and 
> verse which I really want to control the order.
> 
> I realise this is complicated, but I'm sure ConTeXt is up to it. I've 
> got the basics right for getting at least 26 books in some sort of 
> order, but after that??
cheat (crossed fingers that you have enough entries) :

\startluacode
sorters.definitions["biblical"] = {
     method  = interfaces.variables.before,
     replacements = {
         { "Gen",  string.char(1) },
         { "Ex",   string.char(2) },
         { "Lev",  string.char(3) },
         { "Deut", string.char(4) },
         { "Lam",  string.char(5) },
     },
}
\stopluacode

\defineregister[bibcit] \setupregister[bibcit][language=biblical,before=]

\starttext

test ... \bibcit{Gen 3:6}
test ... \bibcit{Gen 4:2-8}
test ... \bibcit{Gen 39:6-20}
test ... \bibcit{Gen 17:1}
test ... \bibcit{Gen 18:27}
test ... \bibcit{Gen 28:10-12}
test ... \bibcit{Ex 20:12}
test ... \bibcit{Lev 6:5-6}
test ... \bibcit{Deut 6:5}
test ... \bibcit{Lam 3:27}

\blank[3*big] \placeregister[bibcit]

\stoptext

but is shows that it's not impossible to come up with a solution

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------


More information about the ntg-context mailing list