Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Simple LaTeX environment for typesetting phonological rules

branch: master

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 phon_rule.pdf
Octocat-spinner-32 phon_rule.tex
Octocat-spinner-32 readme.mdpp

phon_rule is a user-friendly LaTeX environment for typsetting phonological rules.

Table of Contents

1. Introduction
2. Using the phon_rule Environment
3. Examples

1. Introduction

I couldn't find a good LaTeX environment for phonological rules, so I wrote my own. The phon_rule environment aims to be as simple to use as possible, while still being flexible in the types of rules it can draw.

To use this environment, simple copy the preamble of phon_rule.tex into your own LaTeX file. If this proves to be popular enough, I'll try to make it into a package, but I have no experience with LaTeX's packaging system.

Most of the LaTeX in this readme was automatically rendered using markdown-pp by way of QuickLaTeX. Because QuickLaTeX does not yet support the tipa package, any IPA symbols in this readme are approximations using the closest available LaTeX symbol.

2. Using the phon_rule Environment

The basic format of a phonological rule is:

    A \> B \/ C \_ D

which produces

{\Large \textrm{A}} {\ {\Large \to}\ } {\Large \textrm{B}} {\Huge \ /\ } {\Large \textrm{C}} {\ \rule{2em}{0.5pt}\ } {\Large \textrm{D}}

Each element of the rule can be composed of the following:

  • \cv{V}: a CV-tier or tonal-tier element

    • {\Large \textrm{V}}
  • \phoneme{S}: an IPA phoneme, using the tipa library

    • /\int/
  • \phone{S}: as above, but displayed with phonetic brackets

    • [\int]
  • \features{\f{+}{stop} \f{+}{alv.}}, a feature matrix, where each \f{+/-}{name} is a feature

  • \cvfeatures{C}{\f{\alpha}{place}}: as above, but with a CV-tier element above the feature matrix

  • \oneof{\# \\ \cv{C}}, a set of possible environments

    • \begin{cases} {\Large \textrm{\#}} \\ {\Large \textrm{C}} \end{cases}
  • \#: a word-boundary marker

    • {\Large \textrm{\#}}
  • \null: a null symbol

    • {\Large \emptyset}

3. Examples

Examples of phonological rules are found in the body of phon_rule.tex, and their output can be seen in phon_rule.pdf.

Something went wrong with that request. Please try again.