% -*- 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 % (arab.) % \begin{xlist} or \xlist % (1st embedding, alph.) % \begin{xlisti} or \xlisti % (2st embedding, rom.) % \end{xlisti} or \endxlisti % % \end{xlist} or \endxlist % % \end{exe} or \exend % % Other sublist-styles: xlistA (Alph.), xlistI (Rom.), xlistn (arab) % % \ex (produces Number) % \ex (numbered example) % \ex[jdgmt]{sentence} (numbered example with judgement) % % \exi{ident} (produces identifier) % \exi{ident} (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} (cross-referenced example) % \exr{label}[jdgmt]{sentence} (cross-referenced example with judgement) % % \exp{label} (same as % \exp{label} \exr but % \exp{label}[jdgmt]{sentence} with prime) % % \sn (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 ). \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}