Blindex (blindex:0.3.0) is a Typst package specifically designed for the generation of indices
of Biblical literature citations in documents. Target audience includes theologians and authors
of documents that frequently cite biblical literature.
Index Sorting Options
The generated indices are gathered and sorted by Biblical literature books, which can be ordered according to various Biblical literature book ordering conventions, including:
"LXX"– The Septuagint;"Greek-Bible"– Septuagint + New Testament (King James);"Hebrew-Tanakh"– The Hebrew (Torah + Neviim + Ketuvim);"Hebrew-Bible"– The Hebrew Tanakh + New Testament (King James);"Protestant-Bible"– The Protestant Old + New Testaments;"Catholic-Bible"– The Catholic Old + New Testaments;"Orthodox-Bible"– The Orthodox Old + New Testaments;"Oecumenic-Bible"– The Jewish Tanakh + Old Testament Deuterocanonical + New Testament;"code"– All registered Biblical literature books: All Protestant + All Apocripha.
Biblical Literature Abbrevations
It is common practice among theologians to refer to biblical literature books by their
abbreviations. Practice shows that abbreviation conventions are language- and tradition-
dependent. Therefore, blindex usage reflects this fact, while offering a way to input
arbitrary language-tradition abbreviations, in the lang.typ source file.
Language and Traditions (Variants)
The blindex implementation generalizes the concept of tradition (in the context of
biblical literature book abbreviation bookkeeping) as language variants, since the software
can have things such as a “default” of “n-char” variants.
As of the current release, supported languages include the following few ones:
| Language | Variant | Description | Name |
|---|---|---|---|
| English | 3-char | A 3-char abbreviations | en-3 |
| English | Logos | Used in logos.com |
en-logos |
| Portuguese (BR) | Protestant | Protestant for Brazil | br-pro |
| Portuguese (BR) | Catholic | Catholic for Brazil | br-cat |
| French | Œcuménique (TOB) | Ecumenical in French | fr-TOB |
Additional language-variations can be added to the lang.typ source file by the author and/or
by pull requests to the dev branch of the (UNFORKED!) development repository
https://github.com/cnaak/blindex.typ.
Low-Level Indexing Command
The blindex library has a low-level index entry marking function #blindex(abrv, lang, entry), whose arguments are (abbreviation, language, entry), as in:
"the citation..." #blindex("1Thess", "en", [1.1--3])
Following the usual index making strategy in Typst, this use of the #blindex command only adds
the index-marking #metadata in the document, without producing any visible typeset output.
Biblical literature index listings can be generated (typeset) in arbitrary amounts and locations
throughout the document, just by calling the user #mk-index command:
#mk-index()
Optional arguments control style and sorting convention parameters, as exemplified below.
Higher-Level Quoting-Indexing Commands
The library also offers higher-level functions to assemble the entire (i) quote typesetting,
(ii) index entry, (iii) citation typesetting, and (iv) bibliography entrying of the passage.
Styling options are relatively abundant, giving the user a working level of control over the
output formatting, as well as allows for document-wide standardization through function
redefinitions through with, according to typst documentation.
Higher-level quoting-indexing functions are #iq(...), #bq(...), respectively for inline
and block quoting of Biblical literature, with automatic indexing and bibliography citation.
There’s also a helper #ver(...) for convenient verse number formatting, mostly aimed at being
used within block quotes.
Mandatory arguments are identical for either command:
paragraph text...
#iq(body, abrv, lang, pssg)
more text...
// Displayed block quote of Biblical literature:
#bq(body, abrv, lang, pssg)
In which:
body(content) is the quoted biblical literature text;abrv(string) is the book abbreviation according to thelang(string) language-variant (see above);pssg(content) is the quoted text passage — usually chapter and verses — as they will appear in the text and in the biblical literature index;
Common optional (named) arguments include:
version(stringorcontent) is a translation identifier, such as"LXX", or[KJV]; andcited(content) is the corresponding bibliography entry label, which can be constructed through:[@KJV].
Examples
The thumbnail.typ briefly showcases likely common package workflows. It renders as
![]()
Moreover, the test directory in the development
repository contains a couple of
tests/examples that showcase in greater detail the package’s possiblities.
Brief Release Summary
0.1.0- initial release0.2.0- improved usability and configurability0.3.0- breaking re-casing (to camel-case) of user-facing definitions
Citing
This package can be cited with the following bibliography database entry:
blindex-package:
type: Web
author: Naaktgeboren, C.
title:
value: "Blindex: Index-making of Biblical literature citations in Typst"
short: "Blindex: Index-making in Typst"
url: https://github.com/cnaak/blindex.typ
version: 0.3.0
date: 2026-02