\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.