\documentclass[a4paper]{article}

\usepackage{fontspec}

\usepackage{polyglossia}
	\setmainlanguage{english}

\usepackage{phonrule}
\usepackage{gb4e}

\title{The \texttt{phonrule} package (v1.0.0)}
\author{Stefano Coretta \\ \texttt{stefano.coretta@me.com}}

\reversemarginpar

\begin{document}
\maketitle

\section{Purpose}
This packages provides macros for typesetting phonological rules like those in \textit{Sound Pattern of English} (Chomsky, Noam \& Morris Halle. 1968. \textit{The sound pattern of English}. New York, Evanston, and London: Harper \& Row).

\section{Usage}
\begin{quote}
\begin{verbatim}
\phon{〈input〉}{〈output〉}
\end{verbatim}
\end{quote}

The command \verb+\phon+ has two arguments: the first one is the input of the rule and the second is the output. Here is an example with code and result:

\begin{exe}
\ex \verb+\phon{z}{r}+
\ex \phon{z}{r}
\end{exe}

\section{Usage}
\begin{quote}
\begin{verbatim}
\phonc{〈input〉}{〈output〉}{〈context〉}
\end{verbatim}
\end{quote}

\verb+\phonc+ adds a third argument for the context:

\begin{exe}
\ex \verb+\phonc{a}{ə}{[–stressed]}+
\ex \phonc{a}{ə}{[–stressed]}
\end{exe}

The commands \verb+\phonl+, \verb+\phonr+ and \verb+\phonb+ add a place holder line and put the context, respectively, on the left (l), on the right (r) and on both sides (b):

\begin{exe}
\ex
	\begin{xlist}
	\ex \verb+\phonl{k}{c}{i}+
	\ex \phonl{k}{tʃ}{i}
	\end{xlist}
\ex
	\begin{xlist}
	\ex \verb+\phonr{t}{ts}{u}+
	\ex \phonr{t}{ts}{u}
	\end{xlist}
\ex
	\begin{xlist}
	\ex \verb+\phonb{s}{z}{V}{V}+
	\ex \phonb{s}{z}{V}{V}
	\end{xlist}
\end{exe}

The \verb+\oneof+ command provides the possibility to compile several contexts, one per line, embraced by the left curly bracket. You need to use a \verb+\mbox+.

\begin{exe}
\ex
\begin{verbatim}
\phonc{t}{ts}{
\oneof{
\phold \mbox{i} \\
\phold \mbox{u}}
}
\end{verbatim}
\ex \phonc{t}{ts}{
\oneof{
\phold \mbox{i} \\
\phold \mbox{u}}}
\end{exe}

The \verb+\phonfeat+ command allows you to insert feature specifications:

\begin{exe}
\ex
\begin{verbatim}
\phonc{t}{ts}{\phold 
\phonfeat{
\mbox{–consonantal} \\
\mbox{+high} \\
\mbox{+front}}
}
\end{verbatim}
\ex \phonc{t}{ts}{\phold 
\phonfeat{
\mbox{– consonantal} \\
\mbox{+high} \\
\mbox{+front}}}
\end{exe}

\verb+\phold+ typesets a place holder line. You can nest \verb|oneof| and \verb|phonfeat| commands for complex rules.

\begin{exe}
\ex
\begin{verbatim}
\phonc{x}{y}{\oneof{
	\phold \mbox{z} \\
	\phonfeat{
	+\mbox{feature x} \\
	-\mbox{feature y}} \phold}}
\end{verbatim}
\ex \phonc{x}{y}{\oneof{
	\ \phold \mbox{z} \\ \\
	\phonfeat{
	\mbox{+feature x} \\
	\mbox{-feature y}} \phold}}
\end{exe}

You can use \verb|\env|, \verb|\envl|, \verb|\envr|, \verb|\envb| for rules with more than one output: these command typeset only the different outputs with their respective environments.

\begin{exe}
\ex
\begin{verbatim}
\phon{x}{\oneof{
	\envr{w}{\mbox{z}} \\
	\envl{v}{\phonfeat{
	+\mbox{feature x} \\
	-\mbox{feature y}}}}}
\end{verbatim}
\ex \phon{x}{\oneof{
	\envr{\mbox{w}}{\mbox{z}} \\
	\envl{\mbox{v}}{\phonfeat{
	+\mbox{feature x} \\
	-\mbox{feature y}}}}}
\end{exe}

\section{Changelog}
\subsection{v1.0.0}
\begin{itemize}
\item new definition of commands with \verb|\ensuremath|
\item change of environments to commands
\item definition of new commands \verb|\env| for personalized outputs
\item updated place holder to 1.5ex length, -1.5pt vertical position
\item updated curly brackets to only left in \verb|\oneof| command
\end{itemize}

\end{document}