Hans, thanks for your ingenious solution but there is still a way to go I suspect! I implemented (copy-paste) precisely the solution offered and I get an index but with some strange results ! Notice that in my previous own solution (but only as far as 26 books!) I at least got an index in the order of the biblical books, but using the luacode you offered, I get a seemingly random result (see below). I extended your example by a few books. so: \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) }, { "Dan", string.char(6) }, { "Joel", string.char(7) }, { "Ps", string.char(8) }, { "Prov", string.char(9) }, { "Sir", string.char(10) }, { "Mt", string.char(11) }, { "Mk", string.char(12) }, }, } \stopluacode But the result I get (just showing you a dozen or so, and you will see that Gen doesn't even turn up in this list ... it does, but much later!): Mk 2:19-20 with parallels (PES) 146 Mt 3:8-10 (PES) 135 Prov 3:11-12 (PES) 139, 172 Sir 4:17-18 (PES) 139 Mt 5:5 (PES) 146 Mt 5:6 (MAC) 123 Mt 5:16 (MAC) 121 Mt 6:1-6, 16-18 (MAC) 121 Mt 6:1-6, 16-18 (PES) 145 Mt 7:13-14 (PES) 146 Sir 10:9 (PES) 142 Mt 11:12 (PRO) 160 Mt 12:34 (MAC) 124, 137 Mt 12:36 (PES) 134 Mk 12:41-44 (MAC) 122 Sir 17:27 (PES) 142 I have no idea why this is happening. I changed nothing of what you gave me and removed anything I had previously. If you need an example of how \bibcit is being used in the text, just in case it helps (but I doubt it), here is one: The widow’s mite pleased God because of her good intention, rather than the heap of money that the pharisees, urged on by self-love, threw into the treasury box (cf. \bibcit{Mk 12:41-44 (MAC)}Mk 12:41-44). So, not sure where to go from here. Could I perhaps return to my earlier question, which indicated that by using the keyword approach [a] [b] and so on, as far as [z] I was at least getting a passable result, but how could I continue past [z]? Could I have used [1], [2] etc which would allows me to get as far as 66 (if I were to need every biblical book)? Julian On 16/4/21 5:24 pm, Hans Hagen wrote:
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 -----------------------------------------------------------------