summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/edmac
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/edmac')
-rw-r--r--Master/texmf-dist/tex/generic/edmac/edmac.tex1321
-rw-r--r--Master/texmf-dist/tex/generic/edmac/edmacfss.sty53
-rw-r--r--Master/texmf-dist/tex/generic/edmac/edstanza.tex92
-rw-r--r--Master/texmf-dist/tex/generic/edmac/tabmac.tex641
4 files changed, 2107 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/edmac/edmac.tex b/Master/texmf-dist/tex/generic/edmac/edmac.tex
new file mode 100644
index 00000000000..eec51ff22bc
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/edmac/edmac.tex
@@ -0,0 +1,1321 @@
+%%
+%% This is file `edmac.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% edmac.doc
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from edmac.tex.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file edmac.doc.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+{\catcode`\$=9
+\gdef\fileversion{ $Revision: 3.17 $ }
+\gdef\filedate{ $Date: 12 Jun 1996 17:15:00 $ }}
+\def\docdate{12 June 1996}
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\ifx\edmacloaded\relax\endinput\else\let\edmacloaded=\relax\fi
+{\newlinechar=`\^^J
+\message{^^J
+ ********************************************************************^^J
+ EDMAC Critical edition macros.^^J
+ Copyright (C) 1990--1996 John Lavagnino and Dominik Wujastyk.^^J
+ This is free software, and you are welcome to redistribute it under^^J
+ certain conditions; see the accompanying file COPYING for details.^^J
+ ^^J%
+\fileversion\space\space\space <\filedate>.^^J
+ ********************************************************************^^J^^J }}
+\def\makeatletter{\catcode`\@=11 }
+\def\makeatother{\catcode`\@=12 }
+\makeatletter
+\newcount\@tempcnta \newcount\@tempcntb
+\def\edmac@warning#1{\immediate\write\sixt@@n{EDMAC warning: #1}}
+\newcount\section@num
+\section@num=0
+\let\extensionchars=\empty
+\newif\ifnumbering
+\def\beginnumbering{%
+ \ifnumbering
+ \errmessage{Numbering has already been started}%
+ \endnumbering
+ \fi
+ \global\numberingtrue
+ \global\advance\section@num by 1
+ \global\absline@num=0
+ \global\line@num=0
+ \global\subline@num=0
+ \global\@lock=0
+ \global\sub@lock=0
+ \global\sublines@false
+ \global\let\next@page@num=\relax
+ \global\let\sub@change=\relax
+ \message{Section \the\section@num }%
+ \line@list@stuff{\jobname.\extensionchars\the\section@num}%
+ \end@stuff}
+\def\endnumbering{%
+ \ifnumbering
+ \global\numberingfalse
+ \normal@pars
+ \ifx\insertlines@list\empty\else
+ \global\noteschanged@true
+ \fi
+ \ifx\line@list\empty\else
+ \global\noteschanged@true
+ \fi
+ \ifnoteschanged@
+ \immediate\write\sixt@@n{EDMAC reminder: }%
+ \immediate\write\sixt@@n{ The number of footnotes in this section
+ has changed since the last run.}%
+ \immediate\write\sixt@@n{ You will need to run TeX two more times
+ before the footnote placement}%
+ \immediate\write\sixt@@n{ and line numbering in this section are
+ correct.}%
+ \fi
+ \else
+ \errmessage{Numbering was not started}%
+ \fi}
+\def\pausenumbering{\endnumbering\global\numberingtrue}
+\def\resumenumbering{%
+ \ifnumbering
+ \global\advance\section@num by 1
+ \message{Section \the\section@num\space
+ (continuing the previous section)}%
+ \line@list@stuff{\jobname.\extensionchars\the\section@num}%
+ \end@stuff
+ \else
+ \errmessage{Numbering should already have been started.}%
+ \endnumbering
+ \beginnumbering
+ \fi}
+\newif\ifbypage@
+\def\lineation#1{{%
+ \ifnumbering
+ \errmessage{You can't use \string\lineation\space
+ within a numbered section}%
+ \else
+ \def\@tempa{#1}\def\@tempb{page}%
+ \ifx\@tempa\@tempb
+ \global\bypage@true
+ \else
+ \def\@tempb{section}%
+ \ifx\@tempa\@tempb
+ \global\bypage@false
+ \else
+ \edmac@warning{Bad \string\lineation\space argument.}%
+ \fi
+ \fi
+ \fi}}
+\newcount\line@margin
+\def\linenummargin#1{{%
+ \def\@tempa{#1}\def\@tempb{left}%
+ \ifx\@tempa\@tempb
+ \global\line@margin=0
+ \else
+ \def\@tempb{right}%
+ \ifx\@tempa\@tempb
+ \global\line@margin=1
+ \else
+ \def\@tempb{outer}%
+ \ifx\@tempa\@tempb
+ \global\line@margin=2
+ \else
+ \def\@tempb{inner}%
+ \ifx\@tempa\@tempb
+ \global\line@margin=3
+ \else
+ \edmac@warning{Bad \string\linenummargin\space argument.}%
+ \fi
+ \fi
+ \fi
+ \fi}}
+\newcount\firstlinenum
+\newcount\linenumincrement
+\firstlinenum=5
+\linenumincrement=5
+\newcount\firstsublinenum
+\newcount\sublinenumincrement
+\firstsublinenum=5
+\sublinenumincrement=5
+\newcount\lock@disp
+\def\lockdisp#1{{%
+ \def\@tempa{#1}\def\@tempb{first}%
+ \ifx\@tempa\@tempb
+ \global\lock@disp=0
+ \else
+ \def\@tempb{last}%
+ \ifx\@tempa\@tempb
+ \global\lock@disp=1
+ \else
+ \def\@tempb{all}%
+ \ifx\@tempa\@tempb
+ \global\lock@disp=2
+ \else
+ \edmac@warning{Bad \string\lockdisp\space argument.}%
+ \fi
+ \fi
+ \fi}}
+\newcount\sublock@disp
+\def\sublockdisp#1{{%
+ \def\@tempa{#1}\def\@tempb{first}%
+ \ifx\@tempa\@tempb
+ \global\sublock@disp=0
+ \else
+ \def\@tempb{last}%
+ \ifx\@tempa\@tempb
+ \global\sublock@disp=1
+ \else
+ \def\@tempb{all}%
+ \ifx\@tempa\@tempb
+ \global\sublock@disp=2
+ \else
+ \edmac@warning{Bad \string\sublockdisp\space argument.}%
+ \fi
+ \fi
+ \fi}}
+\newdimen\linenumsep
+\linenumsep=1pc
+\ifx\selectfont\undefined
+ \let\numlabfont=\sevenrm
+\else
+ \def\numlabfont{\fontsize{7}{8pt}\rm}
+\fi
+\def\leftlinenum{\numlabfont\the\line@num
+ \ifsublines@
+ \ifnum\subline@num>0
+ \unskip\fullstop\the\subline@num
+ \fi
+ \fi
+ \kern\linenumsep}
+\def\rightlinenum{\kern\linenumsep \numlabfont\the\line@num
+ \ifsublines@
+ \ifnum\subline@num>0
+ \unskip\fullstop\the\subline@num
+ \fi
+ \fi}
+\def\list@create#1{\global\let#1=\empty}
+\def\list@clear#1{\global\let#1=\empty}
+\newtoks\@toksa \newtoks\@toksb
+\global\@toksa={\\}
+\long\def\xright@appenditem#1\to#2{%
+ \global\@toksb=\expandafter{#2}%
+ \xdef#2{\the\@toksb\the\@toksa\expandafter{#1}}%
+ \global\@toksb={}}
+\long\def\xleft@appenditem#1\to#2{%
+ \global\@toksb=\expandafter{#2}%
+ \xdef#2{\the\@toksa\expandafter{#1}\the\@toksb}%
+ \global\@toksb={}}
+\def\gl@p#1\to#2{\expandafter\gl@poff#1\gl@poff#1#2}
+\long\def\gl@poff\\#1#2\gl@poff#3#4{\gdef#4{#1}\gdef#3{#2}}
+\newcount\line@num
+\newcount\subline@num
+\newif\ifsublines@
+\newcount\absline@num
+\newcount\@lock
+\newcount\sub@lock
+\list@create{\line@list}
+\list@create{\insertlines@list}
+\list@create{\actionlines@list}
+\list@create{\actions@list}
+\newcount\page@num
+\newcount\endpage@num
+\newcount\endline@num
+\newcount\endsubline@num
+\newif\ifnoteschanged@
+\newread\@inputcheck
+\def\read@linelist#1{%
+ \list@clear{\line@list}%
+ \list@clear{\insertlines@list}%
+ \list@clear{\actionlines@list}%
+ \list@clear{\actions@list}%
+ \openin\@inputcheck=#1
+ \ifeof\@inputcheck
+ \edmac@warning{Can't find line-list file #1}%
+ \global\noteschanged@true
+ \else
+ \global\noteschanged@false
+ \closein\@inputcheck
+ \begingroup
+ \catcode`\[=1 \catcode`\]=2
+ \makeatletter \catcode`\^^M=9
+ \input #1
+ \endgroup
+ \fi
+ \global\page@num=-1
+ \ifx\actionlines@list\empty
+ \gdef\next@actionline{1000000}%
+ \else
+ \gl@p\actionlines@list\to\next@actionline
+ \gl@p\actions@list\to\next@action
+ \fi}
+\def\@l{\advance\absline@num by 1
+ \ifx\next@page@num\relax \else
+ \page@action
+ \let\next@page@num=\relax
+ \fi
+ \ifx\sub@change\relax \else
+ \ifnum\sub@change>0
+ \sublines@true
+ \else
+ \sublines@false
+ \fi
+ \sub@action
+ \let\sub@change=\relax
+ \fi
+ \ifcase\@lock
+ \or
+ \@lock=2
+ \or \or
+ \@lock=0
+ \fi
+ \ifcase\sub@lock
+ \or
+ \sub@lock=2
+ \or \or
+ \sub@lock=0
+ \fi
+ \ifsublines@
+ \ifnum\sub@lock<2
+ \advance\subline@num by 1
+ \fi
+ \else
+ \ifnum\@lock<2
+ \advance\line@num by 1 \subline@num=0
+ \fi
+ \fi}
+\def\@page#1{\ifbypage@
+ \line@num=0 \subline@num=0
+ \fi
+ \page@num=#1
+ \def\next@page@num{#1}}
+\def\sub@on{\ifsublines@
+ \let\sub@change=\relax
+ \else
+ \def\sub@change{1}%
+ \fi}
+\def\sub@off{\ifsublines@
+ \def\sub@change{-1}%
+ \else
+ \let\sub@change=\relax
+ \fi}
+\def\@adv#1{\ifsublines@
+ \advance\subline@num by #1
+ \ifnum\subline@num<0
+ \edmac@warning{\string\advanceline\space produced
+ a sub-line number less than zero.}%
+ \subline@num=0
+ \fi
+ \else
+ \advance\line@num by #1
+ \ifnum\line@num<0
+ \edmac@warning{\string\advanceline\space produced
+ a line number less than zero.}%
+ \line@num=0
+ \fi
+ \fi
+ \set@line@action}
+\def\@set#1{\ifsublines@
+ \subline@num=#1
+ \else
+ \line@num=#1
+ \fi
+ \set@line@action}
+\def\page@action{%
+ \xright@appenditem{\the\absline@num}\to\actionlines@list
+ \xright@appenditem{\next@page@num}\to\actions@list}
+\def\set@line@action{%
+ \xright@appenditem{\the\absline@num}\to\actionlines@list
+ \ifsublines@
+ \@tempcnta=-\subline@num
+ \else
+ \@tempcnta=-\line@num
+ \fi
+ \advance\@tempcnta by -5000
+ \xright@appenditem{\the\@tempcnta}\to\actions@list}
+\def\sub@action{%
+ \xright@appenditem{\the\absline@num}\to\actionlines@list
+ \ifsublines@
+ \xright@appenditem{-1001}\to\actions@list
+ \else
+ \xright@appenditem{-1002}\to\actions@list
+ \fi}
+\def\lock@on{\futurelet\next\do@lockon}
+\def\do@lockon{%
+ \ifx\next\lock@off
+ \global\let\lock@off=\skip@lockoff
+ \else
+ \xright@appenditem{\the\absline@num}\to\actionlines@list
+ \ifsublines@
+ \xright@appenditem{-1005}\to\actions@list
+ \ifcase\sub@lock
+ \sub@lock=1
+ \else
+ \sub@lock=0
+ \fi
+ \else
+ \xright@appenditem{-1003}\to\actions@list
+ \ifcase\@lock
+ \@lock=1
+ \else
+ \@lock=0
+ \fi
+ \fi
+ \fi}
+\def\do@lockoff{%
+ \xright@appenditem{\the\absline@num}\to\actionlines@list
+ \ifsublines@
+ \xright@appenditem{-1006}\to\actions@list
+ \ifnum\sub@lock=2
+ \sub@lock=3
+ \else
+ \sub@lock=0
+ \fi
+ \else
+ \xright@appenditem{-1004}\to\actions@list
+ \ifnum\@lock=2
+ \@lock=3
+ \else
+ \@lock=0
+ \fi
+ \fi}
+\def\skip@lockoff{\global\let\lock@off=\do@lockoff}
+\global\let\lock@off=\do@lockoff
+\newcount\insert@count
+\def\dummy@ref#1#2{#2}
+\def\@ref#1#2{%
+ \global\insert@count=#1
+ \loop\ifnum\insert@count>0
+ \xright@appenditem{\the\absline@num}\to\insertlines@list
+ \global\advance\insert@count by -1
+ \repeat
+ \begingroup
+ \let\@ref=\dummy@ref
+ \let\page@action=\relax
+ \let\sub@action=\relax
+ \let\set@line@action=\relax
+ \let\@lab=\relax
+ #2
+ \global\endpage@num=\page@num
+ \global\endline@num=\line@num
+ \global\endsubline@num=\subline@num
+ \endgroup
+ \xright@appenditem%
+ {\the\page@num|\the\line@num|%
+ \ifsublines@ \the\subline@num \else 0\fi|%
+ \the\endpage@num|\the\endline@num|%
+ \ifsublines@ \the\endsubline@num \else 0\fi}\to\line@list
+ #2}
+\newwrite\linenum@out
+\newif\iffirst@linenum@out@
+\first@linenum@out@true
+\def\line@list@stuff#1{%
+ \read@linelist{#1}%
+ \iffirst@linenum@out@
+ \immediate\closeout\linenum@out
+ \global\first@linenum@out@false
+ \immediate\openout\linenum@out=#1
+ \else
+ \closeout\linenum@out
+ \openout\linenum@out=#1
+ \page@start
+ \fi}
+\def\new@line{\write\linenum@out{\string\@l}}
+\def\flag@start{%
+ \edef\next{\write\linenum@out{%
+ \string\@ref[\the\insert@count][}}%
+ \next}
+\def\flag@end{\write\linenum@out{]}}
+\def\page@start{%
+ \iffirst@linenum@out@ \else
+ \write\linenum@out{\string\@page[\the\pageno]}%
+ \fi}
+\def\startsub{\dimen0\lastskip
+ \ifdim\dimen0>0pt \unskip \fi
+ \write\linenum@out{\string\sub@on}%
+ \ifdim\dimen0>0pt \hskip\dimen0 \fi}
+\def\endsub{\dimen0\lastskip
+ \ifdim\dimen0>0pt \unskip \fi
+ \write\linenum@out{\string\sub@off}%
+ \ifdim\dimen0>0pt \hskip\dimen0 \fi}
+\def\advanceline#1{\write\linenum@out{\string\@adv[#1]}}
+\def\setline#1{%
+ \ifnum#1<0
+ \edmac@warning{Bad setline argument.}%
+ \else
+ \write\linenum@out{\string\@set[#1]}%
+ \fi}
+\def\startlock{\write\linenum@out{\string\lock@on}}
+\def\endlock{\write\linenum@out{\string\lock@off}}
+\list@create{\end@lemmas}
+\long\def\dummy@text#1#2/{#1}
+\def\@gobble#1{}
+\def\no@expands{\let\rm=0\let\it=0\let\sl=0\let\bf=0\let\tt=0%
+ \let\b=0\let\c=0\let\d=0\let\t=0%
+ \let\select@@lemmafont=0%
+ \def\protect{\noexpand\protect\noexpand}%
+ \let\startsub=\relax \let\endsub=\relax
+ \let\startlock=\relax \let\endlock=\relax
+ \let\label=\@gobble \let\pageref=\@gobble
+ \let\lineref=\@gobble \let\sublineref=\@gobble
+ \let\setline=\@gobble \let\advanceline=\@gobble
+ \let\text=\dummy@text
+ \morenoexpands}
+\let\morenoexpands=\relax
+\long\def\text#1#2/{\leavevmode
+ \begingroup
+ \no@expands
+ \xdef\@tag{#1}%
+ \set@line
+ \global\insert@count=0
+ \ignorespaces #2\relax
+ \flag@start
+ \endgroup
+ #1%
+ \ifx\end@lemmas\empty \else
+ \gl@p\end@lemmas\to\x@lemma
+ \x@lemma
+ \global\let\x@lemma=\relax
+ \fi
+ \flag@end}
+\def\set@line{%
+ \ifx\line@list\empty
+ \global\noteschanged@true
+ \xdef\@nums{000|000|000|000|000|000|\edfont@info}%
+ \else
+ \gl@p\line@list\to\@tempb
+ \xdef\@nums{\@tempb|\edfont@info}%
+ \global\let\@tempb=\undefined
+ \fi}
+\ifx\selectfont\undefined % we're using Plain fonts
+ \def\edfont@info{\the\fam}
+\else % we're using NFSS
+ \def\edfont@info{\f@encoding/\f@family/\f@series/\f@shape}
+\fi
+\def\lemma#1{\xdef\@tag{#1}\ignorespaces}
+\def\linenum#1{%
+ \xdef\@tempa{#1|||||||\noexpand\\\@nums}%
+ \global\let\@nums=\empty
+ \expandafter\line@set\@tempa|\\\ignorespaces}
+\def\line@set#1|#2\\#3|#4\\{%
+ \gdef\@tempb{#1}%
+ \ifx\@tempb\empty
+ \@add{#3}%
+ \else
+ \@add{#1}%
+ \fi
+ \gdef\@tempb{#4}%
+ \ifx\@tempb\empty\else
+ \@add{|}\line@set#2\\#4\\%
+ \fi}
+\def\@add#1{\xdef\@nums{\@nums#1}}
+\newbox\raw@text
+\newif\ifnumberedpar@
+\newcount\num@lines
+\newbox\one@line
+\newcount\par@line
+\def\pstart{\ifnumbering \else
+ \errmessage{\string\pstart\space must be used
+ within a numbered section}%
+ \beginnumbering
+ \fi
+ \ifnumberedpar@
+ \errmessage{\string\pstart\space encountered while another
+ \string\pstart\space was in effect}%
+ \pend
+ \fi
+ \list@clear{\inserts@list}%
+ \global\let\next@insert=\empty
+ \begingroup\normal@pars
+ \global\setbox\raw@text=\vbox\bgroup
+ \numberedpar@true}
+\def\pend{\ifnumbering \else
+ \errmessage{\string\pend\space must be used
+ within a numbered section}%
+ \fi
+ \ifnumberedpar@ \else
+ \errmessage{\string\pend\space must follow a \string\pstart}%
+ \fi
+ \brokenpenalty=0 \clubpenalty=0
+ \displaywidowpenalty=0 \interlinepenalty=0 \predisplaypenalty=0
+ \postdisplaypenalty=0 \widowpenalty=0
+ \endgraf\global\num@lines=\prevgraf\egroup
+ \global\par@line=0
+ \loop\ifvbox\raw@text
+ \do@line
+ \repeat
+ \flush@notes
+ \endgroup
+ \ignorespaces}
+\def\autopar{\ifnumbering \else
+ \errmessage{\string\autopar\space must be used
+ within a numbered section}%
+ \beginnumbering
+ \fi
+ \everypar={\setbox0=\lastbox
+ \endgraf \vskip-\parskip
+ \pstart \noindent \kern\wd0
+ \let\par=\pend}%
+ \ignorespaces}
+\def\normal@pars{\everypar={}\let\par\endgraf}
+\def\do@line{%
+ {\vbadness=10000 \splittopskip=0pt
+ \global\setbox\one@line=\vsplit\raw@text to\baselineskip}%
+ \unvbox\one@line \global\setbox\one@line=\lastbox
+ \getline@num
+\hbox to \hsize{\affixline@num{%
+ \hfil\hbox to \wd\one@line{\new@line\unhbox\one@line}}}%
+ \add@inserts
+ \add@penalties}
+\def\getline@num{%
+ \global\advance\absline@num by 1
+ \do@actions
+ \do@ballast
+ \ifsublines@
+ \ifnum\sub@lock<2
+ \global\advance\subline@num by 1
+ \fi
+ \else
+ \ifnum\@lock<2
+ \global\advance\line@num by 1
+ \global\subline@num=0
+ \fi
+ \fi}
+\newcount\ballast@count
+\newcount\ballast
+\def\do@ballast{\global\ballast@count=0
+ \begingroup
+ \advance\absline@num by 1
+ \ifnum\next@actionline=\absline@num
+ \ifnum\next@action>-1001
+ \global\advance\ballast@count by -\ballast
+ \fi
+ \fi
+ \endgroup}
+\def\do@actions{%
+ \global\let\do@actions@next=\relax
+ \ifnum\absline@num<\next@actionline\else
+ \ifnum\next@action>-1001
+ \global\page@num=\next@action
+ \ifbypage@
+ \global\line@num=0 \global\subline@num=0
+ \fi
+ \else
+ \ifnum\next@action<-4999
+ \@tempcnta=-\next@action
+ \advance\@tempcnta by -5001
+ \ifsublines@
+ \global\subline@num=\@tempcnta
+ \else
+ \global\line@num=\@tempcnta
+ \fi
+ \else
+ \@tempcnta=-\next@action
+ \advance\@tempcnta by -1000
+ \ifcase\@tempcnta
+ \or
+ \global\sublines@true
+ \or
+ \global\sublines@false
+ \or
+ \ifcase\@lock
+ \global\@lock=1
+ \else
+ \global\@lock=0
+ \fi
+ \or
+ \ifnum\@lock=2
+ \global\@lock=3
+ \else
+ \global\@lock=0
+ \fi
+ \or
+ \ifcase\sub@lock
+ \global\sub@lock=1
+ \else
+ \global\sub@lock=0
+ \fi
+ \or
+ \ifnum\sub@lock=2
+ \global\sub@lock=3
+ \else
+ \global\sub@lock=0
+ \fi
+ \else
+ \edmac@warning{Bad action code,
+ value \next@action.}%
+ \fi
+ \fi
+ \fi
+ \ifx\actionlines@list\empty
+ \gdef\next@actionline{1000000}%
+ \else
+ \gl@p\actionlines@list\to\next@actionline
+ \gl@p\actions@list\to\next@action
+ \global\let\do@actions@next=\do@actions
+ \fi
+ \fi
+\do@actions@next}
+\def\affixline@num#1{%
+ \ifsublines@
+ \@tempcntb=\subline@num
+ \ifnum\subline@num>\firstsublinenum
+ \@tempcnta=\subline@num
+ \advance\@tempcnta by-\firstsublinenum
+ \divide\@tempcnta by\sublinenumincrement
+ \multiply\@tempcnta by\sublinenumincrement
+ \advance\@tempcnta by\firstsublinenum
+ \else
+ \@tempcnta=\firstsublinenum
+ \fi
+ \ifcase\sub@lock
+ \or
+ \ifnum\sublock@disp=1
+ \@tempcntb=0 \@tempcnta=1
+ \fi
+ \or
+ \ifnum\sublock@disp=2 \else
+ \@tempcntb=0 \@tempcnta=1
+ \fi
+ \or
+ \ifnum\sublock@disp=0
+ \@tempcntb=0 \@tempcnta=1
+ \fi
+ \fi
+ \else
+ \@tempcntb=\line@num
+ \ifnum\line@num>\firstlinenum
+ \@tempcnta=\line@num
+ \advance\@tempcnta by-\firstlinenum
+ \divide\@tempcnta by\linenumincrement
+ \multiply\@tempcnta by\linenumincrement
+ \advance\@tempcnta by\firstlinenum
+ \else
+ \@tempcnta=\firstlinenum
+ \fi
+ \ifcase\@lock
+ \or
+ \ifnum\lock@disp=1
+ \@tempcntb=0 \@tempcnta=1
+ \fi
+ \or
+ \ifnum\lock@disp=2 \else
+ \@tempcntb=0 \@tempcnta=1
+ \fi
+ \or
+ \ifnum\lock@disp=0
+ \@tempcntb=0 \@tempcnta=1
+ \fi
+ \fi
+ \fi
+ \ifnum\@tempcnta=\@tempcntb
+ \@tempcntb=\line@margin
+ \ifnum\@tempcntb>1
+ \advance\@tempcntb by\page@num
+ \fi
+ \ifodd\@tempcntb
+ #1\rlap{{\rightlinenum}}%
+ \else
+ \llap{{\leftlinenum}}#1%
+ \fi
+ \else
+ #1%
+ \fi
+ \ifcase\@lock
+ \or
+ \global\@lock=2
+ \or \or
+ \global\@lock=0
+ \fi
+ \ifcase\sub@lock
+ \or
+ \global\sub@lock=2
+ \or \or
+ \global\sub@lock=0
+ \fi}
+\list@create{\inserts@list}
+\def\add@inserts{%
+ \global\let\add@inserts@next=\relax
+ \ifx\inserts@list\empty \else
+ \ifx\next@insert\empty
+ \ifx\insertlines@list\empty
+ \global\noteschanged@true
+ \gdef\next@insert{100000}%
+ \else
+ \gl@p\insertlines@list\to\next@insert
+ \fi
+ \fi
+ \ifnum\next@insert=\absline@num
+ \gl@p\inserts@list\to\@insert
+ \@insert
+ \global\let\@insert=\undefined
+ \global\let\next@insert=\empty
+ \global\let\add@inserts@next=\add@inserts
+ \fi
+\fi
+\add@inserts@next}
+\def\add@penalties{\@tempcnta=\ballast@count
+ \ifnum\num@lines>1
+ \global\advance\par@line by 1
+ \ifnum\par@line=1
+ \advance\@tempcnta by \clubpenalty
+ \fi
+ \@tempcntb=\par@line \advance\@tempcntb by 1
+ \ifnum\@tempcntb=\num@lines
+ \advance\@tempcnta by \widowpenalty
+ \fi
+ \ifnum\par@line<\num@lines
+ \advance\@tempcnta by \interlinepenalty
+ \fi
+ \fi
+ \ifnum\@tempcnta=0
+ \relax
+ \else
+ \ifnum\@tempcnta>-10000
+ \penalty\@tempcnta
+ \else
+ \penalty -10000
+ \fi
+ \fi}
+\def\flush@notes{%
+ \@xloop
+ \ifx\inserts@list\empty \else
+ \gl@p\inserts@list\to\@insert
+ \@insert
+ \global\let\@insert=\undefined
+ \repeat}
+\def\@xloop#1\repeat{%
+ \def\body{#1\expandafter\body\fi}%
+ \body}
+\ifx\selectfont\undefined
+ \font\eightrm=cmr8 \font\eighti=cmmi8 \skewchar\eighti='177
+ \font\eightsy=cmsy8 \skewchar\eightsy='60 \font\eightbf=cmbx8
+ \font\eighttt=cmtt8 \hyphenchar\eighttt=-1 % inhibit hyphenation
+ \font\eightsl=cmsl8 \font\eightit=cmti8
+ \font\sixrm=cmr8 \font\sixi=cmmi8 \skewchar\sixi='177
+ \font\sixsy=cmsy8 \skewchar\sixsy='60 \font\sixbf=cmbx8
+ \font\sixtt=cmtt8 \hyphenchar\sixtt=-1 % inhibit hyphenation
+ \font\sixsl=cmsl8 \font\sixit=cmti8
+ \def\eightpoint{\def\rm{\fam0\eightrm}%
+ \textfont0=\eightrm \scriptfont0=\sixrm
+ \scriptscriptfont0=\fiverm
+ \textfont1=\eighti \scriptfont1=\sixi
+ \scriptscriptfont1=\fivei
+ \textfont2=\eightsy \scriptfont2=\sixsy
+ \scriptscriptfont2=\fivesy
+ \textfont3=\tenex \scriptfont3=\tenex
+ \scriptscriptfont3=\tenex
+ \def\it{\fam\itfam\eightit}\textfont\itfam=\eightit
+ \def\sl{\fam\slfam\eightsl}\textfont\slfam=\eightsl
+ \def\bf{\fam\bffam\eightbf}\textfont\bffam=\eightbf
+ \scriptfont\bffam=\sixbf \scriptscriptfont\bffam=\fivebf
+ \def\tt{\fam\ttfam\eighttt}\textfont\ttfam=\eighttt
+ \normalbaselineskip=9pt
+ \setbox\strutbox=\hbox{\vrule height7pt depth2pt width0pt}%
+ \normalbaselines\rm}
+ \let\notefontsetup=\eightpoint
+ \let\notenumfont=\sevenrm
+ \def\select@lemmafont#1|#2|#3|#4|#5|#6|#7|{%
+ \ifcase#7
+ \rm \or \rm \or \rm \or \rm % families 0--3
+ \or \it \or \sl \or \bf \or \tt % families 4--7
+ \else \rm
+ \fi}
+\else
+ \def\notefontsetup{\fontsize{8}{9pt}\selectfont}
+ \def\notenumfont{\fontsize{7}{8pt}\rm}
+ \def\select@lemmafont#1|#2|#3|#4|#5|#6|#7|{\select@@lemmafont#7|}
+ \def\select@@lemmafont#1/#2/#3/#4|%
+ {\fontencoding{#1}\fontfamily{#2}\fontseries{#3}\fontshape{#4}%
+ \selectfont}
+\fi
+\def\Afootnote#1{%
+ \ifnumberedpar@
+ \xright@appenditem{\noexpand\vAfootnote{A}%
+ {{\@nums}{\@tag}{#1}}}\to\inserts@list
+ \global\advance\insert@count by 1
+ \else
+ \vAfootnote{A}{{0|0|0|0|0|0|0}{}{#1}}%
+ \fi\ignorespaces}
+\def\Bfootnote#1{%
+ \ifnumberedpar@
+ \xright@appenditem{\noexpand\vBfootnote{B}%
+ {{\@nums}{\@tag}{#1}}}\to\inserts@list
+ \global\advance\insert@count by 1
+ \else
+ \vBfootnote{B}{{0|0|0|0|0|0|0}{}{#1}}%
+ \fi\ignorespaces}
+\def\Cfootnote#1{%
+ \ifnumberedpar@
+ \xright@appenditem{\noexpand\vCfootnote{C}%
+ {{\@nums}{\@tag}{#1}}}\to\inserts@list
+ \global\advance\insert@count by 1
+ \else
+ \vCfootnote{C}{{0|0|0|0|0|0|0}{}{#1}}%
+ \fi\ignorespaces}
+\def\Dfootnote#1{%
+ \ifnumberedpar@
+ \xright@appenditem{\noexpand\vDfootnote{D}%
+ {{\@nums}{\@tag}{#1}}}\to\inserts@list
+ \global\advance\insert@count by 1
+ \else
+ \vDfootnote{D}{{0|0|0|0|0|0|0}{}{#1}}%
+ \fi\ignorespaces}
+\def\Efootnote#1{%
+ \ifnumberedpar@
+ \xright@appenditem{\noexpand\vEfootnote{E}%
+ {{\@nums}{\@tag}{#1}}}\to\inserts@list
+ \global\advance\insert@count by 1
+ \else
+ \vEfootnote{E}{{0|0|0|0|0|0|0}{}{#1}}%
+ \fi\ignorespaces}
+\def\normalvfootnote#1#2{\insert\csname #1footins\endcsname\bgroup
+ \notefontsetup
+ \interlinepenalty\csname inter#1footnotelinepenalty\endcsname
+ \splittopskip\ht\strutbox
+ \splitmaxdepth\dp\strutbox \floatingpenalty\@MM
+ \leftskip\z@skip \rightskip\z@skip
+ \spaceskip\z@skip \xspaceskip\z@skip
+ \csname #1footfmt\endcsname #2\egroup}
+\def\normalfootfmt#1#2#3{%
+ \normal@pars
+ \parindent=0pt \parfillskip=0pt plus 1fil
+ {\notenumfont\printlines#1|}\strut\enspace
+ {\select@lemmafont#1|#2}\rbracket\enskip#3\strut\par}
+\def\endashchar{{\rm--}}
+\def\fullstop{{\rm.}}
+\def\rbracket{{\rm\thinspace]}}
+\newcount\@pnum \newcount\@ssub \newcount\@elin
+\newcount\@esl \newcount\@dash
+\def\printlines#1|#2|#3|#4|#5|#6|#7|{\begingroup
+ \@pnum=0 \@dash=0
+ \ifbypage@
+ \ifnum#4=#1 \else
+ \@pnum=1
+ \@dash=1
+ \fi
+ \fi
+ \@elin=\@pnum
+ \ifnum#2=#5 \else
+ \@elin=1
+ \@dash=1
+ \fi
+ \@ssub=0
+ \ifnum#3=0 \else
+ \@ssub=1
+ \fi
+ \@esl=0
+ \ifnum#6=0 \else
+ \ifnum#6=#3
+ \@esl=\@elin
+ \else
+ \@esl=1
+ \@dash=1
+ \fi
+ \fi
+ \ifodd\@pnum #1\fullstop\fi
+ #2%
+ \ifodd\@ssub \fullstop #3\fi
+ \ifodd\@dash \endashchar\fi
+ \ifodd\@pnum #4\fullstop\fi
+ \ifodd\@elin #5\fi
+ \ifodd\@esl \ifodd\@elin\fullstop\fi #6\fi
+\endgroup}
+\def\normalfootstart#1{%
+ \vskip\skip\csname #1footins\endcsname
+ \leftskip0pt \rightskip0pt
+ \csname #1footnoterule\endcsname}
+\let\normalfootnoterule=\footnoterule
+\def\normalfootgroup#1{\unvbox\csname #1footins\endcsname}
+\newinsert\Afootins \newinsert\Bfootins
+\newinsert\Cfootins \newinsert\Dfootins
+\newinsert\Efootins
+\newcount\interAfootnotelinepenalty
+\newcount\interBfootnotelinepenalty
+\newcount\interCfootnotelinepenalty
+\newcount\interDfootnotelinepenalty
+\newcount\interEfootnotelinepenalty
+\def\footnormal#1{%
+ \csname inter#1footnotelinepenalty\endcsname=100
+ \expandafter\let\csname #1footstart\endcsname=\normalfootstart
+ \expandafter\let\csname v#1footnote\endcsname=\normalvfootnote
+ \expandafter\let\csname #1footfmt\endcsname=\normalfootfmt
+ \expandafter\let\csname #1footgroup\endcsname=\normalfootgroup
+ \expandafter\let\csname #1footnoterule\endcsname=%
+ \normalfootnoterule
+ \count\csname #1footins\endcsname=1000
+ \dimen\csname #1footins\endcsname=0.8\vsize
+ \skip\csname #1footins\endcsname=12pt plus6pt minus6pt}
+\footnormal{A}
+\footnormal{B}
+\footnormal{C}
+\footnormal{D}
+\footnormal{E}
+\def\footparagraph#1{%
+ \expandafter\let\csname #1footstart\endcsname=\parafootstart
+ \expandafter\let\csname v#1footnote\endcsname=\para@vfootnote
+ \expandafter\let\csname #1footfmt\endcsname=\parafootfmt
+ \expandafter\let\csname #1footgroup\endcsname=\para@footgroup
+ \count\csname #1footins\endcsname=1000
+ \para@footsetup{#1}}
+\def\para@footsetup#1{{\notefontsetup
+ \dimen0=\baselineskip
+ \multiply\dimen0 by 1024
+ \divide \dimen0 by \hsize \multiply\dimen0 by 64
+ \expandafter
+ \xdef\csname #1footfudgefactor\endcsname{%
+ \expandafter\en@number\the\dimen0 }}}
+{\catcode`p=12 \catcode`t=12 \gdef\en@number#1pt{#1}}
+\def\parafootstart#1{%
+ \rightskip=0pt \leftskip=0pt \parindent=0pt
+ \vskip\skip\csname #1footins\endcsname
+ \csname #1footnoterule\endcsname}
+\def\para@vfootnote#1#2{\insert\csname #1footins\endcsname
+ \bgroup
+ \notefontsetup
+ \interlinepenalty=\csname inter#1footnotelinepenalty\endcsname
+ \splittopskip=\ht\strutbox
+ \splitmaxdepth=\dp\strutbox \floatingpenalty=\@MM
+ \leftskip0pt \rightskip0pt
+ \setbox0=\vbox{\hsize=\maxdimen
+ \noindent\csname #1footfmt\endcsname#2}%
+ \setbox0=\hbox{\unvxh0}%
+ \dp0=0pt
+ \ht0=\csname #1footfudgefactor\endcsname\wd0
+ \box0
+ \penalty0
+ \egroup}
+\def\unvxh#1{%
+ \setbox0=\vbox{\unvbox#1%
+ \global\setbox1=\lastbox}%
+ \unhbox1
+ \unskip % remove \rightskip,
+ \unskip % remove \parfillskip,
+ \unpenalty % remove \penalty of 10000,
+ \hskip\ipn@skip} % but add the glue to go between the notes
+\newskip\ipn@skip
+\def\interparanoteglue#1{%
+ {\notefontsetup\global\ipn@skip=#1 \relax}}
+\interparanoteglue{1em plus.4em minus.4em}
+\def\parafootfmt#1#2#3{%
+ \normal@pars
+ \parindent=0pt \parfillskip=0pt plus1fil
+ {\notenumfont\printlines#1|}\enspace
+ {\select@lemmafont#1|#2}\rbracket\enskip
+ #3\penalty-10 }
+\def\para@footgroup#1{%
+ \unvbox\csname #1footins\endcsname \makehboxofhboxes
+ \setbox0=\hbox{\unhbox0 \removehboxes}%
+ \notefontsetup
+ \noindent\unhbox0\par}
+\def\makehboxofhboxes{\setbox0=\hbox{}%
+ \loop
+ \unpenalty
+ \setbox2=\lastbox
+ \ifhbox2
+ \setbox0=\hbox{\box2\unhbox0}
+ \repeat}
+\def\removehboxes{\setbox0=\lastbox
+ \ifhbox0{\removehboxes}\unhbox0 \fi}
+\newcount\@k \newdimen\@h
+\def\rigidbalance#1#2#3{\setbox0=\box#1 \@k=#2 \@h=#3
+ \line{\splittopskip=\@h \vbadness=\@M \hfilneg
+ \valign{##\vfil\cr\dosplits}}}
+\def\dosplits{\ifnum\@k>0 \noalign{\hfil}\splitoff
+ \global\advance\@k-1\cr\dosplits\fi}
+\def\splitoff{\dimen0=\ht0
+ \divide\dimen0 by\@k \advance\dimen0 by\@h
+ \setbox2 \vsplit0 to \dimen0
+ \unvbox2 }
+\def\footthreecol#1{%
+ \expandafter\let\csname v#1footnote\endcsname=\threecolvfootnote
+ \expandafter\let\csname #1footfmt\endcsname=\threecolfootfmt
+ \expandafter\let\csname #1footgroup\endcsname=\threecolfootgroup
+ \threecolfootsetup{#1}}
+\def\threecolfootsetup#1{%
+ \count\csname #1footins\endcsname 333
+ \multiply\dimen\csname #1footins\endcsname by 3 }
+\def\threecolvfootnote#1#2{%
+ \insert\csname #1footins\endcsname\bgroup
+ \notefontsetup
+ \interlinepenalty=\csname inter#1footnotelinepenalty\endcsname
+ \floatingpenalty=20000
+ \splittopskip=\ht\strutbox \splitmaxdepth=\dp\strutbox
+ \rightskip=0pt \leftskip=0pt
+ \csname #1footfmt\endcsname #2\egroup}
+\def\threecolfootfmt#1#2#3{%
+ \normal@pars
+ \hsize .3\hsize
+ \parindent=0pt
+ \tolerance=5000
+ \raggedright
+ \leavevmode
+ \strut{\notenumfont\printlines#1|}\enspace
+ {\select@lemmafont#1|#2}\rbracket\enskip
+ #3\strut\par\allowbreak}
+\def\threecolfootgroup#1{{\notefontsetup
+ \splittopskip=\ht\strutbox
+ \expandafter
+ \rigidbalance\csname #1footins\endcsname 3 \splittopskip }}
+\def\foottwocol#1{%
+ \expandafter\let\csname v#1footnote\endcsname=\twocolvfootnote
+ \expandafter\let\csname #1footfmt\endcsname=\twocolfootfmt
+ \expandafter\let\csname #1footgroup\endcsname=\twocolfootgroup
+ \twocolfootsetup{#1}}
+\def\twocolfootsetup#1{%
+ \count\csname #1footins\endcsname 500
+ \multiply\dimen\csname #1footins\endcsname by 2 }
+\def\twocolvfootnote#1#2{\insert\csname #1footins\endcsname\bgroup
+ \notefontsetup
+ \interlinepenalty=\csname inter#1footnotelinepenalty\endcsname
+ \floatingpenalty=20000
+ \splittopskip=\ht\strutbox \splitmaxdepth=\dp\strutbox
+ \rightskip=0pt \leftskip=0pt
+ \csname #1footfmt\endcsname #2\egroup}
+\def\twocolfootfmt#1#2#3{%
+ \normal@pars
+ \hsize .45\hsize
+ \parindent=0pt
+ \tolerance=5000
+ \raggedright
+ \leavevmode
+ \strut{\notenumfont\printlines#1|}\enspace
+ {\select@lemmafont#1|#2}\rbracket\enskip
+ #3\strut\par\allowbreak}
+\def\twocolfootgroup#1{{\notefontsetup
+ \splittopskip=\ht\strutbox
+ \expandafter
+ \rigidbalance\csname #1footins\endcsname 2 \splittopskip}}
+\newdimen\crop@vsize \crop@vsize=0pt
+\newdimen\crop@hsize \crop@hsize=0pt
+\newdimen\head@margin \head@margin=0pt
+\newdimen\back@margin \back@margin=0pt
+\newdimen\odd@back \odd@back=0pt
+\newdimen\even@back \even@back=0pt
+\newtoks\@back
+\@back={\ifodd\pageno \odd@back \else \even@back\fi}
+\newbox\registration@marks
+\def\vertical@rules{%
+ \hbox to\crop@hsize{%
+ \vrule height1pc width\cropwidth depth0pt
+ \hfil
+ \vrule width\cropwidth depth0pt}}
+\def\horizontal@rules{%
+ \hbox to\crop@hsize{%
+ \llap{\vrule width1pc height\cropwidth \kern\cropgap}%
+ \hfil
+ \rlap{\kern\cropgap \vrule width1pc height\cropwidth}}}
+\newdimen\cropwidth \cropwidth=.4pt
+\newdimen\cropgap \cropgap=5pt
+\newdimen\magicvskip \magicvskip=\topskip
+\let\headlinefont=\rm
+\newif\ifcropmarks@
+\def\cropsetup#1#2#3#4{\cropmarks@true
+ \global\crop@vsize=#1
+ \global\crop@hsize=#2
+ \global\head@margin=#3
+ \global\back@margin=#4
+ \global\odd@back=\back@margin
+ \global\even@back=\crop@hsize
+ \global\advance\even@back by -\hsize
+ \global\advance\even@back by -\back@margin
+ \setbox\registration@marks=
+ \vbox to \crop@vsize{%
+ \offinterlineskip
+ \vbox to0pt{\vss
+ \vertical@rules
+ \kern\cropgap
+ \horizontal@rules}%
+ \vfil
+ \vbox to0pt{%
+ \horizontal@rules
+ \kern\cropgap
+ \vertical@rules\vss}}%
+ \ht\registration@marks=0pt
+ \wd\registration@marks=0pt
+ \global\magicvskip=\topskip
+ {\headlinefont \global\advance\magicvskip by -\ht\strutbox}%
+ \global\advance\magicvskip by -2\baselineskip}
+\output{\edmac@output}
+\def\edmac@output{\shipout\vbox{\normal@pars
+ \ifcropmarks@
+ \do@cropmarks
+ \else
+ \vbox{\makeheadline\pagebody\makefootline}%
+ \fi}%
+ \advancepageno
+ \ifnum\outputpenalty>-\@MM\else\dosupereject\fi}
+\def\pagecontents{\page@start
+ \ifvoid\topins\else\unvbox\topins\fi
+ \dimen@=\dp\@cclv \unvbox\@cclv % open up \box255
+ \do@feet
+ \ifr@ggedbottom \kern-\dimen@ \vfil \fi}
+\def\do@cropmarks{%
+ \vbox{\offinterlineskip
+ \kern\magicvskip
+ \copy\registration@marks
+ \kern-\magicvskip}%
+ \nointerlineskip
+ \kern\head@margin
+ \moveright\the\@back\vbox{\makeheadline\pagebody\makefootline}}
+\def\do@feet{%
+ \ifvoid\footins\else
+ \vskip\skip\footins
+ \footnoterule
+ \unvbox\footins
+ \fi
+ \ifvoid\Afootins\else
+ \Afootstart{A}\Afootgroup{A}%
+ \fi
+ \ifvoid\Bfootins\else
+ \Bfootstart{B}\Bfootgroup{B}%
+ \fi
+ \ifvoid\Cfootins\else
+ \Cfootstart{C}\Cfootgroup{C}%
+ \fi
+ \ifvoid\Dfootins\else
+ \Dfootstart{D}\Dfootgroup{D}%
+ \fi
+ \ifvoid\Efootins\else
+ \Efootstart{E}\Efootgroup{E}%
+ \fi}
+\list@create{\labelref@list}
+\newwrite\@aux
+\def\do@labelsfile{%
+ \openin\@inputcheck=\jobname.aux
+ \ifeof\@inputcheck \else
+ \closein\@inputcheck
+ \begingroup
+ \makeatletter \catcode`\^^M=9
+ \input\jobname.aux
+ \endgroup
+ \fi
+ \immediate\openout\@aux=\jobname.aux
+ \global\let\do@labelsfile=\relax}
+\def\zz@@@{000|000|000} % set three counters to zero in one go
+\def\label#1{\do@labelsfile
+ \write\linenum@out{\string\@lab}%
+ \ifx\labelref@list\empty
+ \xdef\label@refs{\zz@@@}%
+ \else
+ \gl@p\labelref@list\to\label@refs
+ \fi
+ \edef\next{\write\@aux{\string\make@labels\label@refs|{#1}}}%
+ \next}
+\def\make@labels#1|#2|#3|#4{%
+ \expandafter\ifx\csname the@label#4\endcsname \relax\else
+ \edmac@warning{Duplicate definition of label `#4'
+ on page \number\pageno.}%
+ \fi
+ \expandafter\gdef\csname the@label#4\endcsname{#1|#2|#3}%
+ \ignorespaces}
+\def\@lab{\xright@appenditem
+ {\the\page@num|\the\line@num|%
+ \ifsublines@ \the\subline@num \else 0\fi}\to\labelref@list}
+\def\pageref#1{\ref@undefined{#1}\getref@num{1}{#1}}
+\def\xpageref#1{\getref@num{1}{#1}}
+\def\lineref#1{\ref@undefined{#1}\getref@num{2}{#1}}
+\def\xlineref#1{\getref@num{2}{#1}}
+\def\sublineref#1{\ref@undefined{#1}\getref@num{3}{#1}}
+\def\xsublineref#1{\getref@num{3}{#1}}
+\def\ref@undefined#1{\do@labelsfile
+ \expandafter\ifx\csname the@label#1\endcsname\relax
+ \edmac@warning{Reference `#1'
+ on page \the\pageno\space undefined. Using `000'.}%
+ \fi}
+\def\getref@num#1#2{%
+ \expandafter
+ \ifx\csname the@label#2\endcsname \relax
+ 000%
+ \else
+ \expandafter\expandafter\expandafter
+ \label@parse\csname the@label#2\endcsname|#1%
+ \fi}
+\def\label@parse#1|#2|#3|#4{%
+ \ifcase #4\relax
+ \or #1%
+ \or #2%
+ \or #3%
+ \fi}
+\def\xxref#1#2{%
+ {\expandafter\ifx\csname the@label#1\endcsname
+ \relax \expandafter\let\csname the@label#1\endcsname\zz@@@\fi
+ \expandafter\ifx\csname the@label#2\endcsname \relax
+ \expandafter\let\csname the@label#2\endcsname\zz@@@\fi
+ \linenum{\csname the@label#1\endcsname|%
+ \csname the@label#2\endcsname}}}
+\def\makelabel#1#2{\expandafter\xdef\csname the@label#1\endcsname{#2}}
+\newwrite\@end
+\newif\ifend@
+\def\end@open#1{\end@true\immediate\openout\@end=#1\relax}
+\def\end@close{\end@false\immediate\closeout\@end}
+\def\end@stuff{%
+ \ifend@\relax\else
+ \end@open{\jobname.end}%
+ \fi
+ \immediate\write\@end{\string\@section{\the\section@num}}}
+\def\Aendnote#1{{\newlinechar='40
+ \immediate\write\@end{\string\Aend%
+ {\ifnumberedpar@\@nums\fi}%
+ {\ifnumberedpar@\@tag\fi}{#1}}}\ignorespaces}
+\def\Bendnote#1{{\newlinechar='40
+ \immediate\write\@end{\string\Bend%
+ {\ifnumberedpar@\@nums\fi}%
+ {\ifnumberedpar@\@tag\fi}{#1}}}\ignorespaces}
+\def\Cendnote#1{{\newlinechar='40
+ \immediate\write\@end{\string\Cend%
+ {\ifnumberedpar@\@nums\fi}%
+ {\ifnumberedpar@\@tag\fi}{#1}}}\ignorespaces}
+\def\Dendnote#1{{\newlinechar='40
+ \immediate\write\@end{\string\Dend%
+ {\ifnumberedpar@\@nums\fi}%
+ {\ifnumberedpar@\@tag\fi}{#1}}}\ignorespaces}
+\def\Eendnote#1{{\newlinechar='40
+ \immediate\write\@end{\string\Eend%
+ {\ifnumberedpar@\@nums\fi}%
+ {\ifnumberedpar@\@tag\fi}{#1}}}\ignorespaces}
+\def\endprint#1#2#3{{\notefontsetup{\notenumfont\printlines#1|}%
+ \enspace{\select@lemmafont#1|#2}\enskip#3\par}}
+\def\@gobblethree#1#2#3{}
+\let\Aend=\@gobblethree
+\let\Bend=\@gobblethree
+\let\Cend=\@gobblethree
+\let\Dend=\@gobblethree
+\let\Eend=\@gobblethree
+\let\@section=\@gobble
+\def\doendnotes#1{\end@close
+ \begingroup
+ \makeatletter
+ \expandafter\let\csname #1end\endcsname=\endprint
+ \input\jobname.end
+ \endgroup}
+\def\noendnotes{\global\let\end@stuff=\relax
+ \global\chardef\@end=16 }
+\makeatother
+\endinput
+%%
+%% End of file `edmac.tex'.
diff --git a/Master/texmf-dist/tex/generic/edmac/edmacfss.sty b/Master/texmf-dist/tex/generic/edmac/edmacfss.sty
new file mode 100644
index 00000000000..cfc0c15e1e7
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/edmac/edmacfss.sty
@@ -0,0 +1,53 @@
+% edmac.sty
+\chardef\atcatcode=\catcode`\@
+\makeatletter
+
+\process@table
+
+% outwit LaTeX
+
+\everypar={}
+\let\end=\@@end
+
+
+
+% extra macros from plain.tex
+
+\def\supereject{\par\penalty-\@MM}
+\outer\def\bye{\par\vfill\supereject\end}
+
+\countdef\pageno=0 \pageno=1 % first page is number 1
+\def\advancepageno{\ifnum\pageno<\z@ \global\advance\pageno\m@ne
+ \else\global\advance\pageno\@ne \fi} % increase |pageno|
+
+\newif\ifr@ggedbottom
+\def\raggedbottom{\topskip 10\p@ plus60\p@ \r@ggedbottomtrue}
+\def\normalbottom{\topskip 10\p@ \r@ggedbottomfalse} % undoes \raggedbottom
+\def\folio{\ifnum\pageno<\z@ \romannumeral-\pageno \else\number\pageno \fi}
+\def\dosupereject{\ifnum\insertpenalties>\z@ % something is being held over
+ \hbox to \hsize{}\kern-\topskip\nobreak\vfill\supereject\fi}
+
+\newinsert\topins
+
+\newtoks\headline
+\newtoks\footline
+\headline={\hfil}
+\footline={\hss\textrm\folio\hss}
+\def\line{\hbox to \hsize}
+
+\def\pagebody{\vbox to\vsize{\boxmaxdepth\maxdepth \pagecontents}}
+\def\makeheadline{\vbox to\z@{\vskip-22.5\p@
+ \line{\vbox to8.5\p@{}\the\headline}\vss}\nointerlineskip}
+\def\makefootline{\baselineskip24\p@\line{\the\footline}}
+
+
+
+
+\input /edmac/edmac.doc % Could input edmac.tex instead.
+
+\catcode`\@=\atcatcode
+
+
+\endinput
+
+% end of edmac.sty
diff --git a/Master/texmf-dist/tex/generic/edmac/edstanza.tex b/Master/texmf-dist/tex/generic/edmac/edstanza.tex
new file mode 100644
index 00000000000..0a56bf40193
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/edmac/edstanza.tex
@@ -0,0 +1,92 @@
+%%
+%% This is file `edstanza.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% edstanza.doc
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from edstanza.tex.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file edstanza.doc.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+
+\def\fileversion{0.01}
+\def\filedate{92/6/25}
+\def\docdate {92/6/25}
+
+%% \CheckSum{191}
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+ \ifx\edmacloaded\relax\else
+ \errmessage{EDSTANZA requires EDMAC.}\endinput\fi
+ \chardef\body=\catcode`\@
+ \catcode`\@=11
+ \chardef\next=\catcode`\&
+ \catcode`\&=\active
+ \newcount\stanza@count
+ \newdimen\stanzaindentbase
+ \stanzaindentbase=20pt
+\def\strip@szacnt#1,#2|{\def\@tempb{#1}\def\@tempa{#2|}}
+\def\setstanzavalues#1#2{\def\@tempa{#2,,|}%
+ \stanza@count\z@
+ \def\next{\expandafter\strip@szacnt\@tempa
+ \ifx\@tempb\empty\let\next\relax\else
+ \expandafter\mathchardef\csname #1@\number\stanza@count
+ @\endcsname\@tempb\relax
+ \advance\stanza@count\@ne\fi\next}%
+ \next}
+\def\stanza@line{\parindent=\csname sza@\number\stanza@count
+ @\endcsname\stanzaindentbase
+ \pstart\stanza@hang\ignorespaces}
+\xdef\stanza@hang{\noexpand\leavevmode\noexpand\startlock
+ \hangindent\expandafter
+ \noexpand\csname sza@0@\endcsname\stanzaindentbase
+ \hangafter\@ne}
+\def\sza@penalty{\count@\csname szp@\number\stanza@count @\endcsname
+ \ifnum\count@>\@M\advance\count@-\@M\penalty-\else
+ \penalty\fi\count@}
+\let\endstanzaextra\relax
+\xdef\stanza{\begingroup\catcode`\&\active\global\stanza@count\@ne
+ \noexpand\ifnum\expandafter\noexpand
+ \csname sza@0@\endcsname=\z@\let\noexpand\stanza@hang\relax
+ \let\noexpand\endlock\relax\noexpand\else\interlinepenalty
+ \@M\rightskip\z@ plus 1fil\relax\noexpand\fi\noexpand\ifnum
+ \expandafter\noexpand\csname szp@0@\endcsname=\z@
+ \let\noexpand\sza@penalty\relax\noexpand\fi \def\noexpand&{%
+ \noexpand\endlock\noexpand\pend\noexpand\sza@penalty\global
+ \advance\stanza@count\@ne\noexpand\stanza@line}\def\noexpand
+ \&{\noexpand\endlock\noexpand\pend\endgroup\endstanzaextra}%
+ \noexpand\stanza@line}
+ \catcode`\&=\next
+ \catcode`\@=\body
+ \let\ampersand=\&
+ \setstanzavalues{szp}{0}
+ \endinput
+\endinput
+%%
+%% End of file `edstanza.tex'.
diff --git a/Master/texmf-dist/tex/generic/edmac/tabmac.tex b/Master/texmf-dist/tex/generic/edmac/tabmac.tex
new file mode 100644
index 00000000000..9573bed7b57
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/edmac/tabmac.tex
@@ -0,0 +1,641 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% This is file tabmac.tex 1.0.
+% You find here macros for tabular structures compatible with
+% Edmac (authored by Lavagnino/Wujastyk). The use of the macros is
+% explained in German language in file tabanlei.dvi. The macros were
+% developed for Edmac 2.3, but this file has been adjusted to Edmac 3.16.
+%
+% ATTENTION: This file uses some Edmac control sequences (like
+% \text, \Afootnote etc.) and redefines \morenoexpands. If you yourself
+% redefined some Edmac control sequences, be careful: some adjustements
+% might be necessary.
+% October 1996
+%
+% My kind thanks to Nora G^Ädeke for valuable support. Any hints and
+% comments are welcome, please contact Herbert Breger,
+% Leibniz-Archiv, Waterloostr. 8, D -- 30169 Hannover, Germany
+% Tel.: 511 - 1267 327
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\makeatletter
+
+\def\morenoexpands{\def\ss{\noexpand\ss}\def\"##1{\noexpand\"##1}%
+ \def\'##1{\noexpand\'##1}\def\`##1{\noexpand\`##1}%
+ \def\^##1{\noexpand\^##1}\def\phantom##1{\noexpand\phantom{##1}}%
+ \def\hphantom##1{\noexpand\hphantom{##1}}%
+ \def\underbrace##1{\noexpand\underbrace{##1}}%
+ \def\dots{\noexpand\dots}%
+ \let\rtab=0\let\ztab=0\let\ltab=0\let\rtabtext=0\let\ltabtext=0%
+ \let\davor=0\let\danach=0\let\T=0%
+ \let\wastrich=0\let\waklam=0\let\wapunkte=0\let\seklam=0%
+ \let\sepunkte=0\let\sestrich=0\let\seklamgl=0\let\Seklamgl=0%
+ \let\atab=0\let\atabell=0}
+
+\newcount\Undcount
+\newbox\hilfsbox
+\newskip\hilfsskip
+\newbox\Hilfsbox
+\newcount\hilfscount
+\newcount\stellencount
+
+\newdimen\eins
+\newdimen\zwei
+\newdimen\drei
+\newdimen\vier
+\newdimen\fuenf
+\newdimen\sechs
+\newdimen\sieben
+\newdimen\acht
+\newdimen\neun
+\newdimen\zehn
+\newdimen\elf
+\newdimen\zwoelf
+\newdimen\dreizehn
+\newdimen\vierzehn
+\newdimen\fuenfzehn
+\newdimen\sechszehn
+\newdimen\siebzehn
+\newdimen\achtzehn
+\newdimen\neunzehn
+\newdimen\zwanzig
+\newdimen\einundzwanzig
+\newdimen\zweiundzwanzig
+\newdimen\dreiundzwanzig
+\newdimen\vierundzwanzig
+\newdimen\fuenfundzwanzig
+\newdimen\sechsundzwanzig
+\newdimen\siebenundzwanzig
+\newdimen\achtundzwanzig
+\newdimen\neunundzwanzig
+\newdimen\dreissig
+\newdimen\einunddreissig
+\newdimen\zweiunddreissig
+\newdimen\dreiunddreissig
+\newdimen\vierunddreissig
+\newdimen\fuenfunddreissig
+\newdimen\sechsunddreissig
+\newdimen\siebenunddreissig
+\newdimen\achtunddreissig
+\newdimen\neununddreissig
+\newdimen\vierzig
+\newdimen\einvierzig
+\newdimen\zweivierzig
+\newdimen\dreivierzig
+\newdimen\viervierzig
+\newdimen\fuenfvierzig
+\newdimen\sechsvierzig
+\newdimen\siebenvierzig
+\newdimen\achtvierzig
+\newdimen\neunvierzig
+\newdimen\fuenfzig
+\newdimen\einfuenfzig
+\newdimen\zweifuenfzig
+\newdimen\dreifuenfzig
+\newdimen\vierfuenfzig
+\newdimen\fuenffuenfzig
+\newdimen\sechsfuenfzig
+\newdimen\siebenfuenfzig
+\newdimen\achtfuenfzig
+\newdimen\neunfuenfzig
+\newdimen\sechzig
+
+\stellencount=0
+
+\def\Dimenzuordnung{\ifcase \the\stellencount \eins %???
+ \or \eins \or \zwei \or \drei \or \vier \or \fuenf
+ \or \sechs \or \sieben \or \acht \or \neun \or \zehn
+ \or \elf \or \zwoelf \or \dreizehn \or \vierzehn
+ \or \fuenfzehn \or \sechszehn \or \siebzehn \or
+ \achtzehn \or \neunzehn \or \zwanzig \or \einundzwanzig
+ \or \zweiundzwanzig \or \dreiundzwanzig \or \vierundzwanzig
+ \or \fuenfundzwanzig \or \sechsundzwanzig \or \siebenundzwanzig
+ \or \achtundzwanzig \or \neunundzwanzig \or \dreissig
+ \or \einunddreissig \or \zweiunddreissig \or \dreiunddreissig
+ \or \vierunddreissig \or \fuenfunddreissig \or \sechsunddreissig
+ \or \siebenunddreissig \or \achtunddreissig \or \neununddreissig
+ \or \vierzig \or \einvierzig \or \zweivierzig \or \dreivierzig
+ \or \viervierzig \or \fuenfvierzig \or \sechsvierzig \or
+ \siebenvierzig \or \achtvierzig \or \neunvierzig \or \fuenfzig
+ \or \einfuenfzig \or \zweifuenfzig \or \dreifuenfzig \or
+ \or \vierfuenfzig \or \fuenffuenfzig \or \sechsfuenfzig \or
+ \or \siebenfuenfzig \or \achtfuenfzig \or \neunfuenfzig \or
+ \sechzig \else 0pt =0pt \errmessage{Tabelle hat mehr als sechzig
+ Spalten} \fi }
+
+\def\dimenzuordnung{\ifdim\Dimenzuordnung < \wd\hilfsbox
+ \Dimenzuordnung = \wd\hilfsbox
+ \else \relax \fi}
+
+\let\TEXT=\text
+\def\xtext #1#2/{\TEXT{#1}{#2}/}
+\let\A@@footnote=\Afootnote
+\let\B@@footnote=\Bfootnote
+\let\C@@footnote=\Cfootnote%
+\let\D@@footnote=\Dfootnote
+\let\@line@@num=\linenum%
+\def\verschwinden #1/{\relax}
+
+\Undcount=1
+\let\Relax=\relax
+\let\NEXT=\next
+\newcount\@hilfs@count
+
+\def\messen #1&{%
+ \ifx #1! \ifnum\stellencount=0\let\NEXT\relax%
+ \else\tabfehlermeldung%
+ \stellencount=0%
+ \let\NEXT\messen%
+ \fi%
+ \else\setbox\hilfsbox=\hbox{$\displaystyle{#1}$}%
+ \advance\stellencount by 1 %
+ \dimenzuordnung%
+ \let\NEXT\messen%
+ \fi\NEXT}
+
+
+\def\messentext #1&{%
+ \ifx #1! \ifnum\stellencount=0\let\NEXT\relax%
+ \else\tabfehlermeldung%
+ \stellencount=0%
+ \let\NEXT\messentext%
+ \fi%
+ \else\setbox\hilfsbox=\hbox{#1}%
+ \advance\stellencount by 1 %
+ \dimenzuordnung%
+ \let\NEXT\messentext%
+ \fi\NEXT}
+
+\def\Messen #1!{%
+ \ifx #1&\let\NEXT\relax%
+ \else\messen #1&!&!&%
+ \let\NEXT\Messen%
+ \fi\NEXT}
+\def\Messentext #1!{%
+ \ifx #1&\let\NEXT\relax%
+ \else\messentext #1&!&!&%
+ \let\NEXT\Messentext%
+ \fi\NEXT}
+
+\newskip\abstand
+\global\abstand=10pt
+
+
+\let\LABEL=\label
+\def\Label#1{\LABEL#1}
+\let\NEXT\relax
+\let\Next=\next
+\def\variab{\relax}
+
+\def\tabfehlermeldung{%
+ \ifnum\stellencount=1\relax%
+ \else\ifnum\Undcount=1\relax%
+ \else\ifnum\stellencount=\Undcount\relax%
+ \else\errmessage{Anzahl der Tabulatoren ist nicht
+ gleich der Anzahl in der vorigen Zeile
+ (oder Ausrufungszeichen vergessen ?)}%
+ \fi%
+ \fi\Undcount=\stellencount%
+ \fi}
+\def\rverteilen #1&{\def\label##1{}%
+ \ifx #1! \ifnum\stellencount=0%\removelastskip
+ \let\Next\relax%
+ \else\stellencount=0%
+ \let\Next=\rverteilen%
+ \fi%
+ \else%
+ \footnoteverschw%
+ \advance\stellencount by 1%
+ \setbox\hilfsbox=\hbox{$\displaystyle{#1}$}%
+ \let\text=\xtext\let\Dfootnote=\D@@footnote%
+ \let\Afootnote=\A@@footnote\let\Bfootnote=\B@@footnote%
+ \let\Cfootnote=\C@@footnote\let\linenum=\@line@@num%
+ \hilfsskip=\Dimenzuordnung%
+ \advance\hilfsskip by -\wd\hilfsbox\def\label##1{\Label{{##1}}}%
+ \hskip\hilfsskip$\displaystyle{#1}$%
+ \hskip\abstand%
+ \let\Next=\rverteilen%
+ \fi\Next}
+
+\def\rverteilentext #1&{\def\label##1{}%
+ \ifx #1! \ifnum\stellencount=0%\removelastskip
+ \let\Next\relax%
+ \else\stellencount=0%
+ \let\Next=\rverteilentext%
+ \fi%
+ \else%
+ \footnoteverschw%
+ \advance\stellencount by 1%
+ \setbox\hilfsbox=\hbox{#1}%
+ \let\text=\xtext\let\Dfootnote=\D@@footnote%
+ \let\Afootnote=\A@@footnote\let\Bfootnote=\B@@footnote%
+ \let\Cfootnote=\C@@footnote\let\linenum=\@line@@num%
+ \hilfsskip=\Dimenzuordnung%
+ \advance\hilfsskip by -\wd\hilfsbox\def\label##1{\Label{{##1}}}%
+ \hskip\hilfsskip#1%
+ \hskip\abstand%
+ \let\Next=\rverteilentext%
+ \fi\Next}
+\def\lverteilen #1&{\def\label##1{}%
+ \ifx #1! \ifnum\stellencount=0 \let\Next\relax%
+ \else\stellencount=0%
+ \let\Next=\lverteilen%
+ \fi%
+ \else \footnoteverschw%
+ \advance\stellencount by 1%
+ \setbox\hilfsbox=\hbox{$\displaystyle{#1}$}%
+ \hilfsskip=\Dimenzuordnung%
+ \advance\hilfsskip by -\wd\hilfsbox%
+ \let\text=\xtext\let\Afootnote=\A@@footnote%
+ \let\Bfootnote=\B@@footnote\let\Cfootnote=\C@@footnote%
+ \let\Dfootnote=\D@@footnote\def\label##1{\Label{{##1}}}%
+ \let\linenum=\@line@@num%
+ $\displaystyle{#1}$\hskip\hilfsskip\hskip\abstand%
+ \let\Next=\lverteilen%
+ \fi\Next}
+
+\def\lverteilentext #1&{\def\label##1{}%
+ \ifx #1! \ifnum\stellencount=0 \let\Next\relax%
+ \else\stellencount=0%
+ \let\Next=\lverteilentext%
+ \fi%
+ \else \footnoteverschw%
+ \advance\stellencount by 1%
+ \setbox\hilfsbox=\hbox{#1}%
+ \hilfsskip=\Dimenzuordnung%
+ \advance\hilfsskip by -\wd\hilfsbox%
+ \let\text=\xtext\let\Afootnote=\A@@footnote%
+ \let\Bfootnote=\B@@footnote\let\Cfootnote=\C@@footnote%
+ \let\Dfootnote=\D@@footnote\def\label##1{\Label{{##1}}}%
+ \let\linenum=\@line@@num%
+ #1\hskip\hilfsskip\hskip\abstand%
+ \let\Next=\lverteilentext%
+ \fi\Next}
+\def\zverteilen #1&{\def\label##1{}%
+ \ifx #1! \ifnum\stellencount=0\let\Next\relax%
+ \else\stellencount=0%
+ \let\Next=\zverteilen%
+ \fi%
+ \else \footnoteverschw%
+ \advance\stellencount by 1%
+ \setbox\hilfsbox=\hbox{$\displaystyle{#1}$}%
+ \hilfsskip=\Dimenzuordnung%
+ \advance\hilfsskip by -\wd\hilfsbox%
+ \let\text=\xtext\let\Afootnote=\A@@footnote%
+ \let\Bfootnote=\B@@footnote\let\Cfootnote=\C@@footnote%
+ \let\Dfootnote=\D@@footnote\def\label##1{\Label{{##1}}}%
+ \let\linenum=\@line@@num%
+ \hskip 0.5\hilfsskip$\displaystyle{#1}$\hskip0.5\hilfsskip%
+ \hskip\abstand%
+ \let\Next=\zverteilen%
+ \fi\Next}
+\let\NEXT=\relax
+
+\def\rsetzen #1!{%
+ \ifx #1& \let\NEXT\relax
+ \else%
+ \centerline{\rverteilen #1&!&!&}
+ \let\NEXT=\rsetzen
+ \fi\NEXT}
+
+\def\rsetzentext #1!{%
+ \ifx #1& \let\NEXT\relax
+ \else \centerline{\rverteilentext #1&!&!&}
+ \let\NEXT=\rsetzentext
+ \fi\NEXT}
+
+\def\lsetzen #1!{%
+ \ifx #1&\let\NEXT\relax
+ \else%
+ \centerline{\lverteilen #1&!&!&}
+ \let\NEXT=\lsetzen
+ \fi\NEXT}
+
+\def\lsetzentext #1!{%
+ \ifx #1& \let\NEXT\relax
+ \else%
+ \centerline{\lverteilentext #1&!&!&}
+ \let\NEXT=\lsetzentext
+ \fi\NEXT}
+\def\zsetzen #1!{%
+ \ifx #1& \let\NEXT\relax%
+ \else \centerline{\zverteilen #1&!&!&}
+ \let\NEXT=\zsetzen
+ \fi\NEXT}
+\def\nullsetzen{%
+ \advance\stellencount by 1 %
+ \Dimenzuordnung=0pt%
+ \ifnum\stellencount=30\let\NEXT\relax%
+ \stellencount=0%
+ \else\let\NEXT\nullsetzen%
+ \fi\NEXT}
+\def\footnoteverschw{%
+ \let\text\relax%
+ \let\Afootnote=\verschwinden%
+ \let\Bfootnote=\verschwinden%
+ \let\Cfootnote=\verschwinden%
+ \let\Dfootnote=\verschwinden%
+ \let\linenum=\@gobble%
+ }
+
+\def\Seklam#1{\vbox to 10pt{\vss\hbox{$\left\{\vrule width0pt height #1pt
+ depth 0pt \right. $\hss}\vfil%
+ }}
+\def\Seklamgl#1#2{\vbox to 4pt{\vss\hbox{$#1\left\{\vrule width0pt height #2pt
+ depth 0pt \right. $}\vfil%
+ }}
+\def\seklam#1{\vbox to 10pt{\vss\hbox{$\left.\vrule width0pt height #1pt
+ depth 0pt \right\} $\hss}\vfil%
+ }}
+\def\seklamgl#1#2{\vbox to 4pt{\vss\hbox{$\left.\vrule width0pt height #1pt
+ depth 0pt \right\}#2 $}\vfil%
+ }}
+\def\sestrich#1{\vbox to 8pt{\vss\hbox{\vrule height #1pt}\vfil}}%
+\def\sepunkte#1{\vbox to 1pt{\vss\vbox to #1pt%
+ {\cleaders\hbox{$\m@th\hbox{.}\vbox to 0.5em{ }$}\vfil}}}
+
+\newdimen\klamdimen
+\klamdimen=0pt
+
+\def\@add@#1{%
+ \ifx#1|\advance\klamdimen by-\abstand%
+ \let\next=\relax%
+ \else\advance\klamdimen by \the#1%
+ \advance\klamdimen by\abstand%
+ \let\next=\@add@%
+ \fi\next}
+\def\waklam#1|{%
+ \@add@#1|%
+ \hbox to\the\Dimenzuordnung{\hbox to%
+ \the\klamdimen{\upbracefill}\hss}}
+\def\Waklam#1|{%
+ \@add@#1|%
+ \hbox to \the\Dimenzuordnung{\hbox to%
+ \the\klamdimen{\downbracefill}\hss}}
+
+\def\waklamec#1|{%
+ \@add@#1|%
+ \hbox to\the\Dimenzuordnung{\hbox to%
+ \the\klamdimen{\vrule height 4pt\hrulefill\vrule height 4pt}\hss}}
+
+\def\waklamect#1|{\hbox to 0pt{\T{6}{\waklamec#1|}\hss}}
+
+\def\wastrich#1|{%
+ \@add@#1|%
+ \hbox to\the\Dimenzuordnung{\hbox to%
+ \the\klamdimen{\hrulefill}\hss}}
+
+\def\wapunkte#1|{%
+ \@add@#1|%
+ \hbox to\the\Dimenzuordnung{\hbox to%
+ \the\klamdimen{\dotfill}\hss}}
+
+\let\@waklam@=\waklam
+\def\@WAKLAM@#1|{\@waklam@#1|}
+\let\@Waklam@=\Waklam
+\def\@WAKlam@#1|{\@Waklam@#1|}
+\let\@wastrich@=\wastrich
+\def\@WASTRICH@#1|{\@wastrich@#1|}
+
+\def\linksltab#1{%
+ \hbox to 0pt{\vbox{\tabindent%
+ \moveleft\Hilfsskip\hbox{\ #1}}\hss}%
+ }
+
+\def\linksrtab#1#2{%
+ #2\hbox to 0pt{\vbox{\tabindent%
+ \advance\Hilfsskip by\eins%
+ \moveleft\Hilfsskip\hbox{\ #1}}\hss}%
+ }
+
+\def\linksztab#1#2{%
+ \hbox to 0pt{\vbox{\tabindent\stellencount=\Undcount%
+ \advance\Hilfsskip by 0.5\eins%
+ \setbox\hilfsbox=\hbox{\def\label##1{}%
+ \footnoteverschw$\displaystyle{#2}$}%
+ \advance\Hilfsskip by -0.5\wd\hilfsbox%
+ \moveleft\Hilfsskip\hbox{\ #1}}\hss}%
+ #2}
+
+\def\rechtsztab#1#2{%
+ \setbox\hilfsbox=\hbox{\def\label##1{}%
+ \footnoteverschw#2}\Undcount=\stellencount%
+ #1\hbox to 0pt{\vbox{\tabindent\stellencount=\Undcount%
+ \advance\Hilfsskip by 0.5\Dimenzuordnung%
+ \advance\Hilfsskip by -\wd\hilfsbox%
+ \setbox\hilfsbox=\hbox{\def\label##1{}%
+ \footnoteverschw$\displaystyle{#1}$}%
+ \advance\Hilfsskip by -0.5\wd\hilfsbox%
+ \advance\Hilfsskip by \abstand%
+ \moveright\Hilfsskip\hbox{ #2}}\hss}%
+ }
+
+\def\rechtsltab#1#2{%
+ \setbox\hilfsbox=\hbox{\def\label##1{}\footnoteverschw#2}\Undcount=\stellencount%
+ #1\hbox to0pt{\vbox{\tabindent\stellencount=\Undcount%
+ \advance\Hilfsskip by\Dimenzuordnung%
+ \advance\Hilfsskip by-\wd\hilfsbox%
+ \setbox\hilfsbox=\hbox{\def\label##1{}%
+ \footnoteverschw$\displaystyle{#1}$}%
+ \advance\Hilfsskip by-\wd\hilfsbox%
+ \advance\Hilfsskip by\abstand%
+ \moveright\Hilfsskip\hbox{ #2}}\hss}%
+ }
+
+\def\rechtsrtab#1#2{%
+ \setbox\hilfsbox=\hbox{\def\label##1{}\footnoteverschw#2}%
+ #1\hbox to0pt{\vbox{\tabindent%
+ \advance\Hilfsskip by-\wd\hilfsbox%
+ \advance\Hilfsskip by\abstand%
+ \moveright\Hilfsskip\hbox{ #2}}\hss}%
+ }
+
+\def\footnotewieder{%
+ \def\Afootnote##1##2/{\A@@footnote{##1}{##2}}
+ \def\Bfootnote##1##2/{\B@@footnote{##1}{##2}}
+ \def\Cfootnote##1##2/{\C@@footnote{##1}{##2}}
+ \def\Dfootnote##1##2/{\D@@footnote{##1}{##2}}
+ }
+
+
+\def\rtab#1{%
+ \def\label##1{}%
+ \def\waklam##1|{}%
+ \def\Waklam##1|{}%
+ \def\wastrich##1|{}%
+ \def\davor##1##2{\linksrtab{##1}{##2}}%
+ \def\danach##1##2{\rechtsrtab{##1}{##2}}%
+ \footnoteverschw%
+ \stellencount=0%
+ \nullsetzen%
+ \stellencount=0
+ \Messen #1!&!%
+ \global\Undcount=1
+ \def\waklam##1|{\@WAKLAM@##1|}%
+ \def\Waklam##1|{\@WAKlam@##1|}%
+ \def\wastrich##1|{\@WASTRICH@##1|}%
+ \variab
+ \rsetzen #1!&!%
+ \footnotewieder
+ }
+
+\def\rtabtext #1{%
+ \def\label##1{}%
+ \def\waklam##1|{}%
+ \def\Waklam##1|{}%
+ \def\wastrich##1|{}%
+ \footnoteverschw%
+ \stellencount=0%
+ \nullsetzen%
+ \stellencount=0
+ \Messentext #1!&!%
+ \global\Undcount=1
+ \def\waklam##1|{\@WAKLAM@##1|}%
+ \def\Waklam##1|{\@WAKlam@##1|}%
+ \def\wastrich##1|{\@WASTRICH@##1|}%
+ \variab
+ \rsetzentext #1!&!%
+ \footnotewieder
+ }
+
+
+\def\ltab #1{%
+ \def\label##1{}%
+ \def\waklam##1|{}%
+ \def\Waklam##1|{}%
+ \def\wastrich##1|{}%
+ \def\davor##1##2{\linksltab{##1}{##2}}%
+ \def\danach##1##2{\rechtsltab{##1}{##2}}%
+ \footnoteverschw%
+ \stellencount=0%
+ \nullsetzen%
+ \stellencount=0%
+ \Messen #1!&!%
+ \global\Undcount=1
+ \def\waklam##1|{\@WAKLAM@##1|}%
+ \def\Waklam##1|{\@WAKlam@##1|}%
+ \def\wastrich##1|{\@WASTRICH@##1|}%
+ \variab
+ \lsetzen #1!&!%
+ \footnotewieder
+ }
+
+\def\ltabtext #1{%
+ \def\label##1{}%
+ \def\waklam##1|{}%
+ \def\Waklam##1|{}%
+ \def\wastrich##1|{}%
+ \footnoteverschw%
+ \stellencount=0%
+ \nullsetzen%
+ \stellencount=0%
+ \Messentext #1!&!%
+ \global\Undcount=1
+ \def\waklam##1|{\@WAKLAM@##1|}%
+ \def\Waklam##1|{\@WAKlam@##1|}%
+ \def\wastrich##1|{\@WASTRICH@##1|}%
+ \variab
+ \lsetzentext#1!&!%
+ \footnotewieder
+ }
+
+
+\def\ztab #1{%
+ \def\label##1{}%
+ \def\waklam##1|{}%
+ \def\Waklam##1|{}%
+ \def\wastrich##1|{}%
+ \def\davor##1##2{\linksztab{##1}{##2}}%
+ \def\danach##1##2{\rechtsztab{##1}{##2}}%
+ \footnoteverschw%
+ \stellencount=0%
+ \nullsetzen%
+ \stellencount=0%
+ \Messen #1!&!%
+ \global\Undcount=1
+ \def\waklam##1|{\@WAKLAM@##1|}%
+ \def\Waklam##1|{\@WAKlam@##1|}%
+ \def\wastrich##1|{\@WASTRICH@##1|}%
+ \variab
+ \zsetzen #1!&!%
+ \footnotewieder
+ }
+
+\def\breitertext#1{%\stellencount=\Undcount%
+ \hbox to \the\Dimenzuordnung{\hbox{#1}\hss}%
+ }
+\def\breiter#1{%
+ \hbox to \the\Dimenzuordnung{\hbox{$\displaystyle{#1}$}\hss}%
+ }
+
+
+\def\tabellzwischen #1&{%
+ \ifx #1! \let\NEXT\relax \stellencount=0
+ \else \advance \stellencount by 1
+ \Dimenzuordnung = #1 mm
+ \let\NEXT=\tabellzwischen
+ \fi \NEXT }
+
+\def\atabell #1!{%
+ \tabellzwischen #1&!&}
+\def\Setzen #1&{%
+ \ifx #1\relax \let\NEXT=\relax
+ \else \advance\stellencount by 1
+ \let\tabelskip=\Dimenzuordnung
+ \TAB #1|
+ \let\NEXT=\Setzen
+ \fi\NEXT}
+
+
+\def\ATAB #1!{%
+ \ifx #1\Relax \centerline{\Setzen #1\relax&}
+ \let\Next\relax
+ \else \centerline{\Setzen #1&\relax&}
+ \let\Next=\ATAB
+ \fi\Next}
+\def\atab #1{%
+ \variab%
+ \ATAB #1!\Relax!}
+
+\newskip\HILFSskip
+\newskip\Hilfsskip
+
+\def\TABINDENT{%
+ \ifnum\stellencount=30\let\NEXT\relax\stellencount=0%
+ \else\advance\stellencount by 1%
+ \advance\Hilfsskip by\Dimenzuordnung%
+ \ifdim\Dimenzuordnung=0pt\advance\hilfscount by 1%
+ \else\advance\Hilfsskip by \the\hilfscount\abstand%
+ \hilfscount=1\fi%
+ \let\NEXT=\TABINDENT%
+ \fi\NEXT}%
+\def\tabindent{%
+ \stellencount=0%
+ \Hilfsskip=0pt%
+ \hilfscount=1%
+ \TABINDENT%
+ \hilfsskip=\hsize%
+ \advance\hilfsskip by -\Hilfsskip%
+ \Hilfsskip=0.5\hilfsskip%
+ }%
+
+\def\TAB #1|#2|{%
+ \setbox\tabhilfbox=\hbox{$\displaystyle{#1}$}%
+ \setbox\tabHilfbox=\hbox{$\displaystyle{#2}$}%
+ \advance\tabelskip by -\wd\tabhilfbox%
+ \advance\tabelskip by -\wd\tabHilfbox%
+ \unhbox\tabhilfbox\hskip\tabelskip%
+ \unhbox\tabHilfbox}%
+
+\def\TABtext #1|#2|{%
+ \setbox\tabhilfbox=\hbox{#1}%
+ \setbox\tabHilfbox=\hbox{#2}%
+ \advance\tabelskip by -\wd\tabhilfbox%
+ \advance\tabelskip by -\wd\tabHilfbox%
+ \unhbox\tabhilfbox\hskip\tabelskip%
+ \unhbox\tabHilfbox}%
+\newbox\tabhilfbox
+\newbox\tabHilfbox
+
+\makeatother
+\endinput
+---------- cut here ---------- cut here ---------- cut here ----------