bibleref.sty v1.11: a LATEX2e package for typesetting bible references

Nicola Talbot

School of Computing Sciences
University of East Anglia
Norwich. Norfolk. NR4 7TJ.
United Kingdom
http://theoval.cmp.uea.ac.uk/~nlct/

29th April 2010


Contents

Introduction

The bibleref package was designed to provide consistent formatting for referencing parts of the bible.

\bibleverse{book title}(chapter:verse(s))

This command can be used to cite a bible book, chapter or verse or range of chapters or verses.

The book title, book title, may be given either as the full title (e.g. Matthew) or as an abbreviation (e.g. Mt or Matt), most standard abbreviations are recognised. Books with multiple parts should be preceeded by the book number in uppercase roman numerals. For example, the second book of Kings should be entered as \bibleverse{IIKings}

You may have any number, or zero, sets of parenthesis (chapter:verse(s)), indicating the chapter and verse or verses. Verses can be specified as a comma separated list of individual verses or range of verses. A range of verses should be written with a single hyphen, e.g. 2-4. In the typeset output the verses will be separated with \BRvsep (an en-dash by default.) A chapter may be referenced without a verse, but the colon must remain, e.g. (12:) simply indicates chapter 12.

A range of verses spanning more than one chapter can be entered as (ch:v)-(ch:v)

Examples:

\bibleverse{Ex} Exodus
\bibleverse{Exodus}(20:) Exodus 20
\bibleverse{Exod}(20:17) Exodus 20:17
\bibleverse{IICo}(12:21) 2 Corinthians 12:21
\bibleverse{IICor}(12:21-32) 2 Corinthians 12:21-32
\bibleverse{Ex}(20:17)(21:3) Exodus 20:17;21:3
\bibleverse{Ex}(15:)(17:)(20:) Exodus 15;17;20
\bibleverse{Rev}(1:2,5,7-9,11) Revelation 1:2,5,7-9,11
\bibleverse{IChronicles}(1:3)-(2:7) 1 Chronicles 1:3-2:7

The style of the reference can be specified either by package option or as the argument to the command

\biblerefstyle{style}

Styles are listed in Table 1.




Table 1: Bible Citation Styles (can be used as package option or in the argument to \biblerefstyle)
Style Example
default 2 Corinthians 12:1-5
jerusalem 2 Co 12:1-5
anglosaxon II Cor 12.1-5
JEH 2 Cor xii. 1-5
NTG 2 Cor xii,1-5
MLA 2 Cor xii.1-5
chicago 2 Cor xii:1-5
text 2 Cor xii:1-5

You can change the name of a book using

\setbooktitle{name}{new title}

Note that name must be the full name, not the abbreviated name of the book. For example, to change Revelation to Apoc, do \setbookname{Revelation}{Apoc} (Note that you shouldn't do \setbookname{Rev}{Apoc})

If you want a different title for a book depending on whether it's in the main body of the document or in the index, you can set the index version using:

\setindexbooktitle{name}{title}

In this case, name should be the name you'll use in \ibibleverse. For example, if you do:

\setbooktitle{Psalms}{Psalm}
\setindexbooktitle{Psalms}{Psalms}
Then \ibibleverse{Psalms}(2:) will print Psalm the document and Psalms in the index, but \ibibleverse{Ps}(2:) will print Psalms in both the document and the index.

You can add a book using

\addbiblebook{name}{title}

For example:

\addbiblebook{Susanna}{Story of Susanna}

Defining New Styles

You can define a new style using the command

\newbiblerefstyle{style-name}{commands}

where commands are the commands needed to modify the citation style.

Example: This new style is based on the `default' style, but has verses in lower case Roman numerals, and redefines ``Revelation'' as ``Apocalypse''.

\newbiblerefstyle{sample}{%
\biblerefstyle{default}%
\renewcommand{\BRversestyle}[1]{\romannumeral##1}%
\setbooktitle{Revelation}{Apocalypse}%
}
Note the use of ##1 instead of #1.

Indexing Bible References

\ibibleverse{book title}({chapter}:verse(s))

This does the same as \bibleverse but also adds an index entry (provided you have used \makeindex in the preamble.) The default page number format is given by the command \bvidxpgformat. This is textrm by default, but can be redefined. To override the page number format for a particular entry you can use the optional argument to \ibibleverse. For example:

\ibibleverse[textit]{Exodus}
(Note there is no backslash.)

Separate Scripture Index

If you want a separate index for bible verses, in addition to a general index, you can redefine \biblerefindex. This command defaults to \index, but can be changed to the appropriate indexing command. For example, suppose you are using the multind package and you want a general index and a scripture index, you can do something like:

\documentclass{article}
\usepackage{bibleref}
\usepackage{multind}

\makeindex{scripture}
\makeindex{general}

\renewcommand{\biblerefindex}{\index{scripture}}
In the document, you can use \ibibleverse as before, and the scripture index is displayed using
\printindex{scripture}{Scripture Index}
You will then need to run makeindex on the file scripture.idx. See the multind documentation for further details.

Changing the Sort Order

The bible reference entries will be sorted alphabetically by makeindex. However you may prefer the entries to be sorted according to their order in the bible. This can either be done using xindy instead of makeindex and creating your own custom alphabet (see xindy manual for details) or you can use bibleref's mapping command.

\biblerefmap{label}{new sort key}

For example, in the preamble:

\biblerefmap{Genesis}{01}
\biblerefmap{Exodus}{02}
\biblerefmap{Leviticus}{03}
\biblerefmap{Numbers}{04}
\biblerefmap{Deuteronomy}{05}
...
When you run makeindex, the references will now be sorted in numerical order.

If you want to subdivide the index into, say, old and new testament, you can add this to the mapping. For example:

\biblerefmap{Genesis}{1@Old Testament!01}
\biblerefmap{Exodus}{1@Old Testament!02}
\biblerefmap{Leviticus}{1@Old Testament!03}
\biblerefmap{Numbers}{1@Old Testament!04}
\biblerefmap{Deuteronomy}{1@Old Testament!05}
...
\biblerefmap{Matthew}{2@New Testament!01}
\biblerefmap{Mark}{2@New Testament!02}
...

Acknowledgements

Many thanks to all the useful comments from comp.text.tex, especially from Jesse Billett, Brooks Moses and Ulrich M. Schwarz.



Nicola L. C. Talbot. School of Computing Sciences. University of East Anglia. Last Modified: 2010-04-29