From 6a2618ff9e74e2551b6d705dcf4c9e79c2e6cb2e Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 26 Dec 2016 22:23:51 +0000 Subject: phonrule (26dec16) git-svn-id: svn://tug.org/texlive/trunk@42795 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/phonrule/README | 7 - Master/texmf-dist/doc/latex/phonrule/README.md | 7 + .../texmf-dist/doc/latex/phonrule/phonrule-doc.pdf | Bin 36682 -> 41932 bytes .../texmf-dist/doc/latex/phonrule/phonrule-doc.tex | 216 ++++++++++++--------- Master/texmf-dist/tex/latex/phonrule/phonrule.sty | 84 +++++--- 5 files changed, 198 insertions(+), 116 deletions(-) delete mode 100644 Master/texmf-dist/doc/latex/phonrule/README create mode 100644 Master/texmf-dist/doc/latex/phonrule/README.md (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/phonrule/README b/Master/texmf-dist/doc/latex/phonrule/README deleted file mode 100644 index dbe2c065d43..00000000000 --- a/Master/texmf-dist/doc/latex/phonrule/README +++ /dev/null @@ -1,7 +0,0 @@ -PhonRule.sty v1.2.0 - -(c) 2015 Stefano Coretta - -LPPL LaTeX Public Project License - -This packages provides macros for typesetting phonological rules like those in Sound Pattern of English (Chomsky and Halle 1968). It is recommended for linear phonological works. \ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/phonrule/README.md b/Master/texmf-dist/doc/latex/phonrule/README.md new file mode 100644 index 00000000000..3906daf4a52 --- /dev/null +++ b/Master/texmf-dist/doc/latex/phonrule/README.md @@ -0,0 +1,7 @@ +# phonrule.sty (v1.3.0) + +(c) 2015 Stefano Coretta + +LPPL LaTeX Public Project License 1.0 + +This packages provides macros for typesetting phonological rules like those in Sound Pattern of English (Chomsky and Halle 1968). It is recommended for classical linear phonology. diff --git a/Master/texmf-dist/doc/latex/phonrule/phonrule-doc.pdf b/Master/texmf-dist/doc/latex/phonrule/phonrule-doc.pdf index b3d58cfc364..c68b58608ce 100644 Binary files a/Master/texmf-dist/doc/latex/phonrule/phonrule-doc.pdf and b/Master/texmf-dist/doc/latex/phonrule/phonrule-doc.pdf differ diff --git a/Master/texmf-dist/doc/latex/phonrule/phonrule-doc.tex b/Master/texmf-dist/doc/latex/phonrule/phonrule-doc.tex index 1a14dde6431..00009e520d7 100644 --- a/Master/texmf-dist/doc/latex/phonrule/phonrule-doc.tex +++ b/Master/texmf-dist/doc/latex/phonrule/phonrule-doc.tex @@ -3,13 +3,18 @@ \usepackage{fontspec} \usepackage{polyglossia} - \setmainlanguage{english} + \setmainlanguage{english} + +\usepackage{listings} + \lstset{basicstyle=\ttfamily} \usepackage{phonrule} \usepackage{gb4e} -\title{The \texttt{phonrule} package (v1.2.0)} -\author{Stefano Coretta \\ \texttt{stefano.coretta \textit{at} me.com}} + + +\title{The \texttt{phonrule} package (v1.3.0)} +\author{Stefano Coretta \\ \texttt{stefano.coretta \textit{at} postgrad.manchester.ac.uk}} \reversemarginpar @@ -17,17 +22,18 @@ \maketitle \section{Purpose} -This package 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). +This package 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} +\begin{lstlisting} \phon{〈input〉}{〈output〉} -\end{verbatim} +\end{lstlisting} \end{quote} -The command \verb+\phon+ has two arguments: the first one is the input of the rule and the second is its output. Here is an example with the code and the result it produces: +The command \verb+\phon+ has two arguments: the first one is the input of the rule and the second is its output. +Here is an example with the code and the result it produces: \begin{exe} \ex \verb+\phon{z}{r}+ @@ -35,9 +41,9 @@ The command \verb+\phon+ has two arguments: the first one is the input of the ru \end{exe} \begin{quote} -\begin{verbatim} +\begin{lstlisting} \phonc{〈input〉}{〈output〉}{〈context〉} -\end{verbatim} +\end{lstlisting} \end{quote} \verb+\phonc+ adds a third argument for the context: @@ -51,122 +57,158 @@ The commands \verb+\phonl+, \verb+\phonr+ and \verb+\phonb+ add a place holder l \begin{exe} \ex - \begin{xlist} - \ex \verb+\phonl{k}{c}{i}+ - \ex \phonl{k}{tʃ}{i} - \end{xlist} + \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} + \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} + \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 a left curly bracket. \begin{exe} \ex -\begin{verbatim} +\begin{lstlisting} \phonc{t}{ts}{ - \oneof{ - \phold i \\ - \phold u} - } -\end{verbatim} + \oneof{ + \phold i \\ + \phold u} + } +\end{lstlisting} \ex \phonc{t}{ts}{ - \oneof{ - \phold i \\ - \phold u} - } + \oneof{ + \phold i \\ + \phold u} + } \end{exe} The \verb+\phonfeat+ command allows you to insert feature specifications: \begin{exe} \ex -\begin{verbatim} -\phonc{t}{ts}{\phold - \phonfeat{ - −consonantal \\ - +high \\ - +front} - } -\end{verbatim} -\ex \phonc{t}{ts}{\phold - \phonfeat{ - −consonantal \\ - +high \\ - +front} - } +\begin{lstlisting} +\phonc{t}{ts}{\phold + \phonfeat{ + −consonantal \\ + +high \\ + +front} + } +\end{lstlisting} +\ex \phonc{t}{ts}{\phold + \phonfeat{ + −consonantal \\ + +high \\ + +front} + } \end{exe} \verb+\phold+ typesets a place holder line. You can nest \verb|oneof| and \verb|phonfeat| commands for complex rules. +The \verb|oneof| command accepts an optional argument which tells the alignment of the context. \begin{exe} \ex -\begin{verbatim} -\phonc{x}{y}{\oneof{ - \phold z \\ - \phonfeat{ - +feature x \\ - −feature y - } \phold - }} -\end{verbatim} +\begin{lstlisting} +\phonc{x}{y}{\oneof[l]{ + \phold z \\ + \phonfeat{ + +feature x \\ + −feature y + } \phold + }} +\end{lstlisting} \ex \phonc{x}{y}{\oneof{ - \phold z \\ - \phonfeat{ - +feature x \\ - −feature y - } \phold - }} + \phold z \\ + \phonfeat{ + +feature x \\ + −feature y + } \phold + }} \end{exe} You can use \verb|\env|, \verb|\envl|, \verb|\envr|, \verb|\envb| for rules with more than one output: these commands typeset only the different outputs with their respective environments. +The possible values are \texttt{[c]} for centre (the default), \texttt{[l]} for left-aligned, and \texttt{[r]} for right aligned. +The following example shows the use of the optional argument with \texttt{[l]}. +The \verb|\env|, \verb|\envl|, \verb|\envr|, \verb|\envb| have a starred version to be used when an optional argument is set in \verb|\oneof|. \begin{exe} \ex -\begin{verbatim} -\phon{x}{\oneof{ - \envr{w}{z} \\ - \envl{v}{\phonfeat{ - +feature x \\ - −feature y - }}}} -\end{verbatim} -\ex \phon{x}{\oneof{ - \envr{w}{z} \\ - \envl{v}{\phonfeat{ - +feature x \\ - −feature y - }}}} +\begin{lstlisting} +\phon{x}{\oneof[l]{ + \envr*{w}{z} \\ + \envl*{v}{\phonfeat{ + +feature x \\ + −feature y + }}}} +\end{lstlisting} +\ex \phon{x}{\oneof[l]{ + \envr*{w}{z} \\ + \envl*{v}{\phonfeat{ + +feature x \\ + −feature y + }}}} \end{exe} -\section{Changelog} -\subsection{v1.2.0} +\section{Change log} + +\subsection*{v1.3.0 - 2016-12-26} +\subsubsection*{Added} +\begin{itemize} + \item optional argument for text alignment in \verb+\oneof+ command + \item starred version of the \verb+\env+ command family for use with optional argument in \verb+\oneof+ +\end{itemize} +\subsubsection*{Changed} +\begin{itemize} + \item definition of \verb+\phon+ command family + \item header of \texttt{phonrule.sty} + \item extension of README, now \texttt{.md} +\end{itemize} +\subsubsection*{Removed} +\begin{itemize} + \item package \texttt{ragged2e} +\end{itemize} + +\subsection*{v1.2.0} +\subsubsection*{Added} +\begin{itemize} +\item \texttt{ragged2e} package for \verb+\Centering+ command +\end{itemize} +\subsubsection*{Fixed} \begin{itemize} -\item Added: \texttt{ragged2e} package for \verb+\Centering+ command \item Fixed: now the content of the feature matrices is centred and not left aligned \end{itemize} -\subsection{v1.1.0} +\subsection*{v1.1.0} +\subsubsection*{Changed} \begin{itemize} -\item Changed: definition of \verb+\phonfeat+ and \verb+\oneof+ with \verb+\pbox+ (requires package \texttt{pbox}) -\item Fixed: documentation typos +\item definition of \verb+\phonfeat+ and \verb+\oneof+ with \verb+\pbox+ (requires package \texttt{pbox}) +\subsubsection*{Fixed} +\item documentation typos \end{itemize} -\subsection{v1.0.0} +\subsection*{v1.0.0} +\subsubsection*{Added} \begin{itemize} -\item Added: new commands \verb|\env| for personalised outputs -\item Changed: definition of commands with \verb|\ensuremath| -\item Changed: environments to commands -\item Changed: place holder to 1.5ex length, -1.5pt vertical position -\item Changed: curly brackets to only left in \verb|\oneof| command +\item new commands \verb|\env| for personalised outputs \end{itemize} -\end{document} \ No newline at end of file +\subsubsection*{Changed} +\begin{itemize} +\item definition of commands with \verb|\ensuremath| +\item environments to commands +\item place holder to 1.5ex length, -1.5pt vertical position +\item curly brackets to only left in \verb|\oneof| command +\end{itemize} + + + + +\end{document} diff --git a/Master/texmf-dist/tex/latex/phonrule/phonrule.sty b/Master/texmf-dist/tex/latex/phonrule/phonrule.sty index f519fefe1e3..ac4c19115c8 100644 --- a/Master/texmf-dist/tex/latex/phonrule/phonrule.sty +++ b/Master/texmf-dist/tex/latex/phonrule/phonrule.sty @@ -1,28 +1,68 @@ -% PhonRule -% -% (c) 2015 Stefano Coretta -% LPPL LaTeX Public Project License -% +% phonrule.sty v1.3.0 +% +% (c) 2016 Stefano Coretta +% +% This program can redistributed and/or modified under the terms +% of the LaTeX Project Public License Distributed from CTAN +% archives in directory macros/latex/base/lppl.txt; either +% version 1 of the License, or (at your option) any later version. \ProvidesPackage{phonrule} - [2015/07/04 v1.2.0 LaTeX package for typesetting phonological rules] - -\RequirePackage{pbox} -\RequirePackage{ragged2e} + [2016/12/26 v1.3.0 LaTeX package for typesetting phonological rules] + \let\myDate\date -\newcommand{\phon} [2] {#1 \ensuremath{\rightarrow} #2} -\newcommand{\phonc} [3] {#1 \ensuremath{\rightarrow} #2 \ensuremath{/} #3} -\newcommand{\phonr} [3] {#1 \ensuremath{\rightarrow} #2 \ensuremath{/} \rule[-1.5pt]{1.5ex}{.5pt}#3} -\newcommand{\phonl} [3] {#1 \ensuremath{\rightarrow} #2 \ensuremath{/} #3\rule[-1.5pt]{1.5ex}{.5pt}} -\newcommand{\phonb} [4] {#1 \ensuremath{\rightarrow} #2 \ensuremath{/} #3\rule[-1.5pt]{1.5ex}{.5pt}#4} -\newcommand{\phold}{\rule[-1.5pt]{1.5ex}{.5pt}} % for place holder without spaces -\newcommand{\env} [2] {#1 \ensuremath{/} #2} -\newcommand{\envr} [2] {#1 \ensuremath{/} \rule[-1.5pt]{1.5ex}{.5pt}#2} -\newcommand{\envl} [2] {#1 \ensuremath{/} #2\rule[-1.5pt]{1.5ex}{.5pt}} -\newcommand{\envb} [3] {#1 \ensuremath{/} #2\rule[-1.5pt]{1.5ex}{.5pt}#3} -\newcommand{\phonfeat}[1]{\ensuremath{\left[\begin{array}{c} \pbox{\textwidth}{\Centering #1} \end{array}\right]}} % set environment for feature matrix with square brackets -\newcommand{\oneof}[1]{\ensuremath{\left\{\begin{array}{l} \pbox{\textwidth}{\Centering #1} \end{array}\right.}} % set environment for one of multiple with curly brackets + +\newcommand{\phold}{\rule[-1.5pt]{1.5ex}{.5pt}} +\newcommand{\parrow}{\ensuremath{\rightarrow}} + +\newcommand{\phon} [3][\parrow] {#2 #1 #3} +\newcommand{\phonc} [4][\parrow] {#2 #1 #3~\ensuremath{/}~#4} +\newcommand{\phonr} [4][\parrow] {#2 #1 #3~\ensuremath{/}~\phold#4} +\newcommand{\phonl} [4][\parrow] {#2 #1 #3~\ensuremath{/}~#4\phold} +\newcommand{\phonb} [5][\parrow] {#2 #1 #3~\ensuremath{/}~#4\phold#5} + +\makeatletter +\newcommand*{\env}{% + \@ifstar + {\@env{&}} + {\@env{~}}% + } +\newcommand*{\@env}[3]{#2~/#1#3} + +\newcommand*{\envr}{% + \@ifstar + {\@envr{&}} + {\@envr{~}}% + } +\newcommand*{\@envr}[3]{\@env{#1}{#2}{\phold#3}} + +\newcommand*{\envl}{% + \@ifstar + {\@envl{&}} + {\@envl{~}}% + } +\newcommand*{\@envl}[3]{\@env{#1}{#2}{#3\phold}} + +\newcommand*{\envb}{% + \@ifstar + {\@envb{&}} + {\@envb{~}}% + } +\newcommand*{\@envb}[4]{\@env{#1}{#2}{#3\phold#4}} + +\newcommand*{\phonfeat}[1]{% + \ensuremath{% + \left[\begin{tabular}{c}#1\end{tabular}\right]% + }% +} +\newcommand*{\oneof}[2][c]{% + \ensuremath{% + \left\{ + \begin{tabular}{#1#1}#2\end{tabular} + \right. + }% +} \endinput %% -%% End of file `phonrule.sty'. \ No newline at end of file +%% End of file `phonrule.sty'. -- cgit v1.2.3