\input german
\message{Hier ist JurTeX V 1.3}
\message{Letzte Aenderung am 13.3.1990.  (c) Hauke Hess}
%
%
% Die Klammern mssen in Namen auftauchen...
\catcode`\(=11
\catcode`\)=11
\catcode `@=11 % Wir borgen uns private Plain Makros
%
% Und eine vernnftige Schriftgr”že:
%
\font\twelverm=cmr12
\font\elevenrm=cmr10 at 11pt
\font\tenrm=cmr10
\font\ninerm=cmr9
\font\eightrm=cmr8
\font\sixrm=cmr6

\font\twelvei=cmmi12
\font\eleveni=cmmi10 at 11pt
\font\teni=cmmi10
\font\ninei=cmmi9
\font\eighti=cmmi8
\font\sixi=cmmi6
\skewchar\ninei='177 \skewchar\eighti='177 \skewchar\sixi='177

\font\twelvesy=cmsy10 at 12pt
\font\elevensy=cmsy10 at 11pt
\font\ninesy=cmsy9
\font\eightsy=cmsy8
\font\sixsy=cmsy6
\skewchar\ninesy='60 \skewchar\eightsy='60 \skewchar\sixsy='60

\font\eightss=cmssq8

\font\eightssi=cmssqi8

\font\twelvebf=cmbx12
\font\elevenbf=cmbx10 at 11pt
\font\ninebf=cmbx9
\font\eightbf=cmbx8
\font\sixbf=cmbx6

\font\twelvett=cmtt12
\font\eleventt=cmtt10 at 11pt
\font\ninett=cmtt9
\font\eighttt=cmtt8

\hyphenchar\tentt=-1 % inhibit hyphenation in typewriter type
\hyphenchar\ninett=-1
\hyphenchar\eighttt=-1

\font\twelvesl=cmsl12
\font\elevensl=cmsl10 at 11pt
\font\tensl=cmsl10
\font\ninesl=cmsl9
\font\eightsl=cmsl8

\font\twelveit=cmti12
\font\elevenit=cmti10 at 11pt
\font\tenit=cmti10
\font\nineit=cmti9
\font\eightit=cmti8

\newskip\ttglue
\def\twelvepoint{\def\rm{\fam0\twelverm}%
  \textfont0=\twelverm \scriptfont0=\tenrm \scriptscriptfont0=\sevenrm
  \textfont1=\twelvei \scriptfont1=\teni \scriptscriptfont1=\seveni
  \textfont2=\twelvesy \scriptfont2=\tensy \scriptscriptfont2=\sevensy
  \textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex
  \def\it{\fam\itfam\twelveit}%
  \textfont\itfam=\twelveit
  \def\sl{\fam\slfam\twelvesl}%
  \textfont\slfam=\twelvesl
  \def\bf{\fam\bffam\twelvebf}%
  \textfont\bffam=\twelvebf \scriptfont\bffam=\tenbf
   \scriptscriptfont\bffam=\sevenbf
  \def\tt{\fam\ttfam\twelvett}%
  \textfont\ttfam=\twelvett
  \tt \ttglue=.6em plus.35em minus.15em
  \normalbaselineskip=17pt
  \def\MF{{\manual META}\-{\manual FONT}}%
  \setbox\strutbox=\hbox{\vrule height10pt depth4pt width\z@}%
  \normalbaselines\rm}

\def\elevenpoint{\def\rm{\fam0\elevenrm}%
  \textfont0=\elevenrm \scriptfont0=\ninerm \scriptscriptfont0=\sevenrm
  \textfont1=\eleveni \scriptfont1=\ninei \scriptscriptfont1=\seveni
  \textfont2=\elevensy \scriptfont2=\ninesy \scriptscriptfont2=\sevensy
  \textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex
  \def\it{\fam\itfam\elevenit}%
  \textfont\itfam=\elevenit
  \def\sl{\fam\slfam\elevensl}%
  \textfont\slfam=\elevensl
  \def\bf{\fam\bffam\elevenbf}%
  \textfont\bffam=\elevenbf \scriptfont\bffam=\ninebf
   \scriptscriptfont\bffam=\sevenbf
  \def\tt{\fam\ttfam\eleventt}%
  \textfont\ttfam=\eleventt
  \tt \ttglue=.6em plus.35em minus.15em
  \normalbaselineskip=17pt plus2pt minus1pt
  \def\MF{{\manual META}\-{\manual FONT}}%
  \setbox\strutbox=\hbox{\vrule height10pt depth4pt width\z@}%
  \normalbaselines\rm}

\def\tenpoint{\def\rm{\fam0\tenrm}%
  \textfont0=\tenrm \scriptfont0=\sevenrm \scriptscriptfont0=\fiverm
  \textfont1=\teni \scriptfont1=\seveni \scriptscriptfont1=\fivei
  \textfont2=\tensy \scriptfont2=\sevensy \scriptscriptfont2=\fivesy
  \textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex
  \def\it{\fam\itfam\tenit}%
  \textfont\itfam=\tenit
  \def\sl{\fam\slfam\tensl}%
  \textfont\slfam=\tensl
  \def\bf{\fam\bffam\tenbf}%
  \textfont\bffam=\tenbf \scriptfont\bffam=\sevenbf
   \scriptscriptfont\bffam=\fivebf
  \def\tt{\fam\ttfam\tentt}%
  \textfont\ttfam=\tentt
  \tt \ttglue=.5em plus.25em minus.15em
  \normalbaselineskip=15pt plus 2pt minus1pt
  \def\MF{{\manual META}\-{\manual FONT}}%
  \let\sc=\eightrm
  \let\big=\tenbig
  \setbox\strutbox=\hbox{\vrule height8.5pt depth3.5pt width\z@}%
  \normalbaselines\rm}

\def\ninepoint{\def\rm{\fam0\ninerm}%
  \textfont0=\ninerm \scriptfont0=\sixrm \scriptscriptfont0=\fiverm
  \textfont1=\ninei \scriptfont1=\sixi \scriptscriptfont1=\fivei
  \textfont2=\ninesy \scriptfont2=\sixsy \scriptscriptfont2=\fivesy
  \textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex
  \def\it{\fam\itfam\nineit}%
  \textfont\itfam=\nineit
  \def\sl{\fam\slfam\ninesl}%
  \textfont\slfam=\ninesl
  \def\bf{\fam\bffam\ninebf}%
  \textfont\bffam=\ninebf \scriptfont\bffam=\sixbf
   \scriptscriptfont\bffam=\fivebf
  \def\tt{\fam\ttfam\ninett}%
  \textfont\ttfam=\ninett
  \tt \ttglue=.5em plus.25em minus.15em
  \normalbaselineskip=12pt
  \def\MF{{\manual hijk}\-{\manual lmnj}}%
  \let\sc=\sevenrm
  \let\big=\ninebig
  \setbox\strutbox=\hbox{\vrule height8pt depth3pt width\z@}%
  \normalbaselines\rm}
\def\jurabig{\twelvepoint\bf}
\def\jura{\elevenpoint}
\jura
%
% Jetzt das Seitenlayout definieren:
\hsize=13cm
\vsize=24cm
\hoffset=4cm
\parindent=2mm
\headline={\hfil \jura \folio \hfil}
\footline={\hfil}
\parskip=1mm
%
\def\seitenende{\vfill\eject}
%
% Fužnoten, wie sie uns gefallen:
% Parameter: \footnotefabst bestimmt den Abstand der Fužnoten untereinander
%            \footnotezabs  den Zeilenabstand innerhalb der Fužnoten
%            \footnotetabs  den Abstand der Fužnoten vom Text
%
\def\footnotefabs{\hbox{\vrule height11pt depth3.5pt width0pt}}
\def\footnotezabs{\baselineskip=11pt plus1pt minus1pt}
\def\footnotetabs{\splittopskip=18pt plus4pt minus1pt}
%
\newcount\fcount
\fcount=0

\def\footnotex#1{\edef\@sf{\spacefactor\the\spacefactor}#1\@sf
\insert\footins\bgroup%
\interlinepenalty100 \let\par=\endgraf%
\leftskip=0pt \rightskip=0pt%
\footnotetabs \floatingpenalty=20000%
\footnotezabs
\item{\ninerm #1}\bgroup\footnotefabs\aftergroup%
\ninepoint\@foot\let\next}%
\skip\footins=12pt plus 2pt minus 4pt% Abstand der untersten Textzeile zum
%                                      Fužnotenstrich.
\dimen\footins=30pc%
\def\footnotey{\advance\fcount by1\footnotex{$^{\number\fcount}$}}
\def\footnote#1{{\def"{\string"}\def\S{\string\S}%
\immediate\write\fussfile{#1}}\footnotey{#1}}
%
% Nicht ber schlechte Abs„tze aufregen:
\tolerance=10000
%
% UNTERMAKROS
%
% \letter gibt den n-ten Kleinbuchstaben zurck:
\newcount\dummy
%
\def\letter#1{\dummy=#1% Hier darf kein Leerzeichen stehen, weil sonst
\advance\dummy by`a%     vor dem Buchstaben ein solches erscheint und
\advance\dummy by-1%     das Layout schmeižt
\char\dummy}
%
% \caps gibt den n-ten Grožbuchstaben zurck    
\def\caps#1{\dummy=#1
\advance\dummy by`A
\advance\dummy by-1
\char\dummy}
%
% \dletter gibt den n-ten Kleinbuchstaben doppelt zurck
\def\dletter#1{\letter#1\letter#1}
%
\def\rm#1{\dummy=#1%
\uppercase\expandafter{\romannumeral\dummy}}
%
% Ein paar Z„hler fr die Unterabschnitte:
\newcount\abA
\abA=0
\newcount\abI
\abI=0
\newcount\abar)
\abar)=0
\newcount\aba)
\aba)=0
\newcount\abaa)
\abaa)=0
\newcount\ab(ar)
\ab(ar)=0
\newcount\ab(a)
\ab(a)=0
\newcount\ab(aa)
\ab(aa)=0
\newcount\ab(aaa)
\ab(aaa)=0
\newcount\ab(aaaa)
\ab(aaaa)=0
%
% Und nun noch die Abschnittmakros:
% In der Reihenfolge: A. I. 1.) a.) aa.) (1) (a) (aa)
% heižen die zugeh”rigen Macros:
% A.    subA    Z„hler abA
% I.    subI    Z„hler abI
% 1.)   subar)  Z„hler abar)    (Arabische Ziffer+) )
% a.)   suba)   Z„hler aba)
% aa.)  subaa)  Z„hler abaa)
% (1)   sub(ar) Z„hler ab(ar)   ( (+Arabische Ziffer+) )
% (a)   sub(a)  Z„hler ab(a)
% (aa)  sub(aa) Z„hler ab(aa)   
%
\def\main {
\abA=0%
\abI=0%
\abar)=0%
\aba)=0%
\abaa)=0%
\ab(ar)=0%
\ab(a)=0%
\ab(aa)=0%
\ab(aaa)=0%
\ab(aaaa)=0%
\leftskip=0cm%
}
%
\def\subA#1\par{%
\advance\abA by1%
\abI=0%
\abar)=0%
\aba)=0%
\abaa)=0%
\ab(ar)=0%
\ab(a)=0%
\ab(aa)=0%
\ab(aaa)=0%
\ab(aaaa)=0%
\bigskip
\leftskip=1cm%
\textindent{\jurabig\caps\abA.}
\if -#1\inhaltzeile{\leftskip0.5cm}{\string\caps{\number\abA}.}{\quad}%
\else%
{\jurabig#1\par\nobreak}%
\inhaltzeile{\leftskip0.5cm}{\string\caps{\number\abA}.}{#1}
\fi
}
%
\def\subI#1\par{%
\advance\abI by1%
\abar)=0%
\aba)=0%
\abaa)=0%
\ab(ar)=0%
\ab(a)=0%
\ab(aa)=0%
\ab(aaa)=0%
\ab(aaaa)=0%
\medskip
\leftskip=1cm%
\hskip-0.3cm
{\jurabig\uppercase\expandafter{\romannumeral\abI}}.\quad%
\if -#1\inhaltzeile{\leftskip1cm}{\string\uppercase\expandafter%
{\romannumeral\number\abI}.}{\quad}%
\else
{\jurabig#1\par\nobreak}
\inhaltzeile{\leftskip1cm}{\string\uppercase\expandafter%
{\romannumeral\number\abI}.}{#1}
\fi
}
%
\def\subar)#1\par{%
\advance\abar) by1%
\aba)=0%
\abaa)=0%
\ab(ar)=0%
\ab(a)=0%
\ab(aa)=0%
\ab(aaa)=0%
\ab(aaaa)=0%
\smallskip
\leftskip=1.5cm%
\textindent{\jurabig\number\abar) .)}%
\if -#1\inhaltzeile{\leftskip1.5cm}{\number\abar).)}{\quad}%
\else%
{\jurabig#1\par\nobreak}
\inhaltzeile{\leftskip1.5cm}{\number\abar).)}{#1}
\fi
}
%
\def\suba)#1\par{%
\advance\aba) by1%
\abaa)=0%
\ab(ar)=0%
\ab(a)=0%
\ab(aa)=0%
\ab(aaa)=0%
\ab(aaaa)=0%
\smallskip
\leftskip=2cm%
\textindent{\jurabig\letter{\aba)}.)}%
\if -#1\inhaltzeile{\leftskip2cm}{\string\letter{\number\aba)}.)}{\quad}
\else
{\jurabig#1\par\nobreak}
\inhaltzeile{\leftskip2cm}{\string\letter{\number\aba)}.)}{#1}
\fi
}
%
\def\subaa){%
\advance\abaa) by1%
\ab(ar)=0%
\ab(a)=0%
\ab(aa)=0%
\ab(aaa)=0%
\ab(aaaa)=0%
\smallskip
\leftskip=2.2cm%
\textindent{\dletter\abaa).)}%
\inhaltzeile{\leftskip2.5cm}{\string\dletter{\number\abaa)}.)}{\quad}
}
%
\def\sub(ar){%
\advance\ab(ar) by1%
\ab(a)=0%
\ab(aa)=0%
\ab(aaa)=0%
\ab(aaaa)=0%
\smallskip
\leftskip=2.4cm%
\textindent{(\number\ab(ar) )}%
\inhaltzeile{\leftskip3.0cm}{(\number\ab(ar) )}{\quad}
}
%
\def\sub(a){%
\advance\ab(a) by1%
\ab(aa)=0%
\ab(aaa)=0%
\ab(aaaa)=0%
\smallskip
\leftskip=2.6cm%
\textindent{(\letter{\ab(a)})}%
\inhaltzeile{\leftskip3.3cm}{(\string\letter{\number\ab(a)})}{\quad}
}
%
\def\sub(aa){%
\advance\ab(aa) by1%
\ab(aaa)=0%
\ab(aaaa)=0%
\smallskip
\leftskip=2.8cm%
\textindent{(\dletter{\ab(aa)})}%
\inhaltzeile{\leftskip3.6cm}{(\string\dletter{\number\ab(aa)})}{\quad}
}
%
\def\sub(aaa){%
\advance\ab(aaa) by1%
\ab(aaaa)=0%
\leftskip=3cm%
\textindent{(\dletter{\ab(aaa)}\letter{\ab(aaa)})}%
\inhaltzeile{\leftskip3.7cm}%
{(\string\dletter{\number\ab(aaa)}\letter{\number\ab(aaa)})}{\quad}
}
%
\def\sub(aaaa){%
\advance\ab(aaaa) by1%
\leftskip=3cm%
\textindent{(\dletter{\ab(aaaa)}\dletter{\ab(aaaa)})}%
\inhaltzeile{\leftskip3.8cm}%
{(\string\dletter{\ab(aaaa)}\letter{\ab(aaaa)})}{\quad}
}
%
%
%
% Und nun die Makros zum zurckschalten (simpler leftskip der entspr. Gr”že
% die Namensgebung ist statt sub: cont
% A.    subA    Z„hler abA
% I.    subI    Z„hler abI
% 1.)   subar)  Z„hler abar)    (Arabische Ziffer+) )
% a.)   suba)   Z„hler aba)
% aa.)  subaa)  Z„hler abaa)
% (1)   sub(ar) Z„hler ab(ar)   ( (+Arabische Ziffer+) )
% (a)   sub(a)  Z„hler ab(a)
% (aa)  sub(aa) Z„hler ab(aa)   
\def\contA{\leftskip=0.5cm}
\def\contI{\leftskip=1cm}
\def\contar){\leftskip=1.5cm}
\def\conta){\leftskip=2cm}
\def\contaa){\leftskip=2.2cm}
\def\cont(ar){\leftskip=2.4cm}
\def\cont(a){\leftskip=2.6cm}
\def\cont(aa){\leftskip=2.8cm}
%
% Und nun die Querverweis-Makros. Eine Marke wird mit \merke{label} gesetzt
% und mit |\label abgerufen. Wenn die Label noch nicht definiert wurde,
% wird an ihrer Stelle `??' eingefgt.
%
% Erst das Hauptmakro, welches den Verweistext erzeugt. Zu jedem Z„hler, der
% nicht 0 ist, wird der Text erzeugt und angeh„ngt.
%
\def\verwtext{
\ifnum\abA>0
\string\caps{\number\abA}.
 \ifnum\abI>0
 \string\uppercase\expandafter{\romannumeral\number\abI}.
  \ifnum\abar)>0
  \number\abar).
   \ifnum\aba)>0
   \string\letter{\number\aba)}.)
    \ifnum\abaa)>0
    \string\dletter{\number\abaa)}.)
     \ifnum\ab(ar)>0
     (\number\ab(ar) )
      \ifnum\ab(a)>0
      (\string\dletter{\number\ab(aa)})
       \ifnum\ab(aa)>0
       (\string\dletter{\number\ab(aa)})
       \fi
      \fi
     \fi
    \fi
   \fi
  \fi
 \fi
