% % threecol.sty % % Korrektur zur Version 1.1a am 20.10.88 von Lutz Birkhahn % \let\BeginDocument=\document \def\document{% \BeginDocument \hbadness=10000 \vbadness=10000 \parindent=0cm \global\dimen\footins=0.6cm \newskip\titelskip \global\titelskip=1cm plus 0.5cm minus0.5cm \sloppy \global\volleBreite=\textwidth \global\volleHoehe=\textheight \global\Leervsize=\maxdimen \global\hsize=\textwidth \global\advance\hsize by -2\columnsep \global\divide\hsize by 3 \global\linewidth=\hsize \global\columnwidth=\hsize \NeuesLayOut \output={% \ifcase\Boxnummer \or \Spaltenoutput{Eins}{Zwei}{Drei} \or \Spaltenoutput{Zwei}{Drei}{Vier} \or \Spaltenoutput{Drei}{Vier}{Fuenf} \or \Spaltenoutput{Vier}{Fuenf}{Sechs} \or \Spaltenoutput{Fuenf}{Sechs}{Sieben} \or \Spaltenoutput{Sechs}{Sieben}{Acht} \or \Spaltenoutput{Sieben}{Acht}{Neun} \or \Spaltenoutput{Acht}{Neun}{Leer} \else \Spaltenoutput{Neun}{Leer}{Leer} \global\Boxnummer=1 \Leglos \NeuesLayOut \fi }% } % \newbox\Eins \newbox\Zwei \newbox\Drei \newbox\Vier \newbox\Fuenf \newbox\Sechs \newbox\Sieben \newbox\Acht \newbox\Neun \newbox\Leer \newbox\Titelbox % \newdimen\Einheit \newdimen\volleBreite \newdimen\volleHoehe \newdimen\Einsvsize \newdimen\Zweivsize \newdimen\Dreivsize \newdimen\Viervsize \newdimen\Fuenfvsize \newdimen\Sechsvsize \newdimen\Siebenvsize \newdimen\Achtvsize \newdimen\Neunvsize \newdimen\Leervsize \newdimen\Testhoehe \newcount\Boxnummer \newcount\LetzteZahl \global\Boxnummer=1 % \let\EndDocument=\enddocument \gdef\enddocument{% \closepage \let\newpage=\relax \EndDocument} % \def\Spaltenoutput#1#2#3{% \ifdim\csname#1vsize\endcsname>0pt \global\setbox\csname#1\endcsname=\vbox{\vbox to\csname#1vsize\endcsname{% \unvbox255}} \else \unvbox255 \penalty\outputpenalty \global\setbox\csname#1\endcsname=\vbox{\vbox to-\csname#1vsize\endcsname{% \hbox to\hsize{\hfill}\vss}} \fi \global\advance\Boxnummer by 1 \ifnum\Boxnummer=10 \else \ifdim\csname#2vsize\endcsname>0pt \global\vsize=\csname#2vsize\endcsname \else \global\vsize=-\csname#2vsize\endcsname \fi \fi } % \def\Leglos{% \Bilderdazu \shipout\vbox{% \null\vskip\topmargin \hbox{% \null \ifodd\count0 \hskip\oddsidemargin\relax \else \hskip\evensidemargin\relax \fi \vbox to\volleHoehe{% \vbox to0pt{% \vskip-\headsep\relax \ifodd\count0 \hbox to\volleBreite{\@oddhead}% \else \hbox to\volleBreite{\@evenhead}% \fi \vss }% \nointerlineskip\vss \hbox to\volleBreite{% \vbox{\vss\unvbox\Eins \unvbox\Zwei \unvbox\Drei}\hfil \vbox{\vss\unvbox\Vier \unvbox\Fuenf \unvbox\Sechs}\hfil \vbox{\vss\unvbox\Sieben \unvbox\Acht \unvbox\Neun}% }% {\columnwidth=\textwidth \ifvoid\footins\else \vbox to0pt{% \vskip\skip\footins \footnoterule \vsplit\footins to\dimen\footins \vss }% \fi}% linewidth-group zu \nointerlineskip \vbox to0pt{% \vskip\footskip \ifodd\count0 \hbox to\volleBreite{\@oddfoot}% \else \hbox to\volleBreite{\@evenfoot}% \fi \vss }% vbox fuer footnotes zu }% vbox to volleHoehe zu }% ganze-Seite-hbox zu }% shipout-vbox zu \global\advance\count0 by 1 } % \def\Bilderdazu{} % \def\Bilderspiegel#1{% \gdef\Bilderdazu{#1}% } % \def\Bild#1(#2/#3/#4){% \def\@Eins{Eins} \def\@Zwei{Zwei} \def\@Drei{Drei} \def\@Vier{Vier} \def\@Fuenf{Fuenf} \def\@Sechs{Sechs} \def\@Sieben{Sieben} \def\@Acht{Acht} \def\@Neun{Neun} \def\@Test{#2} \gdef\Bilderabstand##1##2##3##4{% \ifx\@Test##1 \else \ifx\@Test##2 \else \ifx\@Test##3 \else ##4 \fi \fi \fi } \ifnum#1=\count0 \ifdim\csname #2vsize\endcsname<0pt \global\setbox\csname#2\endcsname=\vbox to-\csname#2vsize\endcsname{% \Bilderrahmen{#2}{#3}{#4}% }% \else \typeout{Box #2 auf Seite \the\count0 \space ist nicht frei!} \fi \fi } % \def\Bilderrahmen#1#2#3{% \count200=#3 \dimen200=\hsize \ifnum\count200<0 \multiply\count200 by -1 \fi \ifcase\count200\or \or \advance\dimen200 by \columnsep \advance\dimen200 by \hsize \or \advance\dimen200 by 2\columnsep \advance\dimen200 by 2\hsize \fi \global\dimen201=\csname#1vsize\endcsname \ifx#2\empty \setbox100=\vbox{} \else \setbox100=\vbox{\hsize=\dimen200 \vskip2pt\relax\sf #2}% \fi \Bilderabstand{\@Eins}{\@Vier}{\@Sieben}{% \global\advance\dimen201 by \medskipamount \medskip }% \Bilderabstand{\@Drei}{\@Sechs}{\@Neun}% {\global\advance\dimen201 by \bigskipamount}% \global\advance\dimen201 by\ht100 \global\advance\dimen201 by\dp100 \global\advance\dimen201 by 4pt \hbox to\hsize{% \vbox{% \ifnum#3>0 \null\vfill\box100\par \else \hrule\hbox{\vrule\vbox to-\dimen201{% \hsize=\dimen200 \null\hfill \null\vfill}\vrule}\hrule \vfill \box100 \fi \Bilderabstand{\@Drei}{\@Sechs}{\@Neun}{\bigskip}% }\hss}% } % \def\Summe#1{% \ifdim\csname#1vsize\endcsname>0pt \advance\Testhoehe by \csname#1vsize\endcsname \else \advance\Testhoehe by -\csname#1vsize\endcsname \fi } % \def\Test#1{% \ifdim\Testhoehe>\volleHoehe \advance\Testhoehe by -\volleHoehe \typeout{In der #1. Spalte auf Seite \the\count0 \space ist die Spaltenhoehe um \the\Testhoehe \space ueberschritten!} \fi \Testhoehe=0pt } % \def\DieseSeite(#1,#2,#3/#4,#5,#6/#7,#8,#9){% \global\Einsvsize=#1\Einheit \global\Zweivsize=#2\Einheit \global\Dreivsize=#3\Einheit \global\Viervsize=#4\Einheit \global\Fuenfvsize=#5\Einheit \global\Sechsvsize=#6\Einheit \global\Siebenvsize=#7\Einheit \global\Achtvsize=#8\Einheit \global\Neunvsize=#9\Einheit \Testhoehe=0pt \Summe{Eins} \Summe{Zwei} \Summe{Drei} \Test{1} \Summe{Vier} \Summe{Fuenf} \Summe{Sechs} \Test{2} \Summe{Sieben} \Summe{Acht} \Summe{Neun} \Test{3} \ifdim\Einsvsize>0pt \global\vsize=\Einsvsize \else \global\vsize=-\Einsvsize \fi } % \def\newpage{% \LetzteZahl=\count0 \loop \ifnum\LetzteZahl=\count0 \null\vfil\eject % Version 1.1a % \vfil\eject % Version 1.1 \repeat } % \def\closepage{% \ifdim\pagetotal>0pt \newpage \else \ifnum\Boxnummer>1 \newpage \fi \fi } % \long\def\TITEL#1#2{% \global\setbox\Titelbox=\vbox{% \hsize=\volleBreite \begin{center} \Huge\bf #1 \end{center} \ifx#2\empty \else {\bf #2\par\bigskip}% \fi }% \closepage \null\vfill\hbox to\hsize{\box\Titelbox\hss}% \typeout{TITEL: #1 (\the\Boxnummer)}% \eject \global\advance\c@chapter by 1 \addcontentsline{toc}{chapter}{\protect\numberline {\thechapter}#1}% } % \long\def\Titel#1#2{% \global\setbox\Titelbox=\vbox{% \multiply\hsize by 2 \advance\hsize by \columnsep \begin{center} \LARGE\bf #1 \end{center} \ifx#2\empty \else {\bf #2\par\bigskip}% \fi } \ifdim\pagetotal>0pt \par\vfil\eject \fi \ifnum\Boxnummer=1 \else \ifnum\Boxnummer<5 \global\Boxnummer=4 \ifdim\Viervsize>0pt \global\vsize=\Viervsize \else \global\vsize=-\Viervsize \fi \else \closepage \fi \fi \null\vfill\hbox to\hsize{\box\Titelbox\hss}% \typeout{Titel: #1 (\the\Boxnummer)}% \eject \global\advance\c@section by 1 \addcontentsline{toc}{section}% {\protect\numberline {\thesection}#1} } % \long\def\titel#1#2{% \par \vskip\titelskip \begin{raggedleft} \large\bf #1 \typeout{titel: #1 (\the\Boxnummer)} \end{raggedleft} \par \penalty10000 \bigskip \penalty10000 \ifx#2\empty \else {\bf #2 \par\medskip}% \fi \global\advance\c@subsection by 1 \addcontentsline{toc}{subsection}% {\protect\numberline {\thesubsection}#1} } % \def\AlleNeu#1{% \ifdim\csname#1vsize\endcsname>0pt \global\setbox\csname#1\endcsname=\vbox to\csname#1vsize\endcsname{% \hbox to\hsize{\hfill}\vfill} \else \global\setbox\csname#1\endcsname=\vbox to-\csname#1vsize\endcsname{% \hbox to\hsize{\hfill}\vfill} \fi } % \def\Satzspiegel#1{% \def\NeuesLayOut{% \ifcase\count0 #1 \else \message{*} \fi \AlleNeu{Eins}% \AlleNeu{Zwei}% \AlleNeu{Drei}% \AlleNeu{Vier}% \AlleNeu{Fuenf}% \AlleNeu{Sechs}% \AlleNeu{Sieben}% \AlleNeu{Acht}% \AlleNeu{Neun}% } } % \def\Seite#1(#2){% \DieseSeite(#2) {\ifnum#1=\count0 \else \typeout{Satzspiegel fuer Seite #1 \space erscheint auf Seite \the\count0!} \fi} } % \let\FootNote=\footnote \def\footnote#1{{\columnwidth=\textwidth \FootNote{#1}}% } % \long\def\Kasten#1#2{% \par\medskip \def\@EinsTest{#1} {% \setbox230=\vbox{\sf #2} \dimen240=\vsize \advance\dimen240 by-\pagetotal \advance\dimen240 by-\medskipamount \advance\dimen240 by-\ht230 \advance\dimen240 by-\dp230 \advance\dimen240 by-3pt \ifdim\dimen240<0pt \typeout{Kasten auf Seite \the\count0 \space in Box \the\Boxnummer \space passt nicht mehr hinein und entfaellt!} \typeout{(Bitte die \string\vsize \space fuer diese Box vergroessern.)} \vfill \else \vbox{\hrule \hbox{\vrule \ifx\@EinsTest\empty \vbox to\dimen240{\advance\hsize by -0.8mm \null\vfill\hbox to\hsize{\hfill}} \else \hskip5mm \vbox{% \advance\hsize by -10.8mm \vskip5mm{}#1 \vskip5mm{}} \hskip5mm \fi \vrule} \hrule} \vskip2pt \box230 \ifx\@EinsTest\empty \eject \else \vfil \fi \fi } } % \gdef\tableofcontents{% \TITEL{\contentsname}{}% \gdef\contentsline##1##2##3{% \def\Testchapter{chapter} \def\Testsection{section} \def\Testsubsection{subsection} \def\Testvergleich{##1} {% \ifx\Testvergleich\Testchapter \bf \else \ifx\Testvergleich\Testsection \else \ifx\Testvergleich\Testsubsection \small \fi \fi \fi ##2 \unskip\nobreak\dotfill\penalty50 \null\nobreak\dotfill~##3 \parfillskip=0pt \finalhyphendemerits=0 \par}% } \gdef\numberline##1{} \begingroup \makeatletter \setbox200=\vbox{\input{\jobname.toc}} \if@filesw \expandafter\newwrite\csname tf@toc\endcsname \expandafter\openout\csname tf@toc\endcsname\jobname.toc\relax \fi \dimen171=\ht200 \divide\dimen171 by 3 \advance\dimen171 by \baselineskip \hbox to\hsize{\hbox to\textwidth{% \vbox{\vsplit200 to\dimen171 \vfill}\hfil \vbox{\vsplit200 to\dimen171 \vfill}\hfil \vbox to\dimen171{\box200 \vfill}% }\hss} \endgroup } % \typeout{threecol[umn].sty } \typeout{ NEUE VERSION! } \typeout{(Dies ist ein spezieller .sty-file fuer dreispaltigen Output!)} % \setlength{\Einheit}{1cm} \columnsep=0.5cm \footskip=1cm %