<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">%%% { BRACE MATCHING HACK
�
%--------------------------------------------------------------------------
�
% Created by T.Birnthaler (FAU Erlangen-Nuernberg, IMMD5 (Mustererkennung))
�
%--------------------------------------------------------------------------
�
\message{Document Style Option `regel' Version 1.0, as of 30. November 1989}
�
%
�
% Befehle zum Erzeugen von Regeln
�
% (werden zusammen mit den Formeln durchnumeriert):
�
%
�
% Erzeugung:
�
%   \begin{regel}             \begin{regel*}
�
%     Anweisungen     bzw.      Anweisungen
�
%   \end{regel}               \end{regel*}      
�
% 
�
%
�
% Anweisung:
�
%   \IF{Bedingung1 \AND Bedingung2 \AND ... \AND BedingungN}[,.;]
�
%   \THEN{Folgerung1 \OR Folgerung2 \OR ... \OR FolgerungM}[,.;]
�
%   \label{...}
�
%   \nonumber
�
%
�
% Masse:                (Bedeutung:                             Defaultwert)
�
%   \aboveruleskip      (Abstand zu vorhergeh. abgetr. Absatz:        1.5ex)
�
%   \belowruleskip      (Abstand zu nachfolg. abgetr. Absatz:         1.5ex)
�
%   \aboveruleshortskip (Abstand zu vorhergeh. angrenz. Absatz:       0.5ex)
�
%   \belowruleshortskip (Abstand zu nachfolg. angrenz. Absatz:        0.5ex)
�
%   \ruleleftindent     (linke Einrueckung:                             1cm)
�
%   \rulerightindent    (rechte Einrueckung:                            2cm)
�
%   \inruleskip         (Abstand zw. zus.geh. IF- und THEN-Teil:        0pt)
�
%   \betweenruleskip    (Abstand zw. zwei Regeln in derselben Umgebung: 1ex)
�
%   \rulehskip          (Abstand zw. THEN,AND,OR und folg. Text:        1ex)
�
%
�
% Bedingung, Folgerung:
�
%   beliebiger Text mit TeX-Kommandos zum Zeilenumbruch,
�
%   Schriftartwechsel, ...
�
%
�
% Hinweise:
�
%   -- \label-Kommandos *duerfen nur* direkt vor dem abschliessenden
�
%      \end{regel}-Kommando von Regeln angegeben werden.
�
%
�
%   -- Die regel*-Umgebung erzeugt *keine* Numerierung der Regel(n).
�
%      Alternativ kann auch in der regel-Umgebung die Numerierung
�
%      mit \nonumber unterdrueckt werden.
�
%
�
%   -- nach dem Argument von \IF- oder \THEN-Anweisungen *darf optional*
�
%      eines der Satzzeichen ,;. folgen, das dann im Text nach dem 
�
%      Argumenttext und der abschliessenden rechten Klammer erscheint.
�
%
�
%   -- Die Masse *koennen* durch Zuweisung einer beliebigen Laenge mit dem
�
%      Kommando  
�
%                   \setlength{\mass}{laenge}
�
%
�
%      nach Geschmack veraendert werden.
�
%
�
%   -- Leerzeichen am Anfang einer Zeile werden von TeX bis zum ersten
�
%      echten Zeichen *nicht* beachtet (d.h Einruecken ist erlaubt).
�
%-----------------------------------------------------------------------
�

�
% interne Boxen
�
\newbox\rule@then@box
�
\newbox\rule@if@box
�
\newbox\rule@and@box
�
\newbox\rule@or@box
�
\newbox\rule@regel@box
�

�
% Masse
�
\newdimen\aboveruleskip
�
\newdimen\belowruleskip
�
\newdimen\aboveruleshortskip
�
\newdimen\belowruleshortskip
�
\newdimen\ruleleftindent
�
\newdimen\rulerightindent
�
\newdimen\inruleskip
�
\newdimen\betweenruleskip
�
\newdimen\rulehskip
�
\newdimen\rule@depth   %%% intern verwendet
�

�
% Defaultwerte fuer Masse
�
\aboveruleskip      = 1.5ex
�
\belowruleskip      = 1.5ex
�
\aboveruleshortskip = 0.5ex
�
\belowruleshortskip = 0.5ex
�
\ruleleftindent     = 1cm
�
\rulerightindent    = 2cm
�
\inruleskip         = 0pt
�
\betweenruleskip    = 1ex
�
\rulehskip          = 1ex
�

�
% fuer Folgen von Regeln
�
\newif\if@firstrule \@firstruletrue
�

�
% Alternative regel*-Umgebung, *un*numeriert
�
\@namedef{regel*}{\regel}
�
\@namedef{endregel*}{\nonumber\endregel}
�

�
% Normale regel-Umgebung, numeriert
�
\def\regel{%
�
%
�
% Abstand zum vorhergehenden Text bestimmen
�
  \ifhmode
�
    \ifinner \errmessage{regel-Umgebung in \string\hbox nicht erlaubt}%
�
    \else
�
%%%   \message{ regel: hmode-&gt;aboveshort}%
�
      \vskip\aboveruleshortskip
�
    \fi
�
  \else
�
    \ifvmode
�
      \if@firstrule
�
%%%     \message{ regel: vmode,firsttrue-&gt;above}%
�
        \ifdim \lastskip &lt; \aboveruleskip
�
          \vskip -\lastskip
�
          \vskip\aboveruleskip
�
        \fi
�
      \else
�
%%%     \message{ regel: vmode,firstfalse-&gt;between}%
�
        \@restorepar
�
        \everypar{}%
�
        \ifdim \lastskip &lt; \betweenruleskip
�
          \vskip -\lastskip
�
          \vskip\betweenruleskip
�
        \fi
�
      \fi
�
    \else \errmessage{regel-Umgebung in math-mode nicht erlaubt}%
�
    \fi
�
  \fi
�
%
�
% Gleichungsnummer aktualisieren
�
  \stepcounter{equation}%
�
  \let\@currentlabel=\theequation
�
  \global\@eqnswtrue
�
%
�
% hier wegen Schriftgroesse
�
  \setbox\rule@then@box=\hbox{THEN\hskip\rulehskip(}%        left parentheses
�
  \setbox\rule@if@box=\hbox to \wd\rule@then@box{IF\hfill(}% left parentheses
�
  \setbox\rule@and@box=\hbox{AND\hskip\rulehskip}%
�
  \setbox\rule@or@box=\hbox{OR\hskip\rulehskip}%
�
%
�
% Kommandos nur lokal erlauben
�
  \def\IF{\RULE@IF}%
�
  \def\THEN{\RULE@THEN}%
�
  \def\OR{\RULE@OR}%
�
  \def\AND{\RULE@AND}%
�
%
�
% Regelkoerper setzen
�
  \setbox\rule@regel@box\vtop\bgroup   % begin of vtop
�
    \advance\hsize by -\ruleleftindent
�
    \advance\hsize by -\rulerightindent
�
    \@parboxrestore
�
}
�

�
\def\endregel{%
�
  \egroup                            	 % end of vtop
�
%
�
% Regelhoehe bestimmen
�
  \rule@depth=\ht\rule@regel@box
�
  \advance\rule@depth by \dp\rule@regel@box
�
  \advance\rule@depth by -\dp\strutbox
�
%
�
% Regelkoerper mit Raendern und Regelnummer plazieren
�
  \hbox{%
�
    \hskip\ruleleftindent
�
    \box\rule@regel@box
�
    \hskip\rulerightindent
�
%
�
    \vtop to \rule@depth {%
�
      \hbox{\strut}%
�
      \vss
�
      \if@eqnsw                       % Regelnummer ausgeben ?
�
        \llap{\@eqnnum}%
�
      \else
�
        \global\advance\c@equation\m@ne
�
      \fi
�
    }%
�
  }%
�
%
�

�
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
�
%%% tricky, tricky, ...                                                     %%%
�
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
�
% Abstand zum nachfolgenden Text bestimmen
�
\def\@doendpe{%
�
%
�
  \@firstrulefalse
�
  \@ignoretrue
�
%
�
  \def\par{%
�
%%% \message{ *tmp par}%
�
    \@restorepar
�
    \everypar{}%
�
    \vskip\belowruleskip
�
    \@firstruletrue
�
    \@endpefalse
�
  }%
�
%
�
  \everypar={%
�
%%% \message{ *tmp everypar}%
�
    \@restorepar
�
    \everypar{}%
�
    \setbox0=\lastbox   %%% anstatt \unskip !!!
�
    \vskip\belowruleshortskip
�
    \noindent
�
    \@firstruletrue
�
    \@endpefalse
�
  }%
�
}%
�
%
�
  \@endpetrue
�
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
�
%%% ... tricky, tricky.                                                     %%%
�
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
�
}
�

�

�
% \IF mit optionalem Satzzeichen [,;.]
�
%
�
\long\def\RULE@IF#1{%
�
  \@ifnextchar,{\RULE@@IF{#1}}{%
�
  \@ifnextchar;{\RULE@@IF{#1}}{%
�
  \@ifnextchar.{\RULE@@IF{#1}}{\RULE@@IF{#1}{}}%
�
}}}
�

�
\long\def\RULE@@IF#1#2{%
�
  \hbox to \hsize{%
�
    \copy\rule@if@box
�
    \vtop{%
�
      \advance\hsize by -\wd\rule@then@box
�
      \vtop\bgroup                       % begin of first vtop
�
        \noindent\strut\ignorespaces #1\unskip\strut)#2% right parentheses
�
      \egroup                            % end of last vtop
�
    }%
�
  }%
�
  \vskip\inruleskip
�
  \ignorespaces
�
}
�

�

�
% \THEN mit optionalem Satzzeichen [,;.]
�
%
�
\long\def\RULE@THEN#1{%
�
  \@ifnextchar,{\RULE@@THEN{#1}}{%
�
  \@ifnextchar;{\RULE@@THEN{#1}}{%
�
  \@ifnextchar.{\RULE@@THEN{#1}}{\RULE@@THEN{#1}{}}%
�
}}}
�

�
\long\def\RULE@@THEN#1#2{%
�
  \hbox to \hsize{%
�
    \copy\rule@then@box
�
    \vtop{%
�
      \advance\hsize by -\wd\rule@then@box
�
      \vtop\bgroup                       % begin of first vtop
�
        \noindent\strut\ignorespaces #1\unskip\strut)#2% right parentheses
�
      \egroup                            % end of last vtop
�
    }%
�
  }%
�
  \ignorespaces
�
}
�

�

�
\def\RULE@AND{%
�
        \unskip\strut
�
      \egroup                               % end of previous vtop
�
      \vtop\bgroup                          % begin of next vtop
�
        \noindent\copy\rule@and@box\strut   % AND keyword
�
}
�

�

�
\def\RULE@OR{%
�
        \unskip\strut
�
      \egroup                               % end of previous vtop
�
      \vtop\bgroup                          % begin of next vtop
�
        \noindent\copy\rule@or@box\strut    % OR keyword
�
}
�

�
%%% } BRACE MATCHING HACK
�
</pre></body></html>