
\vfil
\eject
\global\pageno=1
\section Introduction

Many of the needs of linguists who wish to produce
typographically attractive papers using \Tex\ or \LaTex\
are not specific to linguistic papers.  There are therefore many
macro packages which deal with tables of contents, references,
section headings, font selection, indexing, etc. But linguistics
does have some special typographic needs. I addressed two of
these with the macro packages {\sl PST-JTree\/} and {\sl
PST-ASR\/}, which typeset syntactic trees and autosegmental
representations. \ExPex\ addresses the main remaining special
\Tex\ need in linguistics: formatting examples, examples with
multiple parts, glosses, and the like, and referring to examples
and parts of examples. The name comes from the two central
macros, |\ex| and |\pex|, used to typeset examples and examples
with labeled parts.

{\sl PST-JTree\/} and {\sl PST-ASR\/} rely heavily on Hendri
Adriaens' \XKeyVal\ package, which has become the standard for
\PSTricks\ based macro packages.  Although \ExPex\ is not based
on \PSTricks\relax, it does handle parameterization the same
way that {\sl PST-JTree\/} and {\sl PST-ASR\/} do. When
{\sl expex.tex} is loaded, it immediately checks to see
whether {\sl xkeyval.tex} has already been loaded.  If not,
it does so.

The goal in writing a macro package for general use is to make it
simple to use if only simple things need to be done, but powerful
enough so that users who have complex needs can get those needs
satisfied if they are willing to deal with the complexities that
complex needs inevitably involve.  If you think there are simple
things that are not simple to do, or complex things that cannot
be done, please write to me at {\sl j.frampton@neu.edu}.  The
\ExPex\ macros have evolved over the last 15 or so years
and like anything which evolves, various features of the current
state may have more to do with history than with optimal design.
Please let me know about departures from optimal design.  Perhaps
the next version can be improved.

This User's Guide begins with four examples which demonstrate
\ExPex\ in action.  It serves as a ``A Quick Guide to {\sl
Expex\/}''.  Each page gives some code at the top, with the
product of this code below. Its main purpose is to give a sense
of how \ExPex\ works, so that curious readers have some
basis for determining whether they want to proceed with the
details.  It is possible to begin to use \ExPex\ solely on
the basis of the four demo pages and learn the more subtle
capabilities as needed.  A quick survey of the index and the table
of contents should give you some idea of what is available, if
you need it.

\subsection  Changes

The most recent previous version of \ExPex\ is version 4.0c. That
version  will still be available on my website, zipped as {\it
expex40c.zip}. Aside from bug fixes, the changes in this version
are to the control of line spacing in wrapped glosses.  Several
new parameters have been introduced and some initial settings of
parameters controlling glosses have been changed. Executing the
macro |\gloldstyle| will return \ExPex\ to a state in which
glosses written using version 4.0 should display as they did
using version 4.0.  The parameter |abovemoreglskip| which was
used to control wrap spacing in glosses is still recognized, but
it should now be considered obsolete and should be avoided in
future work.  It will be eliminated at some point in the future.

There was an undocumented feature of v4.0 that was used by some
people, but has now been eliminated.  \ExPex\ no longer looks for
a file {\it expex-add.tex\/} and loads it automatically if it is
found.  This led to some very mysterious behavior when the user
forgot about the presence of this file.  Such a file should be
loaded explicitly.

\subsection LaTex/Tex cooperation

\ExPex\ is designed to be used by either {\sl Plain Tex\/} or \LaTex\
users.  \LaTex\ users need to say |\usepackage{expex}| and \Tex\ users
|\input expex|.  All of the code for the examples in this
documentation should run equally well in either system, subject
to the notes below.

\subsubsection Note to \LaTex\ users

|\it| (now a deprecated \LaTex\ command) is used in a few places.
In case \ExPex\ detects that \LaTex\ is being used, it executes
|\let\it=\itshape|.

\subsubsection Note to \Tex\ users

Three macros are used in the examples in this documentation which
are defined in \LaTex\ but not in {\it Plain Tex}: |\footnotesize|,
|\sc|, and |\textsc|.  Assuming, for example, that text is set in
10pt computer modern, the following would suffice for all the
examples in this documentation.

\codedisplay
\font\eightrm=cmr8
\font\eightit=cmti8
\def\footnotesize{\eightrm \let\it=\eightit \baselineskip=9pt}
\font\tensc=cmcsc10
\let\sc=\tensc
\def\textsc#1{{\sc #1}}
|endcodedisplay

Most {\sl Plain Tex\/} users will have other fonts and much more
general size changing macros at their disposal.  The code above
is barely sufficient to handle the examples in this is
documentation, but it will do the job. For what it is worth, this
documentation was typeset using {\it Plain Tex}. |\twelvepoint| and
|\tenpoint| were defined modeled on pages 414--415 in the {\sl
TeXbook\/} and |\let\footnotesize=\tenpoint| was executed to
define |\footnotesize|.  The running text is \textdim{12 pt}.
|\sc| was defined by |\font\twelvesc=cmcsc10 scaled\magstep1|%
\footnote{cmcsc10 scaled was used rather than
cmcsc12 because Postscript fonts for cmcsc10 are more readily
available than those for cmcsc12.}
and |\let\sc=\twelvesc|%
\footnote{Small caps are used only in text size}%
.

\subsection Acknowledgements

Many participants in the {\sl Ling-Tex\/} discussion group have
contributed to the development of \ExPex\relax, either by posing
good questions, solving problems, or providing informed
discussion of desirable features.  In particular, I thank Alexis
Dimitriadis, Claude Dionne, Kevin Donnely, Antonio Fortin, Jeremy
Hammond, Daniel Harbor, Joshua Jensen, Joost Kremers, John Lyon,
Alan Munn, Christos Vlachos, and Natalie Weber.





