% Dies ist DREIDOKU.TEX von Lorenz H"olscher
%
% (geringf"ugige "Anderungen von Lutz Birkhahn am 20.10.88)
%
\documentstyle[lorenz,threecolumn]{report} % war vorher article

\hoffset=1cm
\global\dimen\footins=0.5cm
\parindent=0cm
\textwidth=18cm
\textheight=22cm
\footskip=1.5cm
\headsep=0.5cm
\oddsidemargin=-1cm
\evensidemargin=-1cm
\columnsep=0.5cm
\belowdisplayskip=3pt plus 5pt minus 1pt
\abovedisplayskip=\belowdisplayskip
\belowdisplayshortskip=\belowdisplayskip
\abovedisplayshortskip=\belowdisplayskip

\DeutscheHochkommata
\pagestyle{lorenz}{\rm \hrulefill\ Freies Dreispalten-Layout}%
{\rm \dotfill\ Seite \the\count0}
{\rm Benutzungsanleitung \hrulefill}%
{\rm Seite \the\count0\ \dotfill}%

\setlength{\Einheit}{1cm}
\Satzspiegel{%
\or\Seite1(5,0,15/0,0,15/0,0,15)
\or\Seite2(0,0,20/0,0,20/0,0,20)
\or\Seite3(0,4,16/0,-4,16/0,0,20)
\or\Seite4(4.8,-5.2,10/5,-5,10/0,0,15)
\or\Seite5(0,0,20/5,0,15/8,-5.2,1.8)
\or\Seite6(0,15,-5.2/0,15.1,-5/0,14.8,-5)
\or\Seite7(0,0,20/0,0,0/0,0,0)
}
\Bilderspiegel{%
\Bild4(Zwei/Es ist v\"ollig egal, ob das Bild eventuell wie hier
in eine Spalte des Nachbartextes hineinragt. Nur, wenn dort
kein Platz freigelassen wurde, stehen Bild und Text \"ubereinander!
{(Aufruf: {\tt\string\Bild4(Zwei/{\it Text \ldots}/-2)})}/-2)
\Bild5(Acht/Dies ist ein kleines Bild mit Rahmen
{(Aufruf: {\tt\string\Bild5(Acht/{\it Text \ldots}/-1})}/-1)
\Bild6(Drei/Dies ist ein Beispiel f\"ur ein ziemlich unproportioniertes
Bild in Box Drei, das sich \"uber alle drei Spalten erstreckt. Au{\ss}er
in Ausnahmesituationen wird es sich wohl vor allem dazu eignen, ganzseitige
Bilder {(}mit dem entsprechenden Seiten-Layout{)} zu erzeugen. Bitte
bei diesem Bild insbesondere den Gebrauch der runden Klammern beachten!
{(Aufruf: {\tt\string\Bild6(Drei/{\it Text \ldots}/-3)})}/-3)
}

\begin{document}
\everypar={\pretolerance=-10}

\TITEL{Freies Dreispalten-Layout}{Dieses Makro enth\"alt eine
Output-Routine, die es erm\"oglicht, nicht nur ein dreispaltiges
Seiten-Layout zu erzeugen, sondern dieses auch noch wahlweise
auf jeder Seite zu \"andern und insbesondere an bestimmten Stellen
freien Platz f\"ur Illustrationen o.\"a.\ zu lassen.}%
Das Konzept dieser Output-Routine besteht darin, eine Seite in
3~Spalten \`a 3~Boxen zu zerlegen, deren jeweilige H\"ohe f\"ur jede
Seite neu angegeben werden kann. Dabei gehe ich von der Tatsache
aus, da{\ss} nur sehr selten bei Layouts im DIN-A-4-Format eine
Spalte mit zwei Bildern {\em und\/} zwei Textbl\"ocken belegt
ist. Ein solcher Sonderfall wird weiter unten behandelt.\par
\vfill
\medskip
\setlength{\unitlength}{1cm}
\begin{picture}(5,7.5)
\put(0,0){\framebox(5,7.5){}}
\put(0.8,0.5){\framebox(1,2){3}}
\put(2,0.5){\framebox(1,2){6}}
\put(3.2,0.5){\framebox(1,2){9}}
\put(0.8,2.6){\framebox(1,2){2}}
\put(2,2.6){\framebox(1,2){5}}
\put(3.2,2.6){\framebox(1,2){8}}
\put(0.8,4.7){\framebox(1,2){1}}
\put(2,4.7){\framebox(1,2){4}}
\put(3.2,4.7){\framebox(1,2){7}}
\end{picture}\par
\medskip
Die prinzipielle Aufteilung einer Seite sieht so aus wie in diesem
Bild dargestellt: Die Boxen sind von oben nach unten und von links nach
rechts durchnumeriert. Dabei brauchen sie nicht die gleiche H\"ohe
zu haben, lediglich die gleiche Breite (\verb+\hsize+).\par
Eine ausf\"uhrlichere Beschreibung der tats\"achlichen \verb+\output+-%
Routine steht weiter unten.\par
Es ist leider unvermeidlich, da{\ss} eine so komplexe Sache wie ein
solches Layout auch einigerma{\ss}en aufwendige Eingabestrukturen
ben\"otigt. Im Gegensatz zu \LaTeX\ kann also nicht fr\"ohlich
drauflosgeschrieben werden mit ungef\"ahren Tips, was eventuell wo
plaziert werden k\"onnte (wie etwa die {\it picture\/}-Umgebung),
sondern es bedarf einer handfesten Planung wie eben auch beim
richtigen Layout solcher Seiten. \par
Daf\"ur steht anschlie{\ss}end auch eine Seitengestaltung, die es
in der Sauberkeit der Montage mit jedem geklebten Layout aufnehmen kann
und im Trennalgorithmus bzw.\ der Schriftqualit\"at allemal
die vielen WYSIWYG\footnote{What You See Is What You Get (hopefully)}-Systeme
schl\"agt.\par

\titel{Aufruf}%
{Die hier vorgestellte 3-Spalten-Output-Routine
ist in einem {\tt .sty}-file mit dem
Namen {\tt three}\-{\tt col[umn].sty} enthalten und wird als eine
Option des {\tt \string\document}\-{\tt style} geladen.}
Der Aufruf f\"ur\vphantom{y}
diese Dokumentation lautet also:\par
\medskip
{\footnotesize
\verb+\documentstyle%+\hfill\break
\verb+  [lorenz,threecolumn]{article}+\par
}\medskip
Anschlie{\ss}end werden die gleichen Voreinstellungen wie bei
\LaTeX\ vorgenommen, insbesondere die Satzspiegelbreite
({\tt \string\textwidth}) und die H\"ohe
({\tt \string\textheight}). Dabei sollte die Textbreite -- die
die gesamte Breite aller drei Spalten inclusive den
Spaltenabst\"anden ({\tt \string\columnsep})
bezeichnet -- vergleichsweise gro{\ss} sein,
weil sonst Unsch\"onheiten im Zusammenhang mit dem Trennalgorithmus
auftauchen.\par
Die Texth\"ohe legt vor allem den Abstand zwischen
Kopf- und Fu{\ss}zeile fest und sollte nat\"urlich gr\"o{\ss}er
sein als die Summe dreier \"ubereinanderliegender Boxen, andernfalls
erscheint lediglich eine Warnung, und der Text \"uberschneidet sich
mit der Kopfzeile.\par

\titel{Festlegung des Layouts}{Die Arbeitsweise dieses
{\tt .sty}-files orientiert sich am \"ublichen Arbeiten mit Papier-Layouts,
es wird also erst der "Rahmen" und anschlie{\ss}end der Text festgelegt.}
Der Seitenspiegel mu{\ss} f\"ur jede Seite neu angegeben werden, wenn
er nicht der vorangegangenen Seite entspricht, denn nach \"Uberschreiten
der letzten definierten Seite wird deren Satzspiegel bis zum Ende des
Dokumentes wiederholt. Dabei bedeutet eine positive Gr\"o{\ss}enangabe,
da{\ss} ein Textblock mit dieser H\"ohe erzeugt wird, w\"ahrend
die negative Gr\"o{\ss}enangabe eine leere Box erzeugt (also Platz
f\"ur ein Bild in der H\"ohe des Betrags davon schafft).\par
Der Satzspiegel wird wie folgt {\em vor \verb+\begin{document}+}
vereinbart:
{\footnotesize
\begin{verbatim}
\setlength{\Einheit}{1cm}
\Satzspiegel{
\or\Seite1(5,0,15/0,0,15/0,0,15)
\or\Seite2(0,0,20/0,0,20/0,0,20)
\or\Seite3(0,4,16/0,-4,16/0,0,20)
\or\Seite4(4.8,-5.2,10/%
  5,-5,10/0,0,15)
\or\Seite5(0,0,20/5,0,15/8,-5.2,1.8)
\or\Seite6(0,15,-5/0,15,-5/0,15,-5)
\or\Seite7(0,0,20/0,0,0/0,0,0)
}
\end{verbatim} }
Dies ist der angegebene Satzspiegel f\"ur die vorliegende
Dokumentation.
Die allgemeine Form f\"ur den Satzspiegel ist\par
\medskip
{\footnotesize
\verb+\Satzspiegel{+\par
\verb+\or\Seite+{\it Seitenzahl{\tt(}a{\tt,}b{\tt,}c{\tt/}%
d{\tt,}e{\tt,}f{\tt/}g{\tt,}h{\tt,}i{\tt)}}\par
$\vdots$\par
\verb+}+\par}
\medskip
Dabei haben die Parameter diese Bedeutung:
\begin{description}
\item[{\it Seitenzahl}] gibt an, auf welcher Seite das
folgende Layout gilt. Sie bezieht sich auf \verb+\count0+ oder
\verb+\thepage+ in \LaTeX. Alle Seitenzahlen m\"ussen in der
richtigen Reihenfolge stehen.\par
Es ist sehr wichtig und leider unvermeidlich, da{\ss} vor
jeder neuen {\tt \string\Seite} das {\tt \string\or} steht, ansonsten
erscheint direkt vor Erstellen der ersten Seite ein Sternchen (wie
\"ubrigens auch
nach der letzten definierten Seite).
Dies bedeutet, da{\ss} f\"ur diese Seite kein neues Layout
vorgesehen ist und das vorangegangene erhalten bleibt%
\footnote{Das "vorangegangene" war aber noch nicht vereinbart,
so da{\ss} alle Boxen die H\"ohe 0cm haben und die
Seiten also leer sind!}.\par
\item[{\it a \ldots\ i}] geben die H\"ohen der jeweiligen Boxen
in Vielfachen von \verb+\Einheit+ an. {\it a} ist also die H\"ohe von
Box Eins, {\it b} von Box Zwei usw., wenn diese Boxen Text enthalten
sollen.  Wenn sie leer bleiben sollen, ist die hier angegebene
H\"ohe $\leq0$, eine negative H\"ohe l\"a{\ss}t Platz in der
Gr\"o{\ss}e des Betrags frei.\par
Soll also ein Bild auf Seite~3 in Box  Eins
3.5~cm hoch sein, hei{\ss}t der Aufruf\par
{\footnotesize
\verb+\setlength{\Einheit}{1cm}+\hfill\break
\verb+\Satzspiegel{+\hfill\break
$\vdots$\hfill\break
\verb+\or\Seite3(-3.5,+\ldots\hfill\break
$\vdots$\hfill\break
\verb+}+\par}
Dabei m\"ussen immer alle Kommata, Klammern und Schr\"ag\-stri\-che
richtig angegeben werden, sonst meldet \TeX\ ein "runaway argument"
oder \"ahnliches.
\end{description}
Die Befehle entsprechen m\"og\-lichst weitgehend denen von
\LaTeX, damit Dateien bei Bedarf einfach \"ubertragen werden
k\"onnen. So wird die Einheit, in der alle Gr\"o{\ss}enangaben
erfolgen, ebenfalls mit \verb+\setlength+ festgelegt. Allerdings
hei{\ss}t die Einheit f\"ur den Satzspiegel {\tt \string\Einheit},
um Kollisionen mit eventuellen {\it picture}-environments zu
vermeiden.\par
Auch wird eine neue Seite mit {\tt \string\newpage} begonnen.
Es sind nat\"urlich noch lange nicht alle Befehle
von \LaTeX, die Einflu{\ss} auf die Output-Routine
nehmen, eingebaut\footnote{Siehe dazu am Ende}.  \par
Die \"Uberschrift selber sitzt im oben dargestellten
Satzspiegel f\"ur diese Dokumentation auf Seite~1
in Box Eins und \"uberschreibt von dort aus einfach die beiden
benachbarten Boxen Vier und Sieben, die deshalb mindestens in gleicher
H\"ohe leer gelassen werden m\"ussen. Au{\ss}erdem mu{\ss}
die Gesamth\"ohe der darunterliegenden Boxen ebenfalls mit
derjenigen unter der Titelbox \"ubereinstimmen, in diesem Fall
mu{\ss} also gelten:\par
{\small
$$ h_{Box~3}=h_{Box~6}=h_{Box~9} $$
und
$$ h_{Box~1}~\leq ~\mid h_{Box~4}\mid$$
und
$$ h_{Box~1}~\leq ~\mid h_{Box~7}\mid $$
}%
Es ist sinnvoll, nicht ben\"otigte Boxen (H\"ohe = 0{\tt\string\Einheit})
am oberen Ende einer Spalte zu "lagern", denn sie haben einen kleinen
Abstand zu ihren dar\"uber- bzw.\ darunterliegenden Nachbarinnen.
Wenn beispielsweise auf einer Seite das folgende Layout
vereinbart w\"urde:\par
\medskip
{\footnotesize
\verb+\or\SeiteX(7,-7,7/21,0,0/7,-7,7)+\par
\medskip
}%
w\"aren die Spalten mit dem Text nicht auf einer gemeinsamen
Grundlinie, sondern die mittlere Spalte etwas h\"oher. Die
richtige M\"oglichkeit w\"are hier:\par
{\footnotesize
\medskip
\verb+\or\SeiteX(7,-7,7/0,0,21/7,-7,7)+\par
\medskip
}%
Also k\"onnte der obige Satzspiegel f\"ur Seite~1 auch hei{\ss}en:\par
\medskip
{\footnotesize
\verb+\or\Seite1(0,5,15/0,0,15/0,0,15)+\par
\medskip}
Das w\"urde ebenso funktionieren und den winzigen Leerraum zwischen
Box~1 und den Boxen~3, 6 und 9 vermeiden.\par

\Titel{Einf\"ugen von Bildern}{Es ist m\"oglich, durch
Festlegung von Boxnummer, Seitenzahl und Inhalt ganz gezielt
einzelnen Bildern bzw.\ deren Bildunterschriften bestimmte
Pl\"atze im Layout zuzuweisen.}
Dabei wird genauso wie f\"ur das Layout {\it vor} dem
gesamten Text f\"ur jede Seite festgelegt, ob und wo dort
ein Bild mit Rahmen und eventueller Bild\-un\-ter\-schrift
eingef\"ugt werden soll.\par
Der Aufruf erfolgt entsprechend mit\par
\medskip
{\footnotesize
\verb+\Bilderspiegel{+
\verb+\Bild+{\it Seite\/}\verb+(+{\it Boxname\/}\verb+/+{\it Bildtext\/}%
\verb+/+{\it Breite bzw.\ Rahmen\/}\verb+)+\par
\verb+}+\par  }
\medskip
Dabei kann die {\it Seite\/} jede positive, ganze Zahl sein (wenn
das Dokument weniger Seiten hat, wird sie ignoriert). {\it Boxname\/}
ist die Angabe, in welcher Box das Bild stehen soll, und ist eine
mit gro{\ss}em Anfangsbuchstaben geschriebene Zahl von {\tt Eins} \"uber
{\tt Fuenf}(!) bis {\tt Neun}.\par
{\it Bildtext\/} ist eine m\"ogliche
Bildunterschrift, die immer unter dem Bild im {\it paragraph modus\/}
in passender ein- oder mehrspaltiger Breite steht. Die Schrift-Voreinstellung
daf\"ur ist \verb+\sf+, dies kann nat\"urlich in dem Argument noch einmal
ge\"andert werden.\par
{\it Breite bzw.\ Rahmen\/} ist eine ganze Zahl von {\tt -3} (incl.)
bis {\tt 3} (incl.).\par
Diese gibt an, \"uber wieviele Spalten das
Bild (und also auch der Text) gehen soll, und ob es mit einem Rahmen
versehen werden soll (dann ist die Zahl negativ).\par
Der Rahmen selber wird in seinen Dimensionen begrenzt durch
folgende Bedingungen:
\begin{itemize}
\item Von der H\"ohe der entsprechenden Box wird die H\"ohe der
Bild\-un\-ter\-schrift abgezogen.
\item Zwischen Rahmen und Bildunterschrift wird etwas Platz
gelassen (2pt).
\item Damit der Rahmen nicht gegen den benachbarten Text st\"o{\ss}t,
wird zu allen Nachbarboxen ein kleiner Abstand eingehalten. Also
reicht der Rahmen nur bei den Boxen Eins, Vier und Sieben nach oben
und (ohne Text) bei den Boxen Drei, Sechs und Neun nach unten bis
an die Grenze der umschlie{\ss}enden Box.
\end{itemize}
Die Angabe {\tt 0} als {\it Breite\/} ist Unsinn\footnote{Warum wohl?}
und wird ignoriert; Zahlen, deren Betrag gr\"o{\ss}er ist als~4 auch.\par
Falls die angegebene Box nicht frei ist (d.h.\ ihre im Satzspiegel
angegebene H\"ohe ist gr\"o{\ss}er als \verb+0\Einheit+),
erscheint eine Fehlermeldung mit
Angabe von Seite und Boxnummer, und es passiert nichts.\par




\titel{Titel-Aufruf}%
{Um jeweils angeben zu k\"onnen, welche Form der \"Uberschrift
gew\"unscht wird, gibt es drei Versionen des Makros f\"ur den
Titel.}%
Entsprechend ihrer Wirkung haben sie die Form \verb+\TITEL+,
\verb+\Titel+ oder \verb+\titel+ mit jeweils zwei Argumenten
in geschweiften Klammern. Dabei enth\"alt das erste Argument
den Titeltext (Befehle wie \verb+\break+ sollten dringend
mit \verb+\protect+ versehen werden!) und das zweite den
Text f\"ur den ersten, fettgedruckten Absatz.\par
Der \verb+\TITEL{+{\it Titel\/}\verb+}{+{\it Absatztext\/}\verb+}+
breitet sich \"uber alle drei Spalten aus und
kann nur auf einer neuen Seite anfangen. Falls er mittendrin
aufgerufen wird, wird die laufende Seite beendet und mit
Leerraum aufgef\"ullt.\par
Der \verb+\Titel{+{\it Titel\/}\verb+}{+{\it Absatztext\/}\verb+}+
darf entweder in der ersten oder der vierten Box erscheinen, weil
er immerhin noch zwei Spalten breit ist und sonst ja \"uber den rechten
Rand schreiben w\"urde. Wird er irgendwo in der ersten Spalte
aufgerufen, beendet er diese mit Leerraum und beginnt am Anfang
der zweiten Spalte, andernfalls verh\"alt er sich wie \verb+\TITEL+.
\par
Bei beiden Befehlen ist es egal, ob die n\"achstfolgende Box Eins bzw.\
Box Vier \"uberhaupt eine H\"ohe gr\"o{\ss}er als 0\verb+\Einheit+ hat,
der Text wird solange weitergereicht, bis die H\"ohe f\"ur den
Titelsatz ausreicht. Wenn in der zweiten Spalte also beispielsweise
die Angaben {\tt (.../0,4,16/...)} stehen, versucht die \verb+\output+%
-Routine, den \verb+\Titel+ in Box Fuenf zu schreiben. Sollte der Titeltext
hierf\"ur aber zu gro{\ss} sein, steht er pl\"otzlich ganz unten in
der zweiten Spalte (und \"uberschreibt also den folgenden
Text in der dritten Spalte), weil er in Box Sechs gelandet ist.\par
Der \verb+\titel{+{\it Titel\/}\verb+}{+{\it Absatztext\/}\verb+}+
hat alle diese Probleme nicht, denn er h\"alt sich brav an die laufende
\verb+\hsize+ und kann also an beliebiger Stelle stehen.\par
Um nicht jedesmal einen Preview-Blick auf das Ergebnis werfen zu
m\"ussen oder gar einen teuren Drucker zu bem\"uhen, werden die
jeweiligen Titel mit den Boxnummern ihres
Erscheinens schon w\"ahrend
der Formatierung angezeigt. So l\"a{\ss}t sich im Vergleich mit dem
geplanten Layout so lange an den Dimensionen der Box t\"ufteln, bis
alle an der richtigen Stelle erscheinen.\par
In einem Fall, wie auf Seite~5 dieser Benutzungsanleitung, wo ein
k\"urzer Text vor einem zweispaltigen Titel genau auf der letzten
Zeile der ersten Spalte enden soll, kann dieser durch\par
\medskip
\verb+\vfill+\hfill\break
\verb+\titel{Parameter}{+{\it Absatztext\/}\verb+}+\par
\medskip
nach unten geschoben werden, wenn er nicht ohnehin schon
die L\"ange der Spalte \"uberschreitet.\par
Falls ein Text k\"urzer ist und eben mit
einem Bild aufgef\"ullt werden soll, mu{\ss} dieses im Flie{\ss}text
stehen und mit dem Befehl \par
\medskip
{\footnotesize
\verb+\Kasten{+{\it Innen\/}\verb+}{+{\it Au{\ss}en\/}\verb+}+\par
\medskip}
aufgerufen werden. Dabei kann wahlweise ein {\it Innen\/}text, der
dann im Kasten steht und umrahmt wird, oder ein {\it Au{\ss}en\/}text,
der dann als \"ubliche Bildunterschrift einspaltig mit \verb+\sf+
unter dem Kasten erscheint, angegeben werden. Ein Beispiel dazu
findet sich weiter hinten.\par

\Titel{Zusammenarbeit mit der {\tt\string\output}-Routine}%
{Um gezielt und effektiv mit dem Dreispalten-Satz arbeiten zu k\"onnen,
ist es notwendig, das Konzept dieser {\tt \string\output}-Routine zu kennen
und zu wissen, wie und wo sie beeinflu{\ss}t werden kann.}
Genau wie \LaTeX\ erstellt diese Routine aus einem
Teilst\"uck des Dokumententextes eine \verb+\vbox+, deren Dimensionen
durch \verb+\textwidth+ und \verb+\textheight+ festgelegt werden.\par
Aber im Gegensatz dazu wird nicht jede Box mit immer gleicher H\"ohe
als eigene Seite (bzw.\ im \verb+twocolumn.sty+ als eine von zwei
Spalten) betrachtet, sondern vor der Formatierung jeder neuen Box
wird die H\"ohe entsprechend der Vorgabe ge\"andert.\par
Jeweils 9~Boxen
werden zwischengespeichert und schlie{\ss}lich gemeinsam auf einer
einzigen Seite ausgegeben.\par
Erst w\"ahrend der \verb+\output+-Routine wird gepr\"uft, ob und f\"ur welche
Box Bilder vorgesehen sind. Wenn auf der laufenden Seite Bilder
angegeben sind und die entsprechende Box auch tats\"achlich eine H\"ohe
kleiner als \verb+0\Einheit+ hat, wird diese einfach mit der neuen
Bilderbox \"uberschrieben.\par
Damit die \verb+\output+-Routine wei{\ss}, welche Box gerade formatiert
wird, wird eine \verb+\Boxnummer+ hochgez\"ahlt und f\"ur jede neue
Seite wieder auf~1 zur\"uckgesetzt. Soll Text ganz gezielt in eine
bestimmte Box geschrieben werden, so kann durch \verb+\eject+ von
einer in die folgende Box weitergeschaltet oder durch die Angabe\par
\medskip
\verb+\vfill\eject+\par
\verb+\global\Boxnummer=+$<Zahl>$\par
\medskip
mit einer {\it Zahl\/} von 1 bis 9 der folgende Text in einer
bestimmten Box starten. \par
Mit solchen massiven Eingriffen ist nat\"urlich keine \TeX-interne
Kontrolle mehr dar\"uber m\"oglich, da{\ss} alles richtig abl\"auft.
Wenn in dieser Box schon etwas steht, wird es \"uberschrieben, wenn
die Box eine negative H\"ohe hat, wandert der Text in die Folgebox.\par
Soll Text an einer ganz bestimmten Stelle stehen, empfiehlt es sich
daher, stattdessen lieber ein "Bild" zu erzeugen mit dem \verb+\Bild+-%
Makro, dessen {\it Bildtext\/} ja entsprechend der Box\-gr\"o{\ss}e
recht lang und bei Bedarf auch in \verb+\rm+ sein kann.\par

\titel{Parameter}%
{Wie es sich f\"ur einen \LaTeX-{\tt sty}-File geh\"ort, gibt es auch
bei diesem eine Unmenge an Parametern, mit denen sich die Ausgabe
ver\"andern l\"a{\ss}t.}
Allen voran nat\"urlich alle bei \LaTeX\ sowieso \"ublichen Parameter
von \verb+\textheight+
\"uber \verb+\columnsep+ bis hin zu \verb+\medskipamount+. Dazu kommen
noch einige wenige, die zwar noch existieren, aber keinen Einflu{\ss}
mehr auf das Layout aus\"uben, wie etwa \verb+\marginparsep+ (siehe
"Einschr\"ankungen").\par
Wirklich neu sind nur:\par\medskip
\verb+\Einheit+ und\par
\verb+\dimen\footins+\par\medskip
\verb+\Einheit+ wurde schon unter "Festlegung des Layouts"
beschrieben und \verb+\dimen\footins+ gibt an, wieviel H\"ohe
den Fu{\ss}noten unter den drei Spalten zugestanden wird.
Dieser Platz mu{\ss} kleiner sein als \verb+\footskip+ minus
der H\"ohe der laufenden Fu{\ss}zeile, denn sonst stehen die
Texte ineinander.\par
Es ist nicht wirklich effektiv m\"oglich, diesen Wert automatisch
festzulegen, denn die Fu{\ss}zeile kann je nach Seite
in der H\"ohe schwanken, so da{\ss} jedesmal aufwendige Vergleichs%
rechnungen n\"otig w\"aren. \par
Die Voreinstellung ist eine H\"ohe von
{\tt 0.5cm} f\"ur Fu{\ss}noten und empfiehlt einen (bereits
voreingestellten) \verb+\footskip+
von mindestens 1cm. Eine \"Anderung erfolgt mit\par\medskip
{\footnotesize
\verb+\global\dimen\footins=+$<Dimension>$\par\medskip
}
und mu{\ss} nat\"urlich mindestens so gro{\ss} sein wie eine einzige
Zeile hoch ist. Wenn die Fu{\ss}note nicht vollst\"andig dort
hineinpa{\ss}t, wird der Rest automatisch mit auf die Folgeseite
genommen.\par
\eject

\Titel{Einschr\"ankungen}{Da viele der Befehle von \LaTeX\
Einflu{\ss} auf die Output-Routine nehmen, seien einige
der Befehle ausdr\"ucklich erw\"ahnt, die {\em nicht\/}
mehr funktionieren\footnote{Sie werden entweder ignoriert
oder erzeugen sogar Fehlermeldungen.}.}
Im Gegensatz zu {\tt \string\footnote} funktionieren nicht mehr:\par
\medskip
\begin{quote}
\rm
{\em figure\/}-environment \\
{\em table\/}-environment \\
{\tt \string\tableofcontents} \\
{\tt \string\chapter} \\
{\tt \string\section} \\
{\tt \string\marginpar} \\
u.\"a. \\
\end{quote}\par
Das liegt z.B. bei {\tt \string\chapter} etwas an der n\"otigen
Schreibarbeit, aber vor allem an der Notwendigkeit, im Gegensatz zu
\LaTeX\ vorher angeben zu m\"ussen, ob der Titel die benachbarten
Boxen \"uberschreiben darf (was diese Output-Routine ja nicht
entscheiden oder gar beeinflussen kann).\par
Im Gegensatz dazu ist es bei {\tt \string\marginpar} auch sinnlos,
diesen Befehl einzubauen, denn an
welchen Rand soll eine Randbemerkung
in einer mittleren Spalte geschrieben werden?\par
Der schon angek\"undigte Sonderfall, da{\ss} in einer Spalte doch einmal
mehr als nur die drei Boxen vorkommen sollen, ist auf dieser Seite
gezeigt: In der rechten Spalte stehen der Titel, eine Textbox,
ein Bild und darunter noch eine Textbox. Hier sind einfach die
Boxen Sieben, Acht und Neun gemeinsam so hoch wie die Box Sechs
daneben alleine.\par
Die Tatsache, da{\ss} bei einem Bild mit Rahmen zu den benachbarten Boxen
ein kleiner Abstand gelassen wird und der Rahmen selbst je nach
H\"ohe der Bildunterschrift schrumpft, f\"uhrt dazu, da{\ss} sich
die tats\"achliche H\"ohe des Rahmens vorher nicht so genau berechnen
l\"a{\ss}t.\par
Das Bild auf Seite~4 w\"are also normalerweise in einer Box~2, deren
Oberkante auf gleicher H\"ohe mit der von Box~9 l\"age. Um aber
die obere Linie des Rahmens auf gleiche H\"ohe mit der Box~9 zu
bekommen, mu{\ss} die Box~2 um den Wert des kleinen Abstands
vergr\"o{\ss}ert werden, also etwa 2mm (siehe dokumentierten
Satzspiegel!).\par
\"Ahnlich verh\"alt es sich mit einem scheinbaren Fehler, wie er auf dieser
Seite zu sehen ist: Der Text von Box~9 endet unten nicht in gleicher
Linie mit der benachbarten Box~6, obwohl die H\"ohenangaben stimmen. Das
liegt an den kleinen Abmessungen der Box~9, wo \TeX\ keine Chance mehr
hat, durch ausreichend angesammelten \verb+\glue+-Anteil einen
senkrechten Zeilenausgleich vorzunehmen.\par
Da die runden Klammern und der Schr\"agstrich ({\it slash\/})
f\"ur \verb+\Bild+ als Trennzeichen bei der
Makroeingabe erforderlich sind, k\"onnen sie nicht einfach in der
Bildunterschrift benutzt werden. \TeX\ w\"urde
die erste rechte, runde Klammer als Ende des Argumentes betrachten
bzw.\ alles nach dem Schr\"agstrich dem zweiten Argument zuweisen.
Um diese dennoch im normalen Text benutzen zu k\"onnen, m\"ussen sie
lediglich in geschweiften Klammern "versteckt" werden, also
\verb+{/}+, \verb+{(}+ usw. \par

\titel{Ausblick}%
{Nat\"urlich steht dieses Makro erst am Anfang seiner Entwicklung
und braucht noch einige Erg\"anzungen.}
Dazu z\"ahlt beispielsweise die Zusammenarbeit mit dem automatischen
Inhaltsverzeichnis von \LaTeX\ und die M\"oglichkeit, au{\ss}er
einem Rahmen um das Bild auch von \TeX\ aus etwas dort hineinschreiben
oder -malen zu k\"onnen.\par
Vielleicht l\"a{\ss}t sich ja auch die
{\it picture}-Umgebung mit meinen Bildern kombinieren,
wenn mir jemand sagt, nach welcher Auswahl?\par
Nicht sinnvoll ist es meiner Ansicht nach in diesem Zusammenhang,
Texte so zu formatieren, da{\ss} sie beispielsweise in zwei oder
drei gleichlange Spalten geteilt und an\-schlie{\ss}end an einer
bestimmten Stelle plaziert werden. Daf\"ur braucht es eine v\"ollig
andere \verb+\output+-Routine, wie sie etwa im TUGboat, Vol.~6 (1985),
No.~2 von August Mohr beschrieben ist.\par
\vfill

\Kasten{Wenn in einem {\tt\string\Kasten} das erste {\it Innen\/}-%
Argument etwas enth\"alt, wird die L\"ange des Kastens {\bf nicht}
mehr nach dem \"ubrigen freien Platz in der laufenden Box
gew\"ahlt, sondern richtet sich nach dem Inhalt! Andernfalls w\"urde
der Kasten ja nicht f\"ur einfache Umrahmungen taugen. Soll trotzdem
Platz gelassen werden, mu{\ss} dieser mit {\tt\string\vskip}
ausdr\"ucklich angegeben werden.}{Ein Beispielkasten mit
Text drinnen und darunter.}
\eject

\Kasten{\hbox to\hsize{\bf \hrulefill\ Impressum \hrulefill}\par
Diese Dokumentation und der dazugeh\"orige {\tt .sty}-file
wurden erstellt von Lorenz H\"olscher am Institut Proze{\ss}rechner
CYBER~815 am \today.\par
\footnotesize
Die Makros entsprechen der Version 1.0 und sind
ver\-st\"and\-li\-cher\-wei\-se
noch nicht mit allen Feinheiten ausgetestet. Daher l\"a{\ss}t
es sich vielleicht nicht immer vermeiden, mit {\it dirty tricks\/}
auf die {\tt\string\output}-Routine einzuwirken, damit das ge\-w\"unsch\-te
Ergebnis erscheint. Ich bitte, dies als Kinderkrankheiten einer
so umfangreichen Outputroutine hinzunehmen und mir entsprechende
Verbesserungen vorzuschlagen.}{}

\Kasten{}{Mit diesem Kasten f\"ulle ich einfach bis zum Ende der Box,
damit das Listing sch\"on oben auf der folgenden Seite beginnt.}

\end{document}
