From 45330fd64d73a7d3af25462ac003ac49e56f7a09 Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Tue, 25 Dec 2007 19:59:46 +0000
Subject: add package gb4e (05dec05)

git-svn-id: svn://tug.org/texlive/trunk@5907 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/tex/latex/gb4e/gb4e.sty | 316 ++++++++++++++++++++++++++++++
 1 file changed, 316 insertions(+)
 create mode 100644 Master/texmf-dist/tex/latex/gb4e/gb4e.sty

(limited to 'Master/texmf-dist/tex/latex/gb4e/gb4e.sty')

diff --git a/Master/texmf-dist/tex/latex/gb4e/gb4e.sty b/Master/texmf-dist/tex/latex/gb4e/gb4e.sty
new file mode 100644
index 00000000000..b212ba00f61
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/gb4e/gb4e.sty
@@ -0,0 +1,316 @@
+% -*- LaTeX -*-
+\def\gbVersion{4e}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%  Version 4export (= v. 4 minus the compatibility code)
+%  Based on hpk's gb.sty, revised for GM syllabus by ct,
+%  and incorporating macros adapted from J.Frampton, M. de Groot en M.
+%  Covington. Full documentation soon to come in gb4doc.tex. Bug-reports
+%  and suggestions for improvements, other used features, please!
+%
+%  Notes:
+%  
+%  Various styles for X-bar levels; can be changed, but note that {picture}
+%  environements (e.g. trees) will then come out wrong and have to be
+%  fixed
+%
+%  This file allows _ and ^ to be used in ordinary text, hence must be
+%  loaded AFTER any file that uses them in their TeX meaning. Hence
+%  cgloss(n).sty is loaded early in this file.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%
+%  Format of examples: %
+%%%%%%%%%%%%%%%%%%%%%%%%
+% \begin{exe} or \exbegin
+% <examples>                           (arab.)
+% \begin{xlist} or \xlist
+% <subexamples>                        (1st embedding, alph.)
+% \begin{xlisti} or \xlisti
+% <subsubexamples>                     (2st embedding, rom.)
+% \end{xlisti}  or \endxlisti
+% <more examples>
+% \end{xlist} or \endxlist
+% <still more examples>
+% \end{exe} or \exend
+%
+% Other sublist-styles: xlistA (Alph.), xlistI (Rom.), xlistn (arab)
+%
+% \ex                               (produces Number)
+% \ex <sentence>                    (numbered example)
+% \ex[jdgmt]{sentence}              (numbered example with judgement)
+%
+% \exi{ident}                      (produces identifier)
+% \exi{ident} <sentence>           (example numbered with identifier)
+% \exi{ident}[jdgmt]{sentence}     (dito with judgement)
+%                      (\exr, \exp and \sn are defined in terms of \exi)
+%
+% \exr{label}                       (produces cross-referenced Num.)
+% \exr{label} <sentence>            (cross-referenced example)
+% \exr{label}[jdgmt]{sentence}      (cross-referenced example with judgement)
+%
+% \exp{label}                       (same as
+% \exp{label} <sentence>                     \exr but
+% \exp{label}[jdgmt]{sentence}                        with prime)
+%
+% \sn <sentence>                    (unnumbered example)
+% \sn[jdgmt]{sentence}              (unnumbered example with judgement)
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% For my own lazyness (HANDLE WITH CARE---this works only
+%                                 in boringly normal cases.... ):
+%
+% \ea                works like \begin{exe}\ex or \begin{xlist}\ex,
+%                            depending on context
+% \z                 works like \end{exe} or \end{xlist}, dep on context
+% 
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\@ifundefined{new@fontshape}{\def\reset@font{}\let\mathrm\rm\let\mathit\mit}{}
+
+\let\prmbrs=0
+\def\primebars{\let\prmbrs=1}
+\def\obar#1{\ifmmode#1^{0}\else#1$^{0}$\fi}  %% FIX
+\def\mbar#1{\ifmmode#1^{\mathrm{max}}\else#1$^{\mathrm{max}}$\fi}
+\def\ibar#1{\ifx\prmbrs0%
+                 \ifmmode\overline{\mathrm{#1}}\else$\overline{\mbox{#1}}$\fi%
+            \else\ifmmode#1^{'}\else#1$^{'}$\fi\fi}
+\def\iibar#1{\ifx\prmbrs0%
+                  \ifmmode\overline{\overline{\mathrm{#1}}}%
+                  \else$\overline{\overline{\mbox{#1}}}$\fi%
+             \else #1P\fi}
+\def\th{\ifmmode\theta\else$\theta$\fi}
+\def\al{\ifmmode\alpha\else$\alpha$\fi}
+\def\be{\ifmmode\beta\else$\beta$\fi}
+\def\ga{\ifmmode\gamma\else$\gamma$\fi}
+\def\de{\ifmmode\delta\else$\delta$\fi}
+\def\spec#1{[Spec,#1]} %Def. of "Specifier of #1"
+\def\ct#1{{\em #1\/}} %Citation of linguistic material with alternative style:
+%\def\ct#1{`#1'}
+\def\tx{\bf} %Introduction of technical terms with alternative style:
+%\def\tx{\em}
+
+\input{cgloss\gbVersion.sty}
+
+%%% NEWSTUFF:
+\newcommand{\indexgroupmark}[1]{\item{\bf #1}}  % ?? -CT
+
+% this allows _ to be used in horizontal mode (from J.Frampton):
+\catcode`_=\active
+\def_#1{\ifmmode\mathit{\sb{#1}}\else${}\sb{#1}$\fi}
+\catcode`^=\active
+\def^#1{\ifmmode\mathit{\sp{#1}}\else${}\sp{#1}$\fi}
+
+\def\lb#1{\@ifnextchar [{\@glarph{#1}}{\@bl{#1}}}
+\def\@glarph#1[#2]{\ifmmode{[}\sb{{\mathrm{#1}}\sb{#2}}\else%
+                           ${[}\sb{{\mathrm{#1}}\sb{#2}}$\fi}
+\def\@bl#1{\ifmmode{[}\sb{\mathrm{#1}}\;\else${[}\sb{\mathrm{#1}}\;$\fi}
+
+\def\rb#1{\@ifnextchar [{\@grarph{#1}}{\@br{#1}}}
+\def\@grarph#1[#2]{\ifmmode{]}\sb{{\mathrm{#1}}\sb{#2}}\else%
+                        ${]}\sb{{\mathrm{#1}}\sb{#2}}$\fi}
+\def\@br#1{\ifmmode{]}\sb{\mathrm{#1}}\;\else${]}\sb{\mathrm{#1}}\;$\fi}
+
+%%% END_NEWSTUFF.
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%  Macros for examples, roughly following Linguistic Inquiry style.   %
+%  From here on best not to tamper, else all the examples and cross-  %
+%  references will come out scrambled! (see also note below) - CT     %
+%  Completely rewritten for more robustness and flexibility. (hpk)    %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\qlist{\begin{list}{\Alph{xnum}.}{\usecounter{xnum}%
+\setlength{\rightmargin}{\leftmargin}}}
+\def\endqlist{\end{list}}
+
+\newif\if@noftnote\@noftnotetrue
+\newif\if@xrec\@xrecfalse
+\@definecounter{fnx}
+
+%%%% adapted from latex.tex to get examples in footnotes right
+\long\def\@footnotetext#1{%
+    \@noftnotefalse\setcounter{fnx}{0}%
+    \insert\footins{\reset@font\footnotesize
+    \interlinepenalty\interfootnotelinepenalty
+    \splittopskip\footnotesep
+    \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+    \hsize\columnwidth \@parboxrestore
+   \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}\@makefntext
+    {\rule{\z@}{\footnotesep}\ignorespaces
+      #1\strut}}\@noftnotetrue}
+
+\newcount\@xnumdepth \@xnumdepth = 0
+
+\@definecounter{xnumi}
+\@definecounter{xnumii}
+\@definecounter{xnumiii}
+\@definecounter{xnumiv}
+\@definecounter{exx}
+\setcounter{exx}{0}
+\def\thexnumi{\@xsi{xnumi}}
+\def\thexnumii{\@xsii{xnumii}}
+\def\thexnumiii{\@xsiii{xnumiii}}
+\def\thexnumiv{\@xsiv{xnumiv}}
+\def\p@xnumii{\thexnumi}
+\def\p@xnumiii{\thexnumi\thexnumii-}
+\def\p@xnumiv{\thexnumi\thexnumii-\thexnumiii-}
+
+\def\xs@default#1{\csname @@xs#1\endcsname}
+\def\@@xsi{\let\@xsi\arabic}
+\def\@@xsii{\let\@xsii\alph}
+\def\@@xsiii{\let\@xsiii\roman}
+\def\@@xsiv{\let\@xsi\arabic}
+
+\@definecounter{rxnumi}
+\@definecounter{rxnumii}
+\@definecounter{rxnumiii}
+\@definecounter{rxnumiv}
+
+\def\save@counters{%
+\setcounter{rxnumi}{\value{xnumi}}%
+\setcounter{rxnumii}{\value{xnumii}}%
+\setcounter{rxnumiii}{\value{xnumiii}}%
+\setcounter{rxnumiv}{\value{xnumiv}}}%
+
+
+\def\reset@counters{%
+\setcounter{xnumi}{\value{rxnumi}}%
+\setcounter{xnumii}{\value{rxnumii}}%
+\setcounter{xnumiii}{\value{rxnumiii}}%
+\setcounter{xnumiv}{\value{rxnumiv}}}%
+
+
+\def\exewidth#1{\def\@exwidth{#1}} \exewidth{(234)}
+\def\exe{\@ifnextchar [{\@exe}{\@exe[\@exwidth]}}
+
+\def\@exe[#1]{\ifnum \@xnumdepth >0%
+                 \if@xrec\@exrecwarn\fi%
+                 \if@noftnote\@exrecwarn\fi%
+                 \@xnumdepth0\@listdepth0\@xrectrue%
+                 \save@counters%
+              \fi%
+                 \advance\@xnumdepth \@ne \@@xsi%
+                 \begin{list}{(\thexnumi)}%
+                             {\usecounter{xnumi}\@subex{#1}{1em}%
+                              \if@noftnote%
+                                 \setcounter{xnumi}{\value{exx}}%
+                              \else%
+                                 \setcounter{xnumi}{\value{fnx}}%
+                              \fi}}
+
+\def\endexe{\if@noftnote\setcounter{exx}{\value{xnumi}}%
+                   \else\setcounter{fnx}{\value{xnumi}}%
+                        \reset@counters\@xrecfalse\fi\end{list}}
+
+\def\@exrecwarn{\typeout{*** Recursion on "exe"---your
+                example numbering will probably be screwed up!}}
+
+\def\xlist{\@ifnextchar [{\@xlist{}}{\@xlist{}[iv.]}}
+\def\xlista{\@ifnextchar [{\@xlist{\alph}}{\@xlist{\alph}[m.]}}
+\def\xlisti{\@ifnextchar [{\@xlist{\roman}}{\@xlist{\roman}[iv.]}}
+\def\xlistn{\@ifnextchar [{\@xlist{\arabic}}{\@xlist{\arabic}[9.]}}
+\def\xlistA{\@ifnextchar [{\@xlist{\Alph}}{\@xlist{\Alph}[M.]}}
+\def\xlistI{\@ifnextchar [{\@xlist{\Roman}}{\@xlist{\Roman}[IV.]}}
+
+\def\endxlist{\end{list}}
+\def\endxlista{\end{list}}
+\def\endxlistn{\end{list}}
+\def\endxlistA{\end{list}}
+\def\endxlistI{\end{list}}
+\def\endxlisti{\end{list}}
+
+
+%%% a generic sublist-styler
+\def\@xlist#1[#2]{\ifnum \@xnumdepth >3 \@toodeep\else%
+    \advance\@xnumdepth \@ne%
+    \edef\@xnumctr{xnum\romannumeral\the\@xnumdepth}%
+    \def\@bla{#1}
+    \ifx\@bla\empty\xs@default{\romannumeral\the\@xnumdepth}\else%
+      \expandafter\let\csname @xs\romannumeral\the\@xnumdepth\endcsname#1\fi
+    \begin{list}{\csname the\@xnumctr\endcsname.}%
+                {\usecounter{\@xnumctr}\@subex{#2}{1.5ex}}\fi}
+
+\def\@subex#1#2{\settowidth{\labelwidth}{#1}\itemindent\z@\labelsep#2%
+         \ifnum\the\@xnumdepth=1%
+           \topsep 7\p@ plus2\p@ minus3\p@\itemsep3\p@ plus2\p@\else%
+           \topsep1.5\p@ plus\p@\itemsep1.5\p@ plus\p@\fi%
+         \parsep\p@ plus.5\p@ minus.5\p@%
+         \leftmargin\labelwidth\advance\leftmargin#2\relax}
+
+%%% the example-items
+\def\ex{\@ifnextchar [{\@ex}{\item}}
+\def\@ex[#1]#2{\item\@exj[#1]{#2}}
+\def\@exj[#1]#2{\@exjbg{#1} #2 \end{list}}
+\def\exi#1{\item[#1]\@ifnextchar [{\@exj}{}}
+\def\judgewidth#1{\def\@jwidth{#1}}
+\judgewidth{??}
+\def\@exjbg#1{\begin{list}{#1}{\@subex{\@jwidth}{.5ex}}\item}
+\def\exr#1{\exi{{(\ref{#1})}}}
+\def\exp#1{\exi{{(\ref{#1}$'$)}}}
+\def\sn{\exi{}}
+\def\bu{\item[$\bullet$]}
+
+%%% Lazy abbrevs (HANDLE WITH CARE!)
+\def\ea{\ifnum\@xnumdepth=0\begin{exe}[(234)]\else\begin{xlist}[iv.]\fi\ex}
+\def\z{\ifnum\@xnumdepth=1\end{exe}\else\end{xlist}\fi}
+
+
+%%%%%%% \lcomment for breaks in (example-)lists (leaves all counters
+%%%%%%% as they are)    (hpk) 
+\newlength{\lcommentsep}
+\lcommentsep = 1ex
+
+\long\def\lcomment#1%
+   {\vspace{\lcommentsep}
+    \item[]\hspace*{-\leftmargin}%
+    \@tempskipa=\linewidth%
+    \addtolength{\@tempskipa}{\rightmargin}%
+    \addtolength{\@tempskipa}{\leftmargin}%
+    \parbox{\@tempskipa}{#1}%
+    \vspace{\lcommentsep}%
+   }
+
+%%%%%% control the alignment of exampleno. and (picture-)example
+%%%%%%         (by Lex Holt <lex@cogsci.ed.ac.uk>).
+\def\attop#1{\leavevmode\vtop{\strut\vskip-\baselineskip\vbox{#1}}}
+\def\atcenter#1{$\vcenter{#1}$}
+%%%%%%
+
+%-------------------Move Arrows (from J.Frampton):
+
+\def\leaderfill{\leaders\hrule\hfil}
+\def\pointerup{\hbox to 0pt{\hss
+  \vbox{\offinterlineskip\vskip-1pt\hbox{\elevenex\char'170}\null}\hss}}
+\def\pointerdown{\hbox to 0pt{\hss
+  \vtop{\offinterlineskip\null\hbox{\elevenex\char'171}\vskip-1pt}\hss}}
+
+\let\pu=\pointerup
+\let\pd=\pointerdown
+\let\lf=\leaderfill
+
+\def\spacer{\hskip4.5pt}
+\def\fillright#1{\hfil#1\leaderfill}
+\def\fillleft#1{\leaderfill#1\hfil}
+% Changed spelling to \centr, else conflicts with LaTeX \center{} -CT
+\def\centr#1{\leaderfill#1\leaderfill}
+\def\link#1{\multispan#1\leaderfill}
+
+\def\arrowalign#1{\vtop{\baselineskip=0pt \lineskiplimit=0pt \lineskip=2pt
+  \halign{&##\cr#1}}}
+
+\font\elevenex=cmex10 scaled\magstephalf  % just for the arrow!
+      %PS: this may not work on some installations, not sure why. CT
+      %%PPS: (e.g., PCTeX, but it works find works fine with EmTeX)
+%----------------END Move Arrows
+
+\def\pijl{$\rightarrow$\ }
+
+% Special accents for Vata & Gbadi; Navajo coming soon, I hope...:
+%\def\bb#1{$\mathrm{\overline{#1}}$} Following looks better:
+\def\bb#1{\ifmmode\overline{\mathrm{#1}}\else$\bar{\mathrm{#1}}$\fi}
+
+\def\boven#1#2{\raisebox{-0.2pt}{$\stackrel{#1}{\mathrm{#2}}$}}
+\def\bovenop#1#2{\raisebox{-0.06ex}[0ex][0ex]{$\stackrel{#1}{\mathrm{#2}}$}}
+\def\vl{\rule{0.05em}{0.30em}}
+\def\|#1{\ifmmode\vert#1\else\bovenop{\vl}{#1}\fi}
-- 
cgit v1.2.3

