Directory macros/latex/contrib/nehgs-register
nehgs-register
A LaTeX package for typesetting genealogical registers in the style of the New England Historical and Genealogical Register (NEHGS).
Features
- Person registry with key-value interface (
\definepersonkv) and legacy positional interface (\defineperson). - Computed generation numbers from parent links, with cycle detection.
- Numbered main entries (
\mainperson) with ancestor chains. - Child lists (
children,childrenofenvironments) with parent validation. - Continuation markers (
\childref) for children who appear later as main entries — a core Register convention. - Multiple marriage support (
\addmarriage) with date, place, and spouse tracking. - Vital records: birth, death, baptism, burial dates and places; occupation.
- Gender-aware pronouns (
\HeSheThey,\himherthem, etc.) keyed to thesexfield. - Approximate date qualifiers (
\circa,\before,\after,\between,\aboutdate,\probably,\say). - Date formatting through
datetime2with ISO-8601 validation. - Source citations (
\registersource,\registerendnote). - Automatic generation headings (
\generationheading). - Cross-references (
\xrefperson) with hyperlinks. - Index generation via
imakeidx(optional). - Validation (
\checkperson,\checkregister) warns on missing or malformed data. - NGSQ numbering option for Modified Register style.
Installation
From the package root:
l3build unpack
Or manually:
latex source/nehgs-register.ins
This extracts nehgs-register.sty from source/nehgs-register.dtx. Move the resulting .sty file to a directory searched by TeX.
To build the documentation:
l3build doc
To run the test suite:
l3build check
Quick start
\documentclass{article} \usepackage[en-US]{datetime2} \usepackage[date=en-US,abbrevparents]{nehgs-register} \definepersonkv{john-doe}{ name = {John Doe}, preferred = {John}, parents = {}, sex = {M}, birth = {1820-03-15}, birth-place = {Boston, Massachusetts} } \definepersonkv{james-doe}{ name = {James Doe}, preferred = {James}, parents = {john-doe}, sex = {M}, birth = {1850-11-02} } \begin{document} \begin{registersection} \mainperson{john-doe} was born \getpersonbirthdate{john-doe} in \getpersonbirthplace{john-doe}. \begin{children} \childref{james-doe}{b.~\getpersonbirthdate{james-doe}.} \end{children} \mainperson{james-doe} was born \getpersonbirthdate{james-doe}. \end{registersection} \checkregister \end{document}
Package options
| Option | Description |
|---|---|
index (default) |
Generate index entries via imakeidx |
noindex |
Suppress index generation |
fullparents (default) |
Full names in ancestor chains |
abbrevparents |
Preferred names in ancestor chains |
ngsq |
NGSQ (Modified Register) numbering |
datestyle=style |
Set datetime2 date style (alias: date=) |
Examples and tests
The examples/ directory is included in the CTAN archive and contains:
getting-started.tex— introductory example with all major featuresminimal-register.tex— smallest working registermulti-marriage.tex— person with two marriages and children from eachstuart-register.tex— four-generation Stuart dynasty register
The repository-only testfiles/ directory contains l3build regression tests covering each feature area. It is intentionally excluded from the CTAN archive.
License
Copyright 2026 James P. Howard, II.
This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, version 1.3c or later. See the LICENSE file for details.
Download the contents of this package in one zip archive (584.4k).
nehgs-register – NEHGS-style genealogical register typesetting for LaTeX
A LaTeX package for typesetting genealogical registers in the style of the New England Historic Genealogical Society (NEHGS) Register System. It supports key-value person definitions with vital records, automatic generation numbering, NGSQ-compatible numbering, multiple marriages, gender-aware pronouns, approximate date qualifiers, source citations, validation, and cross-referenced child listings.
| Package | nehgs-register |
| Home page | |
| Bug tracker | |
| Repository | |
| Version | 1.1 |
| Licenses | The LaTeX Project Public License 1.3c |
| Copyright | 2026 James P. Howard, II |
| Maintainer | James P. II Howard |
| Topics | Genealogy |