% -- zed.sty version 2 -------------------------------------------------
% usual common sense conditions apply - see for example the LaTeX
% public license - try to avoid editing this file; if you do edit it,
% change the filename; comments, complaints, and suggestions to
%
% Jim.Davies@comlab.ox.ac.uk
%
% but all gratitude and appreciation to Mike Spivey.
% This might be seen as a prototype; the functionality is there, but
% the implementation and documentation leave something to be
% desired---if anyone who _really_ knows what they are doing
% w.r.t. 2e internals wants to suggest revisions, then please do.
% The times option uses composite arrows (I mean, _really_ composite)
% and doesn't give the upharpoon symbol for filter and project - you
% get an \uparrow instead. If you want the AMS versions of the
% symbols, then you'll need to define them yourself.
% Actually, the mathtime fonts leave quite a lot to desired, if you're
% setting Z documents. No disrespect intended, but the fontset is
% clearly aimed at traditional textbook mathematics, not software
% engineering.
% changes:
%
% 14 July 2001: improved \surj in Lucida; removed \vcenter@enlarge
% from arrow definitions; \where and other zskips now use hbox's to
% handle color changes
% -- interface ---------------------------------------------------------
\def \fileversion {2 .0 } \def \filedate {2001 /07 /14 }
\NeedsTeXFormat {LaTeX2e}
\ProvidesPackage {zed}[{\filedate \space \fileversion \space zed package}]
% -- options ----------------------------------------------------------
\newif \if @cm@ \@ cm@false
\newif \if @lucida@ \@ lucida@false
\newif \if @times@ \@ times@false
\newif \if @color@ \@ color@false
\newif \if @zed@ \@ zed@false
\newif \if @csp@ \@ csp@false
\DeclareOption {cm}{\@ cm@true\@ lucida@false\@ times@false}
\DeclareOption {lucida}{\@ cm@false\@ lucida@true\@ times@false}
\DeclareOption {times}{\@ cm@false\@ lucida@false\@ times@true}
\DeclareOption {color}{\@ color@true}
\DeclareOption {zed}{\@ zed@true}
\DeclareOption {csp}{\@ csp@true}
\DeclareOption {nolines}{}
\ExecuteOptions {cm} \ProcessOptions
\newif \if @zedsyntax@ \@ zedsyntax@true
% -- color -------------------------------------------------------------
\if @color@
\@ ifpackageloaded{color}{\relax }{%
\RequirePackage [dvipsnames,usenames]{color}}
\definecolor {ZedBoxColor}{cmyk}{0 .99 ,0 ,0 .52 ,0 }
\definecolor {AnnotationColor}{cmyk}{0 .98 ,0 .13 ,0 ,0 .43 }
\definecolor {ZedColor}{cmyk}{0 .50 ,1 ,0 ,0 }
\else
\@ ifpackageloaded{color}{\relax }{\def \color #1 {\relax }}%
\fi
% -- fonts -------------------------------------------------------------
\DeclareMathVersion {zed}
\if @lucida@
\@ ifpackageloaded{lucidabr}{%
}{%
\RequirePackage {texnansi}
\RequirePackage [expert,altbullet]{lucidabr}}
\fi
\if @times@
\@ ifpackageloaded{mathtime}{%
}{%
\RequirePackage {texnansi}
\RequirePackage [LY1]{mathtime}}
\SetSymbolFont {operators} {zed}{\operator @encoding}{ptm}{m}{n}
\SetSymbolFont {letters} {zed}{MY1}{mtt}{m}{it}
\SetSymbolFont {symbols} {zed}{MY2}{mtt}{m}{n}
\SetSymbolFont {largesymbols}{zed}{MY3}{mtt}{m}{n}
\let \mathbb =\mathbf
\let \smallfrown \undefined
\DeclareMathSymbol \smallfrown {\mathrel }{symbols}{065 }
\let \vartriangleright \triangleleft
\let \vartriangleleft \triangleright
\def \sqsubset {\setbox0 =\hbox {$\sqsubseteq $}%
\ooalign {\vrule width 0 .4 pt height \ht0 depth 0 pt\hfil \cr %
\vbox to \ht0 {%
\hrule width\wd0 height 0 .2 pt depth 0 .2 pt
\vss
\hrule width\wd0 height 0 .2 pt depth 0 .2 pt}
\hfil \cr }}
\fi
\if @cm@
\DeclareSymbolFontAlphabet {\mathrm }{operators}
\DeclareSymbolFontAlphabet {\mathit }{letters}
\DeclareSymbolFontAlphabet {\mathcal }{symbols}
%%
\DeclareSymbolFont {AMSa}{U}{msa}{m}{n}
\DeclareSymbolFont {AMSb}{U}{msb}{m}{n}
\DeclareSymbolFontAlphabet {\mathbb }{AMSb}
\let \twoheadrightarrow \undefined
\let \upharpoonright \undefined
\let \upharpoonleft \undefined
\let \rightarrowtail \undefined
\let \sqsubset \undefined
\let \smallfrown \undefined
\let \vartriangleright \undefined
\let \vartriangleleft \undefined
\DeclareMathSymbol \twoheadrightarrow {\mathrel }{AMSa}{"10}
\DeclareMathSymbol \upharpoonright {\mathrel }{AMSa}{"16}
\DeclareMathSymbol \upharpoonleft {\mathrel }{AMSa}{"18}
\DeclareMathSymbol \rightarrowtail {\mathrel }{AMSa}{"1A}
\DeclareMathSymbol \sqsubset {\mathrel }{AMSa}{"40}
\DeclareMathSymbol \smallfrown {\mathrel }{AMSa}{"61}
\DeclareMathSymbol \vartriangleright {\mathrel }{AMSa}{"42}
\DeclareMathSymbol \vartriangleleft {\mathrel }{AMSa}{"43}
\fi
\SetMathAlphabet {\mathrm }{zed}{\encodingdefault }{\rmdefault }{m}{n}
\SetMathAlphabet {\mathbf }{zed}{\encodingdefault }{\rmdefault }{bx}{n}
\SetMathAlphabet {\mathsf }{zed}{\encodingdefault }{\sfdefault }{m}{n}
\SetMathAlphabet {\mathtt }{zed}{\encodingdefault }{\ttdefault }{m}{n}
\mathversion {zed}
% -- math codes and symbol definitions ---------------------------------
\DeclareSymbolFont {italics}{\encodingdefault }{\rmdefault }{m}{it}
\def \@ setmcodes#1 #2 #3 {{\count0 =#1 \count1 =#3
\loop \global \mathcode \count0 =\count1 \ifnum \count0 <#2
\advance \count0 by1 \advance \count1 by1 \repeat }}
\@ setmcodes{`A}{`Z}{"7\hexnumber@\symitalics41}%
\@ setmcodes{`a}{`z}{"7\hexnumber@\symitalics61}%
\def ~{\ifmmode \, \else \penalty \@ M\ \fi }
\let \@ mc=\mathchardef \mathcode `\; ="8000 {\catcode`\;=\active
\gdef ;{\semicolon \; }} \@ mc\semicolon ="603B
\def \_ {\leavevmode \ifmmode \else \kern0 .06 em\fi \vbox {\hrule
width0.5 em}}
\mathcode `\" ="8000 \def\@kwote#1" {\hbox {\it #1 }} {\catcode `\" =\active
\global \let "=\@kwote}
\mathchardef \spot ="320F
\mathcode `\@ =\spot
\mathcode `\| =\mid
\def \simple @enlarge#1 {\mathchoice {%
\hbox {\large $#1 $}}{\hbox {\large $#1 $}}{\hbox {\small $#1 $}%
}{\hbox {\small $#1 $}}}
\def \simple @Enlarge#1 {\mathchoice {%
\hbox {\Large $#1 $}}{\hbox {\Large $#1 $}}{\hbox {\normalsize $#1 $}%
}{\hbox {\normalsize $#1 $}}}
\def \vcenter @enlarge#1 {\mathchoice {%
\vcenter {\hbox {\large $#1 $}}}{\vcenter {\hbox {\large $#1 $}}%
}{\vcenter {\hbox {\small $#1 $}}}{\vcenter {\hbox {\small $#1 $}}}}
\def \strut @op#1 {\mathop {\mathstrut {#1 }}\nolimits }
\let \lambda @sym=\lambda
\let \mu @sym=\mu
\let \forall @sym=\forall
\let \exists @sym=\exists
\def \uminus @sym{\setbox0 =\hbox {$\cup $}\rlap {\hbox
to\wd0 {\hss \raise0 .3 ex\hbox {$\scriptscriptstyle {-}$}\hss }}\box0 }
\if @cm@
\def \comp @sym{\raise 0 .6 ex\hbox {\small \oalign {\hfil %
$\scriptscriptstyle \mathrm {o}$\hfil %
\cr \hfil $\scriptscriptstyle \mathrm {9 }$\hfil }}}
\def \lbag @sym{{[}\mkern -2 mu{[}}
\def \rbag @sym{{]}\mkern -2 mu{]}}
\def \extract @sym{\upharpoonleft }
\def \project @sym{\upharpoonright }
\let \dres @sym\vartriangleleft
\let \rres @sym\vartriangleright
\def \ndres @sym{\rlap {\raise .05 ex\hbox {$-$}}{\vartriangleleft }}
\def \nrres @sym{\rlap {\raise .05 ex\hbox {$-$}}{\vartriangleright }}
\def \inv @sym{\sim }
\def \cat @sym{\smash {\raise 0 .8 ex\hbox {$\smallfrown $}}}
\def \inbag @sym{\rlap {\hbox {$-$}}{\sqsubset }}
%
\def \@ p#1 {\mathrel {\ooalign {\hfil $\mapstochar \mkern 5 mu$\hfil \cr $#1 $}}}
\def \@ f#1 {\mathrel {\ooalign {\hfil $\mapstochar \mkern 3 mu%
\mapstochar \mkern 5 mu$\hfil \cr $#1 $}}}
%
\let \rel \leftrightarrow
\let \fun \rightarrow
\let \inj \rightarrowtail
\def \surj {\mathrel {\ooalign {$\fun $\hfil \cr $\mkern4mu \fun $}}}
\def \bij {\mathrel {\ooalign {$\inj $\hfil \cr $\mkern5mu \fun $}}}
\def \pfun {\@ p\fun }
\def \pinj {\@ p\inj }
\def \psurj {\@ p\surj }
\def \pbij {\@ p\bij }
\def \ffun {\@ f\fun }
\def \finj {\@ f\inj }
\fi
\if @times@
\def \comp @sym{\raise 0 .6 ex\hbox {\small \oalign {\hfil %
$\scriptscriptstyle \mathrm {o}$\hfil %
\cr \hfil $\scriptscriptstyle \mathrm {9 }$\hfil }}}
\def \lbag @sym{{[}\mkern -2 mu{[}}
\def \rbag @sym{{]}\mkern -2 mu{]}}
\def \extract @sym{\upharpoonleft }
\def \project @sym{\upharpoonright }
\def \dres @sym{\simple @Enlarge\vartriangleleft }
\def \rres @sym{\simple @Enlarge\vartriangleright }
\def \ndres @sym{%
\rlap {\raise .08 ex\hbox {$-$}}{\simple @Enlarge\vartriangleleft }}
\def \nrres @sym{%
\rlap {\raise .08 ex\hbox {$-$}}{\simple @Enlarge\vartriangleright }}
\def \inv @sym{\sim }
\def \cat @sym{\mkern -6 mu{\smallfrown }\mkern3mu }
\def \inbag @sym{\setbox0 =\hbox {$\sqsubseteq $}%
\ooalign {\vrule width 0 .4 pt height \ht0 depth 0 pt\hfil \cr %
\vbox to \ht0 {%
\hrule width\wd0 height 0 .2 pt depth 0 .2 pt
\vss
\hrule width\wd0 height 0 .2 pt depth 0 .2 pt
\vss
\hrule width\wd0 height 0 .2 pt depth 0 .2 pt}
\hfil \cr }}
%
\def \@ p#1 {\mathrel {\ooalign {$\mkern 16 mu\mapstochar $\hfil \cr $#1 $}}}
\def \@ f#1 {\mathrel {\ooalign {$\mkern 15 mu\mapstochar \mkern 2 mu%
\mapstochar $\hfil \cr $#1 $}}}
%
\def \extract @sym{\simple @enlarge{\uparrow }}
\def \project @sym{\simple @enlarge{\uparrow }}
\def \long @line@sym{$\mkern 6 mu$---$\mkern -10 .5 mu$---}
\def \short @line@sym{$\mkern 11 mu$---$\mkern -16 mu$---}
\def \rel {%
\mathrel {\ooalign {\long @line@sym\hfil \cr %
\raise0 .1 pt\hbox {${\prec }\mkern 10 mu{\succ }$}}}}
\def \fun {%
\mathrel {\ooalign {\long @line@sym\hfil \cr %
\raise0 .1 pt\hbox {$\mkern 24 mu\succ $\hfil }}}}
\def \inj {%
\mathrel {\ooalign {\short @line@sym\hfil \cr %
\raise0 .1 pt\hbox {${\succ }\mkern 10 mu{\succ }$\hfil }}}}
\def \surj {%
\mathrel {\ooalign {\long @line@sym\hfil \cr %
\raise0 .1 pt\hbox {$\mkern 21 mu{\succ }\mkern -10 mu{\succ }$\hfil }}}}
\def \bij {%
\mathrel {\ooalign {\short @line@sym\hfil \cr %
\raise0 .1 pt\hbox {%
${\succ }\mkern 7 mu{\succ }\mkern -10 mu{\succ }$\hfil }}}}
\def \pfun {\@ p\fun }
\def \pinj {\@ p\inj }
\def \psurj {\@ p\surj }
\def \pbij {\@ p\bij }
\def \ffun {\@ f\fun }
\def \finj {\@ f\inj }
\fi
\if @lucida@
\def \@ p#1 {\ooalign {\hfil $\mapstochar \mkern 8 mu$\hfil \cr $#1 $}}
\def \@ f#1 {\ooalign {\hfil $\mapstochar \mkern 2 mu%
\mapstochar \mkern 6 mu$\hfil \cr $#1 $}}
\DeclareMathSymbol {\pinj @sym}{\mathbin }{arrows}{146 }
\def \surj @sym{\ooalign {$\rightarrow $\hfil \cr $\mkern 2 .4 mu\rightarrow $}}
\def \bij @sym{\ooalign {$\rightarrowtail $\hfil \cr $\mkern 2 .4 mu\rightarrow $}}
%
\def \rel {\mathbin {\simple @enlarge{\leftrightarrow }}}
\def \fun {\mathbin {\simple @enlarge{\rightarrow }}}
\def \inj {\mathbin {\simple @enlarge{\rightarrowtail }}}
\def \surj {\mathbin {\simple @enlarge{\surj @sym}}}
\def \bij {\mathbin {\simple @enlarge{\bij @sym}}}
\def \pinj {\mathbin {\simple @enlarge{\pinj @sym}}}
\def \pfun {\mathbin {\simple @enlarge{\@ p\rightarrow }}}
\def \psurj {\mathbin {\simple @enlarge{\@ p\surj @sym}}}
\def \pbij {\mathbin {\simple @enlarge{\@ p\bij @sym}}}
\def \ffun {\mathbin {\simple @enlarge{\@ f\rightarrow }}}
\def \finj {\mathbin {\simple @enlarge{\@ f\rightarrowtail }}}
%
\let \mapsto @sym\mapsto
\def \mapsto {\mathbin {\simple @enlarge{\mapsto @sym}}}
%
\def \comp @sym{\raise 0 .6 ex\hbox {\oalign {\hfil %
$\scriptscriptstyle \mathtt {o}$\hfil %
\cr \hfil $\scriptscriptstyle \mathtt {9 }$\hfil }}}
\def \lbag @sym{\ldbrack }
\def \rbag @sym{\rdbrack }
\def \extract @sym{\simple @enlarge{\upharpoonleft }}
\def \project @sym{\simple @enlarge{\upharpoonright }}
\let \dres @sym\vartriangleleft
\let \rres @sym\vartriangleright
\DeclareMathSymbol {\ndres @sym}{\mathbin }{arrows}{17 }
\DeclareMathSymbol {\nrres @sym}{\mathbin }{arrows}{18 }
\def \cat @sym{\smash {\raise 0 .8 ex\hbox {$\smallfrown $}}}
\def \inv @sym{\simple @enlarge{\sim }}
\def \inbag @sym{\rlap {\hbox {$-$}}{\sqsubset }}
\fi
% -- mathematical notation ---------------------------------------------
\def \ELSE {\mathrel {\mathbf {else}}}
\def \IF {{\mathbf {if}}\; }
\def \IN {{\mathbf {in}}\; }
\def \LET {{\mathbf {let}}\; }
\def \THEN {\mathrel {\mathbf {then}}}
\def \bag {\mathop {\mathrm {bag}}}
\def \bcount {\mathbin {\sharp }}
\def \cat {\mathbin {\cat @sym}}
\def \comp {\mathrel {\comp @sym}}
\def \cross {\mathrel {\times }}
\def \dcat {\mathop {\cat /}}
\def \defs {\mathrel {\widehat =}}
\def \disjoint {{\mathsf {disjoint}}\; }
\def \div {\mathbin {\mathsf {div}}}
\def \dom {\mathop {\mathrm {dom}}}
\def \dres {\mathbin {\dres @sym}}
\def \exists {\strut @op{\exists @sym}}
\def \extract {\mathrel {\extract @sym}}
\def \filter {\mathbin {\project }}
\def \finset {\strut @op{{\mathbb {F}}}}
\def \forall {\strut @op{\forall @sym}}
\def \hide {\mathrel {\backslash }}
\def \id {\mathop {\mathrm {id}}}
\def \iff {\mathrel {\Leftrightarrow }}
\def \implies {\mathrel {\Rightarrow }}
\def \inbag {\mathrel {\inbag @sym}}
\def \inseq {\mathrel {\mathsf {in}}}
\def \inv {^{\inv @sym}}
\def \iseq {\mathop {\mathrm {iseq}}}
\def \lambda {\strut @op{\lambda @sym}}
\def \land {\mathrel {\wedge }}
\def \lbag {\lbag @sym}
\def \lblot {{\langle }\mkern -3 .5 mu{|}}
\let \lbind \lblot
\def \ldata {\langle \! \langle }
\def \limg {(\mskip -4 .5 mu|}
\def \lnot {\neg \; }
\def \lor {\mathrel {\vee }}
\def \mod {\mathbin {\mathsf {mod}}}
\def \mu {\strut @op{\mu @sym}}
\def \nat {{\mathbb {N}}}
\def \Time {{\mathbb {T}}}
\def \ndres {\mathbin {\ndres @sym}}
\def \nrres {\mathbin {\nrres @sym}}
\def \num {{\mathbb {Z}}}
\def \partition {\mathrel {\mathsf {partition}}}
\def \pipe {\mathord >\! \! \mathord >}
\def \plus {^+}
\def \power {\strut @op{\mathbb {P}}}
\def \prefix {\mathrel {\mathsf {prefix}}}
\def \pre {{\mathrm {pre}}\; }
\def \project {\mathrel {\project @sym}}
\def \ran {\mathop {\mathrm {ran}}}
\def \rbag {\rbag @sym}
\def \rblot {{|}\mkern -3 .5 mu{\rangle }}
\let \rbind \rblot
\def \rdata {\rangle \! \rangle }
\def \rimg {|\mskip -4 .5 mu)}
\def \rres {\mathbin {\rres @sym}}
\def \semi {\mathrel {\comp }}
\def \seq {\mathop {\mathrm {seq}}}
\def \shows {\mathrel {\vdash }}
\def \star {^*}
\def \subbageq {\mathrel {\sqsubseteq }}
\def \suffix {\mathrel {\mathsf {suffix}}}
\def \uminus {\mathrel {\uminus @sym}}
\def \upto {\mathbin {\ldotp \ldotp }}
% -- csp if required ---------------------------------------------------
\@ ifpackageloaded{csp}{%
\if @zed@\else \@ zedsyntax@false\fi
}{%
\if @csp@\RequirePackageWithOptions {csp}\fi
}
% -- zed syntax --------------------------------------------------------
% any conditional _must_ be declared
\newif \ifzt @p \zt @pfalse
\if @zedsyntax@
\def \bsup #1 \esup {^{#1 }}
\def \inrel #1 {\mathrel {\underline {#1 }}}
\newdimen \zedindent \zedindent =\leftmargini %
\newdimen \zedleftsep \zedleftsep =1 em%
\newdimen \zedtab \zedtab =2 em%
\newdimen \zedbar \zedbar =6 em%
\newskip \zedskip \zedskip =0 .5 \baselineskip plus0.333333 \baselineskip %
minus0.333333 \baselineskip %
\def \zedsize {}%
\newcount \interzedlinepenalty \interzedlinepenalty =10000 %
\newcount \preboxpenalty \preboxpenalty =0 %
\def \@ jot{0 .5 \zedskip }
\def \@ narrow{\advance \linewidth by-\zedindent }
\def \@ zrulefill{\leaders \hrule height\arrayrulewidth \hfill }
\def \@ topline#1 {\hbox to\linewidth {%
\color {ZedBoxColor}%
\vrule height\arrayrulewidth width\arrayrulewidth
\vrule height0pt depth\@ jot width0pt
\hbox to\zedleftsep {\@ zrulefill\thinspace }%
{\color {ZedColor}#1 }\thinspace \@ zrulefill}}
\def \@ zedline{\omit \hbox to 0 pt{\color {ZedBoxColor}\vrule
height\arrayrulewidth width\linewidth \hss } \cr }
\def \where {\@ zskip\@ jot
\omit \hbox {\color {ZedBoxColor}\vrule height\arrayrulewidth width\zedbar } \cr
\@ zskip\@ jot}
\def \also {\crcr \noalign {\penalty \interdisplaylinepenalty
\vskip \zedskip }}
\def \@ zskip#1 {\crcr \omit \hbox {\color {ZedBoxColor}\vrule height#1
width\arrayrulewidth } \cr }
\def \@ zlign{\tabskip \z @skip\everycr {}}
\let \tie =\t
\def \t #1 {\afterassignment \@ t\count @=#1 }
\def \@ t{\hskip \count @\zedtab }
\def \@ setzsize{\let \next =\@ nomath\def \@ nomath##1 {}%
\skip0 =\abovedisplayskip \skip1 =\belowdisplayskip
\zedsize \let \@ nomath=\next
\abovedisplayskip =\skip0 \belowdisplayskip =\skip1 }
\def \@ zed{\ifvmode \@ zleavevmode\fi %
$$\global \zt @ptrue
\@ setzsize
\advance \linewidth by-\zedindent
\advance \displayindent by\zedindent
\def \\ {\crcr }% Must have \def and not \let for nested alignments.
\let \par =\relax
\tabskip =0 pt}
\def \zed {%
\@ zed\@ znoskip\halign to\linewidth \bgroup %
{\strut $\color {ZedColor}\@ zlign##$}\hfil \tabskip =0 pt
plus1fil\cr }%
\def \endzed {\crcr \egroup $$\global \@ ignoretrue}
\def \@ znoskip{%
\offinterlineskip
\everycr ={%
\noalign {%
\ifzt @p\relax \global \zt @pfalse%
\ifdim \prevdepth >-1000 pt\relax %
\skip0 =\normalbaselineskip %
\advance \skip0by -\prevdepth %
\advance \skip0by -\ht \strutbox %
\ifdim \skip0 <\normallineskiplimit \relax %
\vskip \normallineskip %
\else %
\vskip \skip0 %
\fi %
\fi %
\else %
\penalty \interzedlinepenalty %
\fi %
}}}
\def \[ {\begingroup \zed }
\def \] {\crcr \egroup $$\endgroup \ignorespaces }
\def \axdef {\def \also {\@ zskip\zedskip }%
\predisplaypenalty =\preboxpenalty %
\@ zed\@ znoskip%
\halign to\linewidth \bgroup %
\strut {\color {ZedBoxColor}\vrule width\arrayrulewidth }\hskip \zedleftsep %
{$\color {ZedColor}\@ zlign##$}\hfil \tabskip =0 pt plus1fil\cr }
\let \endaxdef =\endzed
\def \schema #1 {\@ ifnextchar[{\@ schema{#1 }}{\@ nschema{#1 }}}
\def \@ schema#1 [#2 ]{\@ nschema{#1 [#2 ]}}
\def \@ nschema#1 {\@ narrow\axdef \omit \@ topline{$\strut #1 $}\cr }
\def \endschema {\@ zskip\@ jot\@ zedline\endzed }
\@ namedef{schema*}{\@ narrow\axdef \@ zedline\@ zskip\@ jot}
\expandafter \let \csname endschema*\endcsname =\endschema
\def \gendef {\@ ifnextchar[{\@ gendef}{\@ ngendef}}
\def \@ gendef[#1 ]{\@ narrow\axdef \omit \setbox0 =\hbox {$\strut [#1 ]$}%
\rlap {\raise \doublerulesep \@ topline{\hskip \wd0 }}\@ topline{\box0 }\cr }
\def \@ ngendef{\@ narrow\axdef \@ zedline \omit \hbox to\linewidth {\vrule
height\doublerulesep width\arrayrulewidth \@ zrulefill}\cr
\@ zskip\@ jot
}
\let \endgendef =\endschema
\def \argue {%
\@ zed\interzedlinepenalty =\interdisplaylinepenalty
\openup \@ jot \halign to\linewidth \bgroup
\strut %
$\color {ZedColor}\@ zlign##$\hfil \tabskip =0 pt plus1fil
&\hbox to0pt{%
\color {AnnotationColor}\hss [\@ zlign##\unskip ]}\tabskip =0 pt\cr %
\noalign {\vskip -\@ jot}}
\let \endargue =\endzed
\def \myargue {%
\@ zed\interzedlinepenalty =\interdisplaylinepenalty
\openup \@ jot \halign to\linewidth \bgroup
\strut %
$\color {ZedColor}\@ zlign##$\hfil \tabskip =0 pt plus1fil
&\hbox to0pt{%
\color {AnnotationColor}\hss \@ zlign##\unskip }\tabskip =0 pt\cr %
\noalign {\vskip -\@ jot}}
\let \endmyargue =\endzed
%\def\because#1{\noalign{\vskip-\jot}&{\color{AnnotationColor}#1}\cr}
\def \syntax {\@ zed\@ znoskip \halign \bgroup
\strut $\color {ZedColor}\@ zlign##$\hfil
&\hfil $\color {ZedColor}\@ zlign{}##{}$\hfil
&$\color {ZedColor}\@ zlign##$\hfil \cr }
\let \endsyntax =\endzed
\def \infrule {\@ zed\@ znoskip \halign \bgroup
\strut \quad $\color {ZedColor}\@ zlign##$\quad \hfil &\quad \@ zlign##\hfil \cr }
\let \endinfrule =\endzed
\def \derive {\crcr \noalign {\vskip \@ jot} \omit \@ zrulefill
\@ ifnextchar[{\@ xderive}{\@ yderive}}
\def \@ xderive[#1 ]{%
&$\smash {%
\lower 0 .5 ex\hbox {%
\color {AnnotationColor}$[\; #1 \; ]$}}$\cr \noalign {\vskip \@ jot}}
\def \@ yderive{\cr \noalign {\vskip \@ jot}}
\def \@ zleavevmode{\if @inlabel \indent
\else \if @noskipsec \indent
\else \if @nobreak \global \@ nobreakfalse
\everypar ={}\abovedisplayskip =0 pt\fi
{\parskip =0 pt\noindent }\fi \fi }
\fi
% finally, zedblock
\def \zedblock {\@ ifnextchar[{\@ zedblock}{\@ zedblock[t]}}
\def \@ zedblock[#1 ]{\array [#1 ]{@{}l@{}}}
\let \endzedblock =\endarray
\endinput
Messung V0.5 in Prozent C=92 H=97 G=94
¤ Dauer der Verarbeitung: 0.8 Sekunden
¤
*© Formatika GbR, Deutschland