\fi
}
%
%
\newread\vrwfile
\immediate\openin\vrwfile=\jobname.AUX    %vrwfile-Verweisfile, wenn vorhanden
\ifeof\vrwfile
 \immediate\closein\vrwfile           % Wenn ein VRW vorhanden ist, werden die
 \def\quer#1{??}
\else                                 % dort stehenden Makros definiert, sonst
 \immediate\closein\vrwfile
 \ifx\runmode\schnell
  \def\quer#1{??}
 \else
  \input \jobname.AUX                 % Macros einlesen
  \def\quer#1{#1}
 \fi
\fi
%
%
\def\specialhat{\ifmmode\def\next{|}\else\let\next=\quer\fi\next}
\catcode`\|=\active \let |=\specialhat
%
\newwrite\fussfile
\immediate\openout\fussfile=\jobname.FUS
\newwrite\auxfile
\immediate\openout\auxfile=\jobname.AUX
\def\merke#1{%
\immediate\expandafter\write\auxfile%
{\string\def\csname#1\endcsname{\verwtext}}}
%
% Hier kommt die Kr”nung des Makros
%
% Eine automatische Gliederung aller Argumente als Inhaltsverzeichnis...
%
%
\newwrite\inhaltfile
\def\contsty{ contsty}
\immediate\openout\inhaltfile=\jobname.INH
\immediate\write\inhaltfile{\string\input\contsty}
\def\leaderfill{\leaders\hbox to 1em{\hss.\hss}\hfill}
%\inhaltszeile gibt die entsprechende Zeile des Inhaltsverzeichnisses aus.
% Parameter: #1= Einrckung, #2=Abschnittsberschrift, Verwtext sucht den
% Abschnittsnamen und setzt ihn ein...

\def\inhaltzeile#1#2#3{{\def"{\string"}\def\S{\string\S}
\immediate\write\inhaltfile%
{#1 \hskip-0.3cm #2 #3 \leaderfill\quad\folio}}}

% Und nun das neue \bye, Namens \thatsall
\outer\def\thatsall{\closeout\auxfile\closeout\fussfile
\closeout\inhaltfile%
\par\vfill\eject
\input\jobname.inh      % auskommentieren wenn unerwnscht
\par\vfill\supereject%
\end}
% Ende JurTeX

