Skip to content

Yuzki/ie-tex

Repository files navigation

ie-tex

Unicode transliteration packages for several Indo-European philology workflows.

This repository currently provides four LaTeX packages:

Package Command Scope
translit-sanskrit.sty \translitSanskrit{...} Sanskrit transliteration
translit-proto-indo-european.sty \translitProtoIndoEuropean{...} Proto-Indo-European transliteration
translit-proto-indo-iranian.sty \translitProtoIndoIranian{...} Proto-Indo-Iranian transliteration
translit-avestan.sty \translitAvestan{...} Avestan transliteration

The packages convert ASCII-oriented input conventions into Unicode output. The exact replacement rules are package-specific and are regression-tested in testfiles/.

Requirements

  • A modern LaTeX distribution with expl3 and xparse
  • A Unicode-capable engine is recommended for document output
    • lualatex is the engine used by the automated regression tests
    • xelatex has also been smoke-tested successfully in this repository
  • A font with broad Unicode coverage is strongly recommended when typesetting the output
    • Good options include FreeSerif and the Noto family

Quick Start

\documentclass{article}
\usepackage{fontspec}
\setmainfont{FreeSerif}

\usepackage{translit-sanskrit}
\usepackage{translit-proto-indo-european}

\begin{document}
\translitSanskrit{;aa .t .s .m}

\translitProtoIndoEuropean{g'h gwh h1}
\end{document}

If you only need one language, load just that package.

Input Conventions

The input syntax is intentionally compact and rule-driven. A few examples:

  • Sanskrit: ;aa, :aa, .t, .d, ;s, .s, .m
  • Proto-Indo-European: g'h, gwh, h1, h2, h3
  • Proto-Indo-Iranian: ;ch, ;jh, :jh, sh, zh
  • Avestan: ;kh, xw, xv, .n, ;sh

For the authoritative behavior, see the package sources and the regression expectations in testfiles/*.tlg.

Testing

This project uses l3build.

Run the full regression suite:

l3build check

Update a saved expectation after an intentional change:

l3build save translit-sanskrit

The smoke test testfiles/smoke-all-packages.lvt verifies that all four public packages load together in one document.

Repository Layout

  • translit-core.sty: shared ordered-replacement engine
  • translit-*.sty: public language packages
  • testfiles/: regression inputs and expected logs
  • build.lua: l3build configuration

Compatibility

This refactor removed the old legacy/ package names and commands. The current public API is the translit-* package set listed above.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors