summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/linguex/linguex.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/linguex/linguex.sty')
-rw-r--r--macros/latex/contrib/linguex/linguex.sty436
1 files changed, 436 insertions, 0 deletions
diff --git a/macros/latex/contrib/linguex/linguex.sty b/macros/latex/contrib/linguex/linguex.sty
new file mode 100644
index 0000000000..18e34222d8
--- /dev/null
+++ b/macros/latex/contrib/linguex/linguex.sty
@@ -0,0 +1,436 @@
+%% Copyright 1996-2013 by Wolfgang Sternefeld
+%% This program can be 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 any later version.
+%% linguex.sty version 3.3, revised 2000/12/22, compatability with
+%% lucida fonts: Defaults defined \AtBeginDocument
+%% linguex.sty version 3.4, revised 2001/04/30, corrected vspacing for
+%% \ex. embedded in \a.
+%% linguex.sty version 3.5, revised 2002/01/26, corrected hspacing for
+%% \alignSubEx
+%% linguex.sty version 3.6, revised 2008/03/20, \lessthanten,
+%% \lessthanhundred, and \lessthanthousand redefined due to problems
+%% with kerning in fonts
+%% linguex.sty version 3.7, revised 2008/06/30, \lessthanten,
+%% \lessthanhundred, and \lessthanthousand redefined due to problems
+%% with kerning in fonts
+%% linguex.sty version 3.7a, revised 2009/09/02, replaced hard-coded
+%% example format with \theExNo
+%% linguex.sty version 4.0 replaces hard-coded brackets with
+%% predefined commands
+%% linguex.sty version 4.1 replaces \refstepcounter by \stepcounter
+%% for internal counters
+%% linguex.sty version 4.2 replaces \rm by \textrm in definition of
+%% \stripoffbr; undoes the change in version 4.0 from .66\baselineskip to
+%% \Extopsep; renews definition of \label AtBeginDocument
+%% linguex.sty version 4.3 removes code that caused problems with beamer; adds
+%% a \ProvidesPackage line to keep track of versions better
+%% Author: Wolfgang.Sternefeld@uni-tuebingen.de
+%% status: maintained
+%% filedate May 28th 2013
+
+\ProvidesPackage{linguex}[2013/05/28 Example formatting for linguistics v. 4.3]
+\RequirePackage{xspace,cgloss4e}
+%%%%%%%%%%%%%%%%%%% FOOTNOTES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% to let \ex. know whether or not it is in a footnote
+\newif\if@noftnote\@noftnotetrue
+\let\predefinedfootnotetext=\@footnotetext
+\long\def\@footnotetext#1{\@noftnotefalse\predefinedfootnotetext{#1}%
+ \@noftnotetrue}
+%
+%%%%%%%%%%%%%%% COUNTERS FOR LABELLING %%%%%%%%%%%%%%%%%%%%%%%%%%%
+\@ifundefined{chapter}{\newcounter{ExNo}}{\newcounter{ExNo}[chapter]}
+\newcounter{SubExNo}[\if@noftnote ExNo\else FnExNo\fi]
+\newcounter{SubSubExNo}[SubExNo]
+\newcounter{FnExNo}[footnote]
+\newcounter{ABC}
+\newcommand{\ExLBr}{(}%added in version 4.0
+\newcommand{\ExRBr}{)}%added in version 4.0
+\newcommand{\FnExLBr}{(}%added in version 4.0
+\newcommand{\FnExRBr}{)}%added in version 4.0
+\newcommand{\theExLBr}{(}%added in version 4.0
+\newcommand{\theExRBr}{)}%added in version 4.0
+\newcommand{\theFnExLBr}{(}%added in version 4.0
+\newcommand{\theFnExRBr}{)}%added in version 4.0
+\renewcommand{\theExNo}{\theExLBr\arabic{ExNo}\theExRBr}%modified in version 4.0
+\renewcommand{\theFnExNo}{\theFnExLBr\roman{FnExNo}\theFnExRBr}%removed in version 4.0
+\newcommand{\firstrefdash}{-}
+\newcommand{\secondrefdash}{-}
+\newcommand{\SubExLBr}{}
+\newcommand{\SubExRBr}{.}
+\newcommand{\SubSubExLBr}{(}
+\newcommand{\SubSubExRBr}{)}
+\newcommand{\Exarabic}{\arabic}%added in version 4.0
+\newcommand{\Exalph}{\alph}%added in version 4.0
+\newcommand{\Exroman}{\roman}%added in version 4.0
+% Modification in version 4.0: hard wired brackets replaced by
+% commands defined above:
+\renewcommand{\theSubExNo}{\hbox{\if@noftnote\theExLBr\Exarabic{ExNo}\firstrefdash
+ \Exalph{SubExNo}\theExRBr\else
+\theFnExLBr\Exroman{FnExNo}\firstrefdash\Exalph{SubExNo}\theFnExRBr\fi}}
+\renewcommand{\theSubSubExNo}{%
+ \hbox{\if@noftnote\theExLBr\Exarabic{ExNo}\firstrefdash\Exalph{SubExNo}\secondrefdash
+ \Exroman{SubSubExNo}\theExRBr%
+ \else\theFnExLBr\Exroman{FnExNo}\firstrefdash
+ \Exalph{SubExNo}\secondrefdash\Exarabic{SubSubExNo}\theFnExRBr\fi}}%
+%
+%%%%%%%%%%%%%% LENGTHS FOR SPACING %%%%%%%%%%%%%%%%%%%%%%%%%%
+\newlength{\currentlabel}
+\newlength{\lessthanten}
+\newlength{\lessthanhundred}
+\newlength{\lessthanthousand}
+\newlength{\@Exleftmargin}
+\newlength{\Exlabelwidth}
+\newlength{\Extopsep}
+\newlength{\Exindent}
+\newlength{\SubExleftmargin}
+\newlength{\SubSubExleftmargin}
+\newlength{\Exlabelsep}
+\newlength{\alignSubExnegindent}
+\newlength{\Exredux}
+\newif\ifalignSubEx
+\newcommand{\resetExdefaults}{%
+ \setlength{\Exlabelsep}{1.3em}%
+ \setlength{\Extopsep}{.66\baselineskip}%
+ \setlength{\SubSubExleftmargin}{2.4em}%
+ \setlength{\SubExleftmargin}{2em}%
+ \setlength{\Exindent}{0pt}%
+ \setlength{\Exlabelwidth}{4em}%
+ \setlength{\alignSubExnegindent}{\Exlabelsep}%
+ \ifalignSubEx\addtolength{\Exlabelsep}{.7em}%
+ \addtolength{\alignSubExnegindent}{.7em}\fi
+ \setlength{\Exredux}{-\baselineskip}%
+ }
+\AtBeginDocument{\resetExdefaults}
+%%%
+\newlength\digitwidth%added-3.7
+\newlength\mindigitwidth%added-3.7
+\newcommand{\minimalwidth}[1]{\settowidth{\digitwidth}{#1}%added-3.7
+\ifdim\digitwidth<\mindigitwidth\mindigitwidth\digitwidth\fi}%added-3.7
+%
+%%%%%%%%%%%%%%%%%%% DEFINITION OF \ex. %%%%%%%%%%%%%%%%%%%%%%%%%%
+\newif\ifembedded
+\newif\ifExWarning
+\newcounter{ExDepth}
+\newcounter{TempExDepth}\setcounter{TempExDepth}{0}
+\def\trivex.#1\par{\ifdim\lastskip=.66\baselineskip\vspace{\Exredux}\fi
+ \begin{list}{}{\leftmargin\z@%
+ \labelwidth\z@\labelsep\z@\partopsep\z@\topsep\Extopsep}%
+ \item{}#1%
+ \stepcounter{ExDepth}\ExEnd}%refstepcounter replaced
+\def\ex.#1\par{%
+ \ifnum\theExDepth>0 \setcounter{TempExDepth}{\theExDepth}%
+ \setcounter{ExDepth}{0}
+ \embeddedtrue\fi
+ \ifembedded\else
+ \ifdim\lastskip=.66\baselineskip\vspace{\Exredux}\fi
+ \fi
+ \stepcounter{ExDepth}%%refstepcounter replaced
+ \my@ifnextchar[{\OptArgEx}{\ifindex\expandafter\lookforwords\fi
+ \NormalEx\testforgramm}%
+ #1%
+ \addtocounter{ExDepth}{\theTempExDepth}\setcounter{TempExDepth}{0}%
+ \embeddedfalse\global\ExWarningfalse\ExEnd}
+\newcommand{\NormalEx}{\ifExWarning
+ \PackageWarning{linguex}{Check example numbering (screwed up?),
+ check number of empty lines at end of examples.
+ Detected}\fi\ExWarningtrue
+ \if@noftnote\refstepcounter{ExNo}%
+ \Exformat[\ExLBr\Exarabic{ExNo}\ExRBr]%
+ \else
+ \refstepcounter{FnExNo}\Exformat[\FnExLBr\Exroman{FnExNo}\FnExRBr]%
+ \fi}
+\def\OptArgEx[#1]{\Exformat[#1]\expandafter\testforgramm\ifindex\expandafter
+ \lookforwords\fi}
+\def\philarge{4\mindigitwidth}
+\def\philmiddle{3\mindigitwidth}
+\def\philsmall{2\mindigitwidth}
+%%%%%%%%%%%%%%%
+\newcommand{\phlabelwidth}[1]{%
+ \renewcommand{\philarge}{#1}%
+ \renewcommand{\philmiddle}{#1}%
+ \renewcommand{\philsmall}{#1}}
+\newcommand{\phlabeldefault}{%
+ \renewcommand{\philarge}{4\mindigitwidth}%
+ \renewcommand{\philmiddle}{3\mindigitwidth}%
+ \renewcommand{\philsmall}{2\mindigitwidth}}
+\newcommand{\ExEnd}{%
+ \ifnum\theExDepth=0\global\unembeddedfalse\else%
+ \end{list}\addtocounter{ExDepth}{-1}\ExEnd\fi}
+\newcommand{\listdecl}{\parsep\z@\itemsep\z@\partopsep\z@\labelsep\z@%
+ \@Exleftmargin\z@%
+ \settowidth{\digitwidth}{0}\mindigitwidth\digitwidth%modified-3.7
+ \minimalwidth{1}%modified-3.7
+ \minimalwidth{2}%
+ \minimalwidth{3}%
+ \minimalwidth{4}%
+ \minimalwidth{5}%
+ \minimalwidth{6}%
+ \minimalwidth{7}%
+ \minimalwidth{8}%
+ \minimalwidth{9}%
+ \settowidth{\lessthanthousand}{\ExLBr\hbox to \philarge{}\ExRBr}%modified-3.7,4.0
+ \ifdim\currentlabel<\lessthanthousand\leftmargin\Exlabelsep
+ \ifdim\lessthanthousand<\Exlabelwidth\Exlabelwidth\Exlabelsep%
+ \settowidth{\lessthanten}{\ExLBr\hbox
+ to \philsmall{}\ExRBr}%modified-3.7
+ \settowidth{\lessthanhundred}{\ExLBr\hbox to
+ \philmiddle{}\ExRBr}%modified-3.7
+ \ifdim\currentlabel<\lessthanten\leftmargin\lessthanten%
+ \else
+ \ifdim\currentlabel<\lessthanhundred\leftmargin\lessthanhundred%
+ \else
+ \ifdim\currentlabel<\lessthanthousand\leftmargin\lessthanthousand%
+ \fi\fi\fi\fi
+ \else
+ \Exlabelwidth\z@
+ \fi%
+ \@Exleftmargin\Exlabelwidth
+ \labelwidth\leftmargin
+ \ifembedded\relax\else
+ \addtolength{\Exlabelwidth}{\Exindent}
+ \fi
+ \addtolength{\leftmargin}{\Exlabelwidth}%
+ \addtolength{\labelwidth}{\@Exleftmargin}%
+}
+\def\Exformat[#1]{%
+ \settowidth{\currentlabel}{#1}%
+ \begin{list}{\makebox[\labelwidth][l]{#1}}{%
+ \setlength{\leftmargin}{\currentlabel}%
+ \listdecl%
+ \if@noftnote\relax\else\addtolength{\topsep}{-.5\topsep}\fi
+ \ifembedded\topsep=.3\Extopsep\else\topsep=\Extopsep\fi
+ }%
+ \ifindex\firstwordtrue\fi\item{}}
+%
+%%%%%%%% the `[' of OPTIONAL ARGUMENTS must immediately follow \ex. %%%%%%
+%%%% redefinition of \@ifnextchar that does NOT ignore spaces %%%%%%%%%%%
+\def\my@ifnextchar#1#2#3{\let\reserved@d=#1%
+ \def\reserved@a{#2}\def\reserved@b{#3}%
+ \futurelet\@let@token\my@ifnch}
+\def\my@ifnch{\ifx\@let@token\@sptoken%
+ % \let\reserved@c\@xifnch
+ \let\reserved@c\reserved@b%
+ \else
+ \ifx\@let@token\reserved@d%
+ \let\reserved@c\reserved@a%
+ \else
+ \let\reserved@c\reserved@b%
+ \fi\fi
+ \reserved@c}% cf. definition of \@ifnextchar in latex2e.ltx %%
+%
+%%%%%%%%%%%%%% PROCESSING OF GRAMMATICALITY JUDGMENTS %%%%%%%%%%%%%
+\newtoks\CollectTokens
+\newcommand\AddInfo[1]{\expandafter\expandafter\expandafter
+ \CollectTokens\expandafter{%
+ \the\CollectTokens#1}}
+\def\testforgramm{\GTest{}{\printGramm}}
+\def\printGramm{\makebox[0pt][r]{\normalfont\the\CollectTokens}\ignorespaces}
+\def\GTest#1#2{%
+ \def\TestForGramm{\CollectTokens={}%
+ \@ifnextchar *{\AddInfo{*}\@firstoftwo\recTestForGramm}{%
+ \@ifnextchar ?{\AddInfo{\char63}\@firstoftwo\recTestForGramm}{%
+ \@ifnextchar \#{\AddInfo{\#}\@firstoftwo\recTestForGramm}{%
+ \@ifnextchar \%{\AddInfo{\%}\@firstoftwo\recTestForGramm}%
+ {#1}}}}}%
+ \def\recTestForGramm{\@ifnextchar *{\AddInfo{*}\@firstoftwo%
+ \recTestForGramm}{%
+ \@ifnextchar ?{\AddInfo{\char63}\@firstoftwo\recTestForGramm}{%
+ \@ifnextchar \#{\AddInfo{\#}\@firstoftwo\recTestForGramm}{%
+ \@ifnextchar \%{\AddInfo{\%}\@firstoftwo\recTestForGramm}%
+ {#2}}}}}%
+ \TestForGramm}
+%
+%%%%%%%%%%%%%%%% SUBLISTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newif\ifunembedded
+\newcommand{\SubExlabel}{\SubExLBr\Exalph{SubExNo}\SubExRBr}
+\def\a.{\ifindex\firstwordtrue\fi
+ \ifnum\theExDepth=0 \unembeddedtrue
+ \trivex.\fi
+ \stepcounter{ExDepth}%refstepcounter replaced
+ \begin{list}{\makebox[\labelwidth][l]{%
+ \ifnum\theExDepth=1 \SubExLBr\Exalph{ABC}\SubExRBr%
+ \else
+ \ifnum\theExDepth=2 %
+ \ifdim\currentlabel<\lessthanthousand%
+ \ifalignSubEx
+ \llap{\hbox to \alignSubExnegindent{\ifunembedded%
+ \SubExLBr\Exalph{SubExNo}\SubExRBr
+ \else\SubExlabel\fi\hss}}%
+ \else\SubExlabel\fi%
+ \else\ifunembedded%
+ \SubSubExLBr\Exroman{SubExNo}\SubSubExRBr
+ \else\SubExlabel\fi\fi
+ \else
+ \ifnum\theExDepth=3 %
+ \if@noftnote%\ifunembedded\mbox{$\bullet$!}\else
+ \SubSubExLBr\Exroman{SubSubExNo}\SubSubExRBr
+ %\fi
+ \else\Exarabic{SubSubExNo}\SubSubExRBr\fi
+ \fi\fi\fi}}%
+ {\labelsep\z@
+ \ifnum\theExDepth=2\topsep .3\Extopsep\else\topsep 0pt\fi
+ \parsep\z@\itemsep\z@
+ \ifnum\theExDepth=1 %
+ \usecounter{ABC}%
+ \settowidth{\currentlabel}{\ExLBr\Exarabic{ExNo}\ExRBr}%
+ \listdecl%
+ \else
+ \ifnum\theExDepth=2 %
+ \usecounter{SubExNo}%
+ \ifalignSubEx\ifdim\currentlabel<\lessthanthousand%
+ \leftmargin\z@\else\leftmargin=\SubExleftmargin\fi%
+ \else\leftmargin=\SubExleftmargin\fi%
+ \else
+ \ifnum\theExDepth=3 \usecounter{SubSubExNo}\fi
+ \leftmargin=\SubSubExleftmargin%
+ \fi
+ \labelwidth=\leftmargin%
+ \fi}%
+ \ifnum\theExDepth=1 \setlength{\Exlabelwidth}{4em}\fi%
+ %previous line added 2000/12/22
+ \b.}
+%
+%%%%%%%%%%%%%%%%% ITEMS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\def\newExitem[#1]{\ifnum\theExDepth=2 %
+ \ifdim\currentlabel<\lessthanthousand%
+ \ifalignSubEx
+ \item[\llap{\hbox to \alignSubExnegindent{#1\hfill}}]%
+ \else
+ \item[#1\hfill]\fi
+ \else\item[#1\hfill]%
+ \fi
+ \else\item[#1\hfill]%
+ \fi\testforgramm}
+\let\oldb=\b
+\DeclareRobustCommand{\b}{\@ifnextchar.{\newb}{\oldb}}
+\def\newb.{\ifindex\firstwordtrue\fi
+ \my@ifnextchar[{\newExitem}{\item\testforgramm}}
+\let\oldc=\c
+\DeclareRobustCommand{\c}{\@ifnextchar.{\b}{\oldc}}
+\let\oldd=\d
+\DeclareRobustCommand{\d}{\@ifnextchar.{\b}{\oldd}}
+\let\e=\b
+\let\f=\b
+\def\z.{\end{list}\addtocounter{ExDepth}{-1}}
+%
+%%%%%%%%%%%%%%%%%%%% INDEXED BRACKETS %%%%%%%%%%%%%%%%%%%%%%%%
+\newif\ifindex
+\newif\iffirstword
+\def\I#1#2 {#1\labelBr#2 }
+\def\exi.#1\par{\indextrue\ex.#1 | blabla | \indexfalse\par}
+\def\ai.#1 \par{\indextrue
+ \a.#1 | blabla |
+ \par
+ \indexfalse}
+\def\finish|#1|{\ExEnd}
+\newcommand{\testGrAndBr}{\GTest{}{\printGramm\checkforbr}}
+\def\doaword#1 {%
+ \iffirstword\firstwordfalse\expandafter\testGrAndBr\fi%
+ #1
+ \ifgloss\expandafter\checkforbrorstar\else
+ \expandafter\lookforwords\fi}
+\newcommand{\checkforbrorstar}{\GTest{\checkforbr}{\printGramm\checkforbr}}
+\newcommand{\lookforwords}{\@ifnextchar]{\firstwordfalse\@aber}%
+ {\@ifnextchar[{\firstwordfalse\@aber}%
+ {\@ifnextchar|{\firstwordfalse\finish}{\doaword}}}}
+\def\labelBr#1 {\mbox{$\hspace{.05em}_{\mbox{\scriptsize\rm#1}}$} }
+\newcommand{\jetzt}{\my@ifnextchar[{\@aber}{\my@ifnextchar]{\@aber}%
+ {\@schnell}}}
+\def\@aber#1#2 {#1\jetzt#2 }
+\def\@schnell#1 {\labelBr#1 \lookforwords}
+\newcommand{\checkforbr}{\@ifnextchar[{\recurseonbr}%
+ {\@ifnextchar]{\recurseonbr}{}}}
+\newcommand{\recurseonbr}{\my@ifnextchar[{\stripoffbr}%
+ {\my@ifnextchar]{\stripoffbr}{\labelBr}}}
+\def\stripoffbr#1#2 {\textrm{#1}\recurseonbr#2 }%\rm changed to \textrm
+%
+%%%%%%%%%%%%%%%%%%%% GLOSSES %%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newif\ifgloss
+%%% modification of cgloss4e %%%%
+\def\getwords(#1,#2)#3 #4\\% #1=linebox, #2=\each, #3=1st word, #4=remainder
+ {\setbox#1=\vbox{\hbox{#2\strut\ifindex\expandafter\checkforbr\fi#3 }%
+ \unvbox#1}%
+ \def\more{#4}%
+ \ifx\more\empty\let\more=\donewords
+ \else\let\more=\getwords
+ \fi
+ \more(#1,#2)#4\\%
+ }
+\def\gl@stop{{\hskip -\glossglue}\unhbox\gline\end{flushleft}%
+ \global\glossfalse%
+ \ifindex\expandafter\lookforwords\fi {} }
+%%%
+\newcommand{\newgll}{\glosstrue\GTest{\gll}{\gll\printGramm}}
+\def\exg.{\my@ifnextchar[{\newglossex}{\ex.\newgll}}
+\def\newglossex[#1]{\ex.[#1]\newgll}
+\def\ag.{\my@ifnextchar[{\newglossa}{\a.\newgll}}
+\def\newglossa[#1]{\a.[#1]\newgll}
+\def\newglossitem[#1]{\ifalignSubEx%\ifdim\currentlabel<\lessthanthousand%
+ \item[\llap{\hbox to \alignSubExnegindent{#1\hfill}}]%
+ \else
+ \item[#1\hfill]%
+ \fi
+\newgll}
+\def\bg.{\my@ifnextchar[{\newglossitem}{\item\newgll}}
+\def\cg.{\bg.}
+\def\dg.{\bg.}
+\def\eg.{\bg.}
+\def\fg.{\bg.}
+%
+%%%%%%%%%%%%%%%%%%%% GLOSSES WITH INDEXED BRACKETS %%%%%%%%%%%%
+\def\exig.{\my@ifnextchar[{\newglossexi}{\exi.\newgll}}
+\def\newglossexi[#1]{\exi.[#1]\newgll}
+\let\exgi=\exig
+\def\aig.{\my@ifnextchar[{\newglossai}{\ai.\newgll}}
+\def\newglossai[#1]{\ai.[#1]\newgll}
+\let\agi=\aig
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CROSS REFERENCES %%%%%%%%%%%%%%
+\newcounter{tmpaEx}
+\newif\ifNoFnRef
+\newcommand{\Next}{\if@noftnote\NoFnReftrue\else\NoFnReffalse\fi
+ \copyExNo\stepcounter{tmpaEx}\printExNo}%refstepcounter replaced
+\newcommand{\NNext}{\if@noftnote\NoFnReftrue\else\NoFnReffalse\fi
+ \copyExNo\addtocounter{tmpaEx}{2}\printExNo}
+\newcommand{\TextNext}{\NoFnReftrue\copyExNo\stepcounter{tmpaEx}\printExNo}%refstepcounter replaced
+\newcommand{\Last}{\if@noftnote\NoFnReftrue\else
+ \ifnum\Exarabic{FnExNo}=0 \NoFnReftrue\else\NoFnReffalse\fi
+ \fi
+ \copyExNo\printExNo}
+\newcommand{\LLast}{\if@noftnote\NoFnReftrue\copyExNo%
+ \addtocounter{tmpaEx}{-1}%
+ \else
+ \ifnum\Exarabic{FnExNo}=0 \NoFnReftrue\copyExNo%
+ \addtocounter{tmpaEx}{-1}%
+ \else
+ \ifnum\Exarabic{FnExNo}=1 \NoFnReftrue\copyExNo%
+ \else
+ \NoFnReffalse\copyExNo\addtocounter{tmpaEx}{-1}%
+ \fi\fi\fi
+ \printExNo}
+\newcommand{\copyExNo}{\strut\ifNoFnRef\setcounter{tmpaEx}{\value{ExNo}}%
+ \def\thetmpaEx{\Exarabic{tmpaEx}}%
+ \else
+ \setcounter{tmpaEx}{\value{FnExNo}}\def\thetmpaEx{\Exroman{tmpaEx}}%
+ \fi}
+\def\complexExNo[#1]{\hbox{\if@noftnote\theExLBr\else\theFnExLBr\fi%
+ \thetmpaEx\firstrefdash#1\if@noftnote\theExRBr
+ \else\theFnExRBr\fi}}%hard wired bracket changed to \theExBr in version 4.0
+\newcommand{\printExNo}{\@ifnextchar[{\complexExNo}{%
+ \if@noftnote\theExLBr\else\theFnExLBr\fi\thetmpaEx%
+ \if@noftnote\theExRBr\else\theFnExRBr\fi\xspace}}%hard
+ %wired bracket changed to \theExBr in version 4.0
+%%%%%%%%%%%%%%%%%%%%%%%%%%% compatibility with beamer class %%%%%%%%%%%%%%%%%%%%%%%%%%
+% This code has now been commented out in v 4.2 since it now causes problems with beamer
+% The original problem it solved was probably a beamer issue, not a linguex issue.
+% Users with old versions of beamer may need this code so let's leave it in the source for the moment
+%
+%
+%\@ifundefined{usetheme}{}{\AtBeginDocument{\def\label#1{\strut%strut added to definition
+%\@bsphack
+% \protected@write\@auxout{}%
+% {\string\newlabel{#1}{{\@currentlabel}{\thepage}}}%
+%\@esphack}}}
+%%%%%%%%%%%%%%%%%%%%%%%%%%% END %%%%%%%%%%%%%%%%%%%%%%%%%%
+\endinput \ No newline at end of file