\chapter{\dvi-Bildschirmtreiber}
Der Bildschirmtreiber \dvi\ ist momentan auf dem Atari~ST f"ur
Standard-{\sc Gem}-Fenster (auch Gro"sbildschirme), auf
Workstations unter X11/Motif, auf Apollo Workstations unter {\tt GPR},
auf dem Commodore {\sc Amiga} ab {\sc Amiga OS~2.04}, sowie auf
dem IBM~PC mit g"angiger Grafikkarte implementiert.
F"ur alle Systeme werden Zeichens"atze der Auf\/l"osung $101\times 101$ dpi
empfohlen, jedoch sind nat"urlich auch andere Auf\/l"osungen problemlos
m"oglich.

\section{DVI {\sc Gem}-Version, Atari}\label{lagemvers}
Die {\sc Gem}-Version von \dvi\ ist fast durchg"angig per Maus bequem zu
bedienen. Die ge\-w"unsch\-ten
Optionen werden mit den {\sc Gem}-typischen Drop-Down-Menus mit Hilfe der Maus
eingestellt und k"onnen auch in einer Parameterdatei gespeichert werden.
Der Aufruf von {\tt DVI.PRG} ist wie folgt:

\begin{compout}
dvi [-o<optionfile>] [dvifile] [optionfile]
\end{compout}

Alle Parameter sind optional, da auch interaktiv "uber Men"us einstellbar.
Falls jedoch Parameter angegeben werden, ist die Reihenfolge zwingend
vorgeschrieben. Wenn erw"unscht, m"ussen Optionen --- durch ein
\cstok{-}-Zeichen eingeleitet --- zuerst angegeben werden. Danach k"onnen
ein oder zwei Dateinamen folgen, wobei der erste immer als Name der zu
bearbeitenden {\tt .DVI}-Datei angesehen wird. Ein zweiter Dateiname
wird als Name einer Optionsdatei interpretiert. Bei Dateinamen werden
fehlende Extensionen {\tt .DVI} bzw.\ {\tt .DVO} automatisch erg"anzt.
Als Option steht momentan nur {\it -o\/} zur Verf"ugung. Danach mu"s ein
Dateiname einer Optionsdatei angegeben werden, der nicht durch ein
Leerzeichen von der Option getrennt sein darf. Alle anderen Optionen
werden ignoriert!

Falls eine Optionsdatei sowohl "uber {\it -o\/} als auch dem
{\tt .DVI}-Dateinamen folgend angegeben wird, hat letztere Datei den
Vorrang. Die Einstellungen der mit {\it -o\/} angegebenen Datei werden
nicht "ubernommen.

Der Arbeitsbildschirm von \dvi\ ist in Bild~\ref{ldvi} zu sehen.

\begin{figure}[htbp]\centering
\centerline{\includegraphic{dviscr}}
\caption{Der Arbeitsbildschirm von \dvi}\label{ldvi}
\end{figure}

Der Bildschirm enth"alt die Men"uleiste zum Einstellen der Optionen und
ein Fenster zum Anzeigen von Meldungen. Die einzelnen Eintr"age der
Men"uleiste werden nachfolgend erkl"art, auch wenn eigentlich alle
Eintr"age noch bei der Kommandozeilenversion in Abschnitt~\ref{kdover}
ausf"uhrlich erkl"art werden.

\subsection[Der Desk Titel]{Der {\bf Desk} Titel}
\begin{tabular}{|l|}
\hline
About DVI \dots \\
\hline
accessory 1 \\
accessory 2 \\
accessory 3 \\
accessory 4 \\
accessory 5 \\
accessory 6 \\
\hline
\end{tabular}

\marginlabel{About DVI \dots }
Druckt das obligatorische Formular mit Informationen "uber \dvi.

\marginlabel{Accessories}
{\sc Gem} unterst"utzt bis zu 6 im Hintergrund wartende Programme, die sich "uber
die Accessory-Eintr"age aktivieren lassen. Siehe auch Anhang~\ref{ldisplay}.

\subsection[Der File Titel]{Der {\bf File} Titel}
\begin{tabular}{|lr|}
\hline
Choose DVI&\tt\ [C]\\ 
\hline
Load Options&\tt\ [L]\\
Save Options&\tt\ [S]\\
\hline
Logfile&\\
Quit&\tt\ [Q]\\
\hline
\end{tabular}

\marginlabel{Choose DVI}
Durch Anklicken dieses Men"upunktes oder Dr"ucken der \cstok{C}-Taste
wird eine Dateiauswahlbox zum W"ahlen der DVI-Datei angezeigt. Alternativ
kann der Dateiname auch bei Aufruf in der Kommandozeile "ubergeben werden.

\marginlabel{Load Options}
Dieser Men"utitel bzw.\ die \cstok{L}-Taste bringen eine Dateiauswahlbox
zum W"ah\-len einer Optionsdatei zur Anzeige. Optionsdateien von \dvi\ erkennt
man an der {\tt *.DVO} Endung. Die Standardoptionen sollten
in der Datei {\tt DVI.DVO} gespeichert sein. Diese Optionsdatei wird beim Starten
von \dvi\ automatisch geladen, wenn keine Optionsdatei "uber die
Kommandozeile "ubergeben wurde und sollte zweckm"a"sigerweise die
Bildschirmoptionen enthalten. Bei einigen speziellen Namen von Optionsdateien
kann man sich das Anw"ahlen "uber Men"u ersparen. Die Optionsdateien
{\tt F1.DVO}--{\tt F10.DVO} k"onnen direkt durch Dr"ucken der Tasten
\cstok{F1}--\cstok{F10} geladen werden.

\marginlabel{Save Options}
Durch diesen Eintrag bzw.\ durch Dr"ucken der \cstok{S}-Taste wird eine Dateiauswahlbox
zum W"ahlen des Dateinamens der zu speichernden Optionsdatei angezeigt.
Alle aktuellen Optionseinstellungen werden in diese Optionsdatei gespeichert.

\marginlabel{Logfile}
Alle Meldungen, die im Meldungsfenster erscheinen, k"onnen mittels dieser
Option in eine Datei geschrieben werden, die mittels einer Dateiauswahlbox
ausgew"ahlt wird.

\marginlabel{Quit}
Anklicken dieses Eintrags bzw.\ Dr"ucken von \cstok{Q} beendet das Programm.

\subsection[Der Print Titel]{Der {\bf Print} Titel}
\begin{tabular}{|lr|}
\hline
Next Page & \tt\ [N]\\
Previous Page & \tt\ [P]\\
Format from & \tt\ [F]\\
\hline
Cycle Windows & \tt\ [W]\\
\hline
Lower Limit&\ $\hat{\phantom{x}}${\tt L}\\
Upper Limit&\ $\hat{\phantom{x}}${\tt U}\\
\hline
Magnification&\ $\hat{\phantom{x}}${\tt M}\\
Copies&\ $\hat{\phantom{x}}${\tt C}\\
\hline
\end{tabular}

\marginlabel{Next Page}
Anklicken dieses Eintrags bzw.\ Dr"ucken von \cstok{N} startet den
Aufbau der ersten bzw.\ n"achsten Bildschirmseite in einem eigenen
Fenster. Nach evtl.\ l"angerer Wartezeit --- bedingt durch
Grafikoperationen, die sehr rechenintensiv sind ---
erscheint die Seite im Grafikfenster. Gleichzeitig wird ein Meldungsfenster
ge"offnet, in dem entsprechend den eingestellten Optionen diverse Operationen
wie bearbeitete Seite, Laden und Auslagern von Zeichens"atzen, Anfordern
und Freigeben von Speicher, etc.\ protokolliert werden. Beim Aufbau der
Grafikseite wird dieses Fenster automatisch sichtbar gemacht und nach
Aufbau der Grafikseite von dieser verdeckt. Durch "Andern der Fenstergr"o"sen
kann man selbstverst"andlich beide Seiten gleichzeitig darstellen. Falls Ihnen
der st"andige Fensterwechsel nicht zusagt, k"onnen Sie dies im Men"utitel
{\bf Setup} mit der Funktion {\bf Top Windows} ausstellen.

\marginlabel{Previous Page}
Anklicken dieses Eintrags bzw.\ Dr"ucken von \cstok{P} startet den
Aufbau der vorherigen bzw.\ letzten Bildschirmseite.

\marginlabel{Format from}
Dieser Eintrag bzw.\ Dr"ucken der Taste \cstok{F} erm"oglicht die Auswahl
einzelner Seiten des Dokuments und startet nach der Eingabe den Ausdruck.
Die Seiten werden mit bis zu drei Parametern ausgew"ahlt. Die erste Zahl
gibt die Startseite an, die zweite die Stopseite und die dritte die
Schrittweite zwischen den Seiten. Mit den Parametern \mbox{{\tt 4, 8, 2}}
werden nur die Seiten 4, 6 und 8 gedruckt.

\marginlabel{Cycle Windows}
Durch diese Funktion kann man wechselweise das Meldungsfenster und das
Grafikfenster sichtbar machen, falls sie sich gegenseitig "uberdecken.

\marginlabel{Lower Limit}
Kontrolle der Ausdruckseiten "uber die \TeX-internen Seitenz"ahler
{\tt $\backslash$count0} bis {\tt $\backslash$count9}.

\marginlabel{Upper Limit}
Kontrolle der Ausdruckseiten "uber die \TeX-internen Seitenz"ahler
{\tt $\backslash$count0} bis {\tt $\backslash$count9}.

\marginlabel{Magnification}
Dieser Eintrag bzw.\ gleichzeitiges Dr"ucken der Tasten \cstok{{\sc Control}} und
\cstok{M} dient zum Einstellen des Vergr"o"serungsfaktors.
Ein Wert von 1000 entspricht Originalgr"o"se, ein Wert von 1200
vergr"o"sert um den Faktor $1.2$, usw. Beachten Sie aber bitte, da"s
die Vergr"o"serung durch Verwendung gr"o"serer Zeichens"atze bewirkt wird,
die nat"urlich vorhanden sein m"ussen. Deshalb sind wohl nur die "ublichen
Vergr"o"serungsstufen in Schritten von $1.2^i$, $i\in\{\,0, 1/2, 1,
\dots\,\}$ praktikabel.

\marginlabel{Copies}
Dieser Eintrag bzw.\ gleichzeitiges Dr"ucken der Tasten \cstok{{\sc Control}} und
\cstok{C} dient zum Einstellen der Anzahl Kopien pro Seite.
Beachten Sie, da"s diese Option wesentlich schneller arbeitet, als
mehrmaliges Ausdrucken, da f"ur die Kopien die Interpretation der
{\tt DVI}-Datei entf"allt!

\subsection[Der Margins Titel]{Der {\bf Margins} Titel}
\begin{tabular}{|lr|}
\hline
H-Offset&\\
V-Offset&\\
\hline
H-Spread&\\ 
V-Spread&\\
\hline
H-Margin&\\
V-Margin&\\
\hline
Width&\ $\hat{\phantom{x}}${\tt W}\\
Height&\ $\hat{\phantom{x}}${\tt H}\\
\hline
\end{tabular}

\marginlabel{H-Offset}
Seitenverbreiterung links.

\marginlabel{V-Offset}
Seitenverl\"angerung oben.

\marginlabel{H-Spread}
Seitenverbreiterung rechts.

\marginlabel{V-Spread}
Seitenverl"angerung unten.

\marginlabel{H-Margin}
Einr"uckung der Druckseite nach rechts.

\marginlabel{V-Margin}
Einr"uckung der Druckseite nach unten.

\marginlabel{Width}
Seitenbreite. Falls mit Null belegt, wird der Eintrag der {\tt DVI}-Datei
\"ubernommen.

\marginlabel{Height}
Seitenh"ohe. Falls mit Null belegt, wird der Eintrag der {\tt DVI}-Datei
"ubernommen.

\subsection[Der Devices Titel]{Der {\bf Devices} Titel}
\begin{tabular}{|lr|}
\hline
Screen&\ \extra\char`1\tt S\\
File&\ \extra\char`1\tt F\\ 
\hline
NEC P6 Low&\ \extra\char`1\tt L\\
NEC P6 Mid&\ \extra\char`1\tt M\\
NEC P6 High&\ \extra\char`1\tt H\\
\hline
FX 80&\ \extra\char`1\tt X\\
HP Laserjet&\ \extra\char`1\tt J\\
HP Laserjet Lo&\ \extra\char`1\tt K\\
Canon BJ300&\ \extra\char`1\tt B\\
\hline
Print on File&\ \extra\char`1\tt P\\
Null Device&\ \extra\char`1\tt N\\
\hline
\end{tabular}

\marginlabel{Screen}
Ausgabe auf Bildschirm in variabler Auf\/l"osung. Auch "uber die Tastenkombination
\cstok{\sc Alternate}$+$\cstok{\sc S} einstellbar.

\marginlabel{File}
Ausgabe auf Datei zur Weiterverarbeitung mit {\tt DISPLAY} (siehe auch 
Anhang~\ref{ldisplay}).

\marginlabel{NEC P6 Low}
Ausgabe auf 24-Nadler mit NEC-kompatiblen Befehlssatz in $180\times 180$
dpi.

\marginlabel{NEC P6 Mid}
Ausgabe auf 24-Nadler mit NEC-kompatiblen Befehlssatz in $360\times 180$
dpi.

\marginlabel{NEC P6 High}
Ausgabe auf 24-Nadler mit NEC-kompatiblen Befehlssatz in $360\times 360$
dpi.

\marginlabel{FX 80}
Ausgabe auf 9-Nadler mit Epson-kompatiblen Befehlssatz in $240\times 216$
dpi.

\marginlabel{HP Laserjet}
Ausgabe auf Laserdrucker mit HP Laserjet II-kompatiblen Befehlssatz in
$300\times 300$ dpi.

\marginlabel{HP Laserjet Lo}
Ausgabe auf Laserdrucker mit HP Laserjet II-kompatiblen Befehlssatz in
$100\times 100$ dpi zur Previewzwecken.

\marginlabel{Canon BJ300}
Ausgabe auf entsprechenden Laserdrucker.

\marginlabel{Print on File}
Die Ausgabe erfolgt nicht auf die Schnittstelle zum Drucker, sondern auf
eine Datei. Diese kann dann auf einem Rechner ausgedruckt werden, der "uber
den eingestellten Drucker verf"ugt, aber kein \TeX-System installiert hat.

\marginlabel{Null Device}
Bei diesem Device erfolgt keine Ausgabe. Man kann dadurch schnell testen, ob
auch alle Zeichens"atze vorhanden sind, oder ob in der {\tt .dvi}-Datei
ein Fehler ist.

\subsection[Der Setup Titel]{Der {\bf Setup} Titel}
\begin{tabular}{|ll|}
\hline
\multicolumn{2}{|l|}{Top Windows}\\
\hline
\multicolumn{2}{|l|}{Maximum Memory}\\
\multicolumn{2}{|l|}{Bitmap Memory}\\
\multicolumn{2}{|l|}{Clippath Memory}\\
\multicolumn{2}{|l|}{DVI in Memory}\\
\hline
\multicolumn{2}{|l|}{Trace Fonts}\\
\multicolumn{2}{|l|}{Trace Memory}\\
\multicolumn{2}{|l|}{Trace Char's}\\
\hline
PK-Font&Path\\
VF-Font&Path\\
TFM-File&Path\\
DVI-File&Path\\ 
IMG-Image&Path\\
GR-Include&Path\\
\hline
\end{tabular}

\marginlabel{Top Windows}
Dieser Schalter beeinflu"st die \glqq Fensterpolitik\grqq. Man kann den
st"andigen Wechsel zwischen Meldungs- und Grafikfenster an- und wieder
ausschalten.

\marginlabel{Maximum Memory}
Einstellung der maximal angeforderten Speichermenge insgesamt. Sinnvoll
bei Verwendung von Multitasking-Systemerweiterungen wie Mint, um noch
Arbeitsspeicher f"ur andere Prozesse freizuhalten. Ein Wert von Null
(Default) bewirkt das Aussch"opfen der Speicherkapazit"at.

\marginlabel{Bitmap Memory}
Beschr"ankung des maximal angeforderten Speicherbereichs f"ur die
Grafikseite.

\marginlabel{Clippath Memory}
Beschr"ankung des maximal angeforderten Speicherbereichs f"ur den
Clipalgorithmus der eingebauten Grafik.

\marginlabel{DVI in Memory}
Setzen dieses Schalters bewirkt das Laden der gesamten {\tt .dvi}-Datei
in den Arbeitsspeicher, um die "Ubersetzung zu beschleunigen.

\marginlabel{Trace Fonts}
Durch diesen Schalter wird das Protokollieren eingeladener und ausgelagerter
Zeichens"atze ein- und ausgeschaltet.

\marginlabel{Trace Memory}
Durch diesen Schalter wird das Protokoll "uber angeforderten und freigegebenen
Speicher an- und ausgeschaltet.

\marginlabel{Trace Char's}
Durch diesen Schalter wird das Protokoll "uber {\em jedes\/} gesetzte
Zeichen an- und ausgeschaltet.

\marginlabel{{\tt PK}-Font Path}
Einstellung der Fontpfade und -namen. Wie schon einmal bei \dvilw\ in
Abschnitt \ref{dvilw} erl"autert, kann im Zusammenhang mit den Platzhaltern
{\tt \%d, \%h, \%m, \%s} und {\tt \%v} der Name und Pfad der verwendeten
Zeichens"atze dargestellt werden.
Die Platzhalter haben folgende Entsprechungen:

\begin{center}
\begin{tabular}{|c|l|}
\hline
\%d & Zeichensatzgr"o"se in dpi \\
\%h & horizontale Ger"ateauf\/l"osung \\
\%m & {\tt MAG\_\_\_\_1.2} etc. \\
\%s & Zeichensatzname, z.B.\ {\tt cmr10} \\
\%v & vertikale Ger"ateauf\/l"osung \\
\hline
\end{tabular}
\end{center}

Beispielsweise ergibt also eine Einstellung wie

\begin{compout}
FONTS/LASER/\%d/\%s.pk
\end{compout}

Zeichensatzpfade und -namen im Stil von

\begin{compout}
FONTS/LASER/111/cmr10.pk.
\end{compout}

Auf dem Atari~ST ist dieses (neue) Schema aus Gr"unden der Kompatibilit"at
zur \TeX shell von Heidrich, Maluschka und Kie"sling nicht in den
ausf"uhrbaren Programmen enthalten, sondern man mu"s --- wenn
gew"unscht --- die Sourcen mit definierter Pr"aprozessorvariable
{\tt PK\_FULLCONFIG} neu "ubersetzen. Das jetzige Schema ist wie
folgt. Enth"alt die Zeichenkette
{\em kein\/} \%-Zeichen, f"uhrt dies zur Generierung
von Pfaden wie
{\tt MAG\_\_\_\_1.440} und ist kompatibel zum \glqq Lindner\grqq-\TeX,
ansonsten wird diese Zeichenkette als {\tt printf}-Formatstring
interpretiert und mu"s die Vergr"o"serungsstufen der Zeichens"atze
korrekt auf die tats"achliche Ordnerstruktur abbilden. Durch Angabe
von

\begin{compout}
FONTS/LASER/\%d
\end{compout}

werden Pfade wie {\tt FONTS/LASER/360} gebildet.

\marginlabel{{\tt VF}-Font Path}
Einstellung des Pfades auf die virtuellen Zeichensatzinformationen.

\marginlabel{{\tt TFM}-File Path}
Einstellung des Pfades auf die Zeichensatzmetrikdateien, die von
\dvi\ herangezogen werden, falls die {\tt PK}-Dateien fehlen. Auf diese
Weise k"onnen wenigstens leere Boxen in der richtigen Breite gesetzt werden.

\marginlabel{\dvi-File Path}
Einstellung des Pfades auf die \dvid.

\marginlabel{\img-Image Path}
Einstellung des Pfades auf die \imgg.

\marginlabel{GR-Include Path}
Einstellung des Pfades auf Dateien, die Grafikbefehle des
Treibers enthalten und "uber {\tt $\backslash$special\{gr input $\dots$\ \}}
nachgeladen werden.


\subsection[Der Options Titel]{Der {\bf Options} Titel}
\begin{tabular}{|lr|}
\hline
H-Resolution&\\
V-Resolution&\\ 
\hline
Landscape&\\
Separate&\\
Thin out&\\
Pictures&\\
Eject&\\
Single Sheet&\\
\hline
Density&\\
\hline
\end{tabular}

\marginlabel{H-Resolution}
Ger"ateauf\/l"osung horizontal in dpi.

\marginlabel{V-Resolution}
Ger"ateauf\/l"osung vertikal in dpi.

\marginlabel{Landscape}
Drehung des Ausdrucks um $90^\circ$. Nat"urlich darf die Seite nicht zu
lang sein und f"ur die Outputroutinen fx80 und p6mid sind spezielle Zeichens"atze
n"otig ($216 \times 240$~dpi und $180 \times 360$~dpi, logisch!).

\marginlabel{Separate}
Falls dieser Schalter gesetzt ist, werden bei Nadeldruckern zus"atzliche
Druckdurchg"ange gestartet, um Ausdruck von nebeneinanderliegenden Nadeln zu
trennen. Verdoppelt Druckzeit, aber erh"oht Qualit"at!

\marginlabel{Thin out}
Durch diese Option wird die erzeugte Seitenansicht \glqq ausged"unnt\grqq.
Diese Option ist ein Ersatz f"ur \glqq Separate\grqq, f"uhrt jedoch
nicht zu zwei Druckdurchg"angen. Die Qualit"at ist jedoch schlechter.

\marginlabel{Pictures}
Falls dieser Schalter gesetzt ist, werden die \imgg\ mit angezeigt,
ansonsten erscheint nur ein leerer Rahmen. Ohne Bilder werden die Druckseiten
deutlich schneller aufgebaut!

\marginlabel{Eject}
Seitenvorschub nach jeder Druckseite bei gesetztem Schalter.

\marginlabel{Single Sheet}
Falls Einzelblattverarbeitung mit manuellen Einspannen des Papiers
beabsichtigt ist, wird durch diese Option der Druckvorgang am Seitenende
jeweils unterbrochen und kann dann nach Einspannen des neuen Blatts
fortgesetzt werden.

\marginlabel{Density}
Faktor zur Einstellung der Druckschw"arze der \imgg. Der Wert sollte
zwischen $0.0$ und $1.0$ liegen, wobei $0.0$ Bilder wei"s auf wei"s
erzeugt und $1.0$ sehr dunkle Bilder. Empfehlenswert ist $0.5$ auf
Laserdruckern, $0.02$ auf Nadeldruckern.



\section{DVI-X11/Motif-Version}\label{lx11}
Die X11/Motif-Version von \dvi\ h"alt sich in Aussehen und Bedienung eng
an den durch die {\sc Gem}-Version vorgegebenen Standard. Der Aufruf
ist wie folgt:

\begin{compout}
dvi [-o<optionfile>] [dvifile]
\end{compout}

Alle Parameter sind optional, da auch interaktiv "uber Men"us einstellbar.
Falls jedoch Parameter angegeben werden, ist die Reihenfolge zwingend
vorgeschrieben. Wenn erw"unscht, m"ussen Optionen --- durch ein
\cstok{-}-Zeichen eingeleitet --- zuerst angegeben werden. Danach kann
der Dateiname der {\tt DVI}-Datei folgen. Beim Dateinamen werden fehlende
Extensionen {\tt .DVI} bzw.\ {\tt .DVO} automatisch erg"anzt.
Als Option steht momentan nur {\it -o\/} zur Verf"ugung. Danach mu"s ein
Dateiname einer Optionsdatei angegeben werden, der nicht durch ein
Leerzeichen von der Option getrennt sein darf. Alle anderen Optionen
werden ignoriert! Falls keine Optionsdatei beim Aufruf angegeben wird, wird
automatisch die Standardoptionsdatei {\tt DVI.DVO} geladen, sofern im
Suchpfad vorhanden.

Der Arbeitsbildschirm von \dvi\ in einer typischen {\tt X11}-Umgebung ist in
Abbildung~\ref{lamotif} zu sehen.

\begin{figure}[hbtp]
\begin{center}
\leavevmode\epsfxsize=\textwidth\epsfbox{dvimotif.ps}
\end{center}
\caption{Typische X11-Oberfl"ache mit \dvi}\label{lamotif}
\end{figure}

Nach dem Starten von \dvi\ werden zwei Fenster ge"offnet, das Meldungsfenster
mit Men"uleiste und das Grafikfenster f"ur die Darstellung der \TeX-Seite.
Zun"achst sollte das Grafikfenster mit der Maus in die gew"unschte Position
und auf die richtige Gr"o"se gebracht werden. Falls ein Dateiname auf der
Kommandozeile "ubergeben wurde, wird schon die erste Seite des Dokumentes
angezeigt, sofern die Eintragungen der Default-Konfigurationsdatei stimmen.
Falls keine Anzeige erscheint, sollten die Einstellungen der {\tt Setup}-
und {\tt Options}-Men"us berichtigt werden und eine neue
{\tt dvi.dvo}-Kon\-fi\-gu\-ra\-ti\-ons\-da\-tei erzeugt werden.

Im Grafikfenster kann man durch Dr"ucken {\em und Halten\/} der linken
Maustaste den Bildausschnitt verschieben (deshalb auch keine Scrollbalken).
Dr"ucken der rechten Maustaste bringt folgendes Popup-Men"u:

\begin{tabular}{|l|}
\hline
Next Page\\
Prev Page\\
Goto Page ...\\
Update Page\\
\hline
Quit\\
\hline
\end{tabular}


Die m"oglichen Aktionen sind bis auf \glqq Update Page\grqq\ wohl
selbsterkl"arend. Ein Update der Seite bedeutet, da"s s"amtliche
"Anderungen, die zwischenzeitlich gemacht wurden, ber"ucksichtigt werden,
d.h.\ neue Offsets oder z.B.\ eine im Multitasking neu erzeugte
{\tt DVI}-Datei werden beachtet, und die Seite wird neu aufgebaut!

Die Men"uleiste ist der Leiste der {\sc Gem}-Version sehr "ahnlich, als
einziger Unterschied sind in der X11/Motif-Version einige Eintr"age
der Men"utitel nicht vorhanden, weil unn"otig bzw.\ weil durch eigene
grafische Bedienelemente repr"asentiert\footnote{Bedingt durch die deutlich
h"ohere Bildschirmauf\/l"osung von X11/Motif-Workstations kann nat"urlich
wesentlich mehr Platz f"ur die Benutzerf"uhrung verwendet werden}. Die
einzelnen Titel der Men"uleiste werden im folgenden nur kurz vorgestellt,
f"ur die Erkl"arung der Unterpunkte lesen Sie bitte in Abschnitt~\ref{lagemvers}
unter den analogen "Uberschriften nach. Gleiches gilt f"ur die grafischen
Bedienelemente, die jeweils ihre Entsprechung in Men"upunkten der
{\sc Gem}-Version haben. Durch andauernde Entwicklung "andert sich das Aussehen
der Oberfl"ache st"andig, so da"s leichte Abweichungen zum Screendump
m"oglich sind, die aber nichts an der Funktionalit"at "andern!

\subsection[Der File Titel]{Der {\bf File} Titel}
\begin{tabular}{|l|}
\hline
Select File\\ 
\hline
Load Options\\
Save Options\\
\hline
Logfile\\
\hline
Quit\\
\hline
\end{tabular}

\subsection[Der Print Titel]{Der {\bf Print} Titel}
\begin{tabular}{|l|}
\hline
Format Pages\\
Magnification\\
\hline
\end{tabular}

\subsection[Der Setup Titel]{Der {\bf Setup} Titel}
\begin{tabular}{|l|}
\hline
Clippath Memory\\
Maximum Memory\\
\hline
PK-Font Path\\
VF-Font Path\\
TFM-File Path\\
IMG-Image Path\\
GR-Include Path\\
DVI-File Path\\ 
\hline
\end{tabular}

\subsection[Der Margins Titel]{Der {\bf Margins} Titel}
\begin{tabular}{|lr|}
\hline
H-Offset&\\
V-Offset&\\
\hline
H-Spread&\\ 
V-Spread&\\
\hline
\end{tabular}

\subsection[Der Options Titel]{Der {\bf Options} Titel}
\begin{tabular}{|lr|}
\hline
H-Resolution&\\
V-Resolution&\\ 
\hline
\end{tabular}


\input dviamiga


\section{DVI-Kommandozeilenversion}\label{kdover}
Die Kommandozeilenversion kann mit oder ohne Optionen aufgerufen werden. Bei
Aufruf mit Optionen hat die Kommandozeile folgendes Aussehen: 

\begin{compout}
dvi \<name> -i\<opt> -f\<xxx:yyy:zzz> -o\<out> -l\<log>
\end{compout}

{\tt \<name>} ist dabei der Name der {\tt DVI}-Datei, \<{\tt opt}> der Name
der Optionendatei, {\tt xxx}, {\tt yyy}, {\tt zzz} sind eine Formatanweisung,
{\tt out} ist ein Ausgabeger"at (siehe {\it output\/}-Option) und {\tt log}
ist der Name einer Protokolldatei. Zwischen den Schaltern und ihren Parametern
darf ein Leerzeichen stehen. Die Reihenfolge der Parameter ist frei und
die Angabe optional.

Die Erkl"arung der Kommandozeilenschalter ist (Gro"s - und Kleinschreibung
erlaubt:

\marginlabel{\tt -i\<opt>}
Die \dvi-Optionen werden aus der Datei \<opt>
gelesen. Standardoptionsdateien, d.h.\ die "ublicherweise mitgeliefert
werden, sind:

\begin{itemize}
\item DVI.OPT\\
Diese Optionsdatei wird beim Aufruf standardm"a"sig geladen, falls sie
vorhanden ist und sollte systemspezifische Anpassungen enthalten.
\item SCREEN.OPT\\
Optionen f"ur Monitoranzeige in variabler Auf\/l"osung.
\item APOLLO.OPT\\
Optionen f"ur Monitoranzeige auf Apollo-Workstations mit etwas gr"o\-"se\-ren
Zeichens"atzen.
\item P6H.OPT\\
Optionen f"ur 24-Nadeldrucker mit $360 \times 360$ dpi.
\item P6M.OPT\\
Optionen f"ur 24-Nadeldrucker mit $360 \times 180$ dpi.
\item P6L.OPT\\
Optionen f"ur 24-Nadeldrucker mit $180 \times 180$ dpi.
\item FX80.OPT\\
Optionen f"ur 9-Nadeldrucker mit $240 \times 216$ dpi.
\end{itemize}

Die Erkl"arung der Optionen erfolgt im n"achsten Abschnitt.


\marginlabel{\tt -f\<xxx>, -f\<xxx:yyy>, -f\<xxx:yyy:zzz>}
                   Die Formatanweisung w"ahlt die zu bearbeitenden Seiten
                   des Dokuments aus. {\tt xxx} ist die Startseite, {\tt yyy}
                   die letzte Seite und {\tt zzz} gibt die Schrittweite an.
                   Die Parameter entsprechen nicht den \TeX-Seitennummern,
                   sondern der Reihenfolge der Seiten in der {\tt DVI}-Datei!
                   Wird die Formatanweisung angegeben, startet \dvi\ sofort
                   mit der Bearbeitung der Seiten, ansonsten wird
                   in den interaktiven Bearbeitungsmodus geschaltet und es
                   erscheint der Prompt {\tt DVI>}.

\marginlabel{\tt -o\<out>}
Das Ausgabeger"at wird durch {\tt \<out>} bestimmt. G"ultige Angaben sind
sind bei der Erkl"arung der {\tt output}-Option nachzulesen.

\marginlabel{\tt -l\<log>}
Der Treiber protokolliert seine T"atigkeiten in der Datei {\tt \<log>}.

\subsection*{Optionen}
Die \dvi-Optionen werden entweder im interaktiven Modus per Tastatur
oder beim Aufruf per Datei mittels {\tt -i\<name>} eingegeben. Bei sichtbarem
Prompt {\tt DVI>} kann eine Optionsdatei auch nachtr"aglich durch Eintippen
ihres Namens geladen
werden. Die Parameter der Optionen sind
{\it dimen\/} f"ur g"ultige
\TeX-L"angenangaben wie 1.1~{\it cm}, 7~{\it pt}, 0.3~{\it in}, usw; {\it mag\/}
f"ur Vergr"o"serungsfaktoren
mit Standard $1000$, Faktor $1.2 = 1200$, usw; {\it dpi\/} f"ur Ger"ateauf\/l"osungen;
{\it path\/} f"ur Pfade.

\marginlabel{\it hresolution \<dpi>}
Horizontale Auf\/l"osung in dpi.

\marginlabel{\it vresolution \<dpi>}
Vertikale Auf\/l"osung in dpi.

\marginlabel{\it pkpath \<path>}
Pfad und Name zum Suchen der {\tt PK}-Dateien. Mehrere Angaben werden --- je nach
Betriebssystem --- durch \cstok{;} oder \cstok{:} getrennt.
Kein Leerzeichen vor und nach dem \cstok{;}!
Wie schon einmal bei \dvilw\ in Abschnitt \ref{dvilw} erl"autert,
kann im Zusammenhang mit den Platzhaltern
{\tt \%d, \%h, \%m, \%s} und {\tt \%v} der Name und Pfad der verwendeten
Zeichens"atze dargestellt werden.
Die Platzhalter haben folgende Entsprechungen:

\begin{center}
\begin{tabular}{|c|l|}
\hline
\%d & Zeichensatzgr"o"se in dpi \\
\%h & horizontale Ger"ateauf\/l"osung \\
\%m & {\tt MAG\_\_\_\_1.2} etc. \\
\%s & Zeichensatzname, z.B.\ {\tt cmr10} \\
\%v & vertikale Ger"ateauf\/l"osung \\
\hline
\end{tabular}
\end{center}

Beispielsweise ergibt also eine Zuweisung wie

\begin{compout}
pkpath=D:$\backslash$FONTS$\backslash$\%d$\backslash$\%s.pk
\end{compout}

Zeichensatzpfade und -namen im Stil von

\begin{compout}
D:$\backslash$FONTS$\backslash$111$\backslash$cmr10.pk.
\end{compout}

%Enth"alt die Pfadangabe {\em kein\/}
%\%-Zeichen, generiert der Treiber Pfade wie {\tt MAG\_\_\_\_1.440} und ist
%kompatibel zum \glqq Lindner\grqq-\TeX. Ansonsten wird die Zeichenkette
%als {\tt print}-Formatstring interpretiert und der \%-Ausdruck mu"s die Ordnerstruktur
%der Zeichens"atzvergr"o"serungsstufen wiedergeben.

\marginlabel{\it tfmpath \<path>}
Pfad zum Suchen der {\tt TFM}-Dateien, die gebraucht werden, wenn eine
{\tt PK}-Datei nicht vorhanden ist, um wenigstens leere Boxen der richtigen
Breite zu erzeugen, bzw.\ die bei Verwendung virtueller Zeichens"atze
gebraucht werden.

\marginlabel{\it vfpath \<path>}
Pfad zum Suchen der virtuellen Zeichensatzdefinitionen {\tt .VF}.

\marginlabel{\it imgpath \<path>}
Pfad zum Suchen der \img-Dateien. Mehrere Angaben werden durch \cstok{;} oder
\cstok{:} getrennt. Kein Leerzeichen vor und nach dem Trennzeichen!

\marginlabel{\it grpath \<path>}
Pfad zum Suchen der nachtr"aglich mit {\tt $\backslash$special\{gr input $\dots$
\}} einzuladenden Grafikdateien.

\marginlabel{\it path \<path>}
Pfad zum Suchen der \dvid. Mehrere Angaben werden durch \cstok{;} getrennt.
Kein Leerzeichen vor und nach dem \cstok{;}!

\marginlabel{\it output \<device>}
Gibt Ausgabeger"at an. Bisher sind definiert: 

\begin{itemize}
\item screen\\
Monitor mit variabler Auf\/l"osung, je nach Computer.

\item file\\
Datei zur Weiterverarbeitung durch {\tt DISPLAY} (siehe auch
Anhang~\ref{ldisplay}).

\item fx80\\
Epson kompatibler 9-Nadler mit $240 \times 216$ dpi.

\item p6low\\
NEC P6 kompatibler 24-Nadler mit $180 \times 180$ dpi.

\item p6mid\\
NEC P6 kompatibler 24-Nadler mit $360 \times 180$ dpi.

\item p6high\\
NEC P6 kompatibler 24-Nadler mit $360 \times 360$ dpi.

\item hplow\\
HP Laserjet kompatibler Laserdrucker mit $100\times 100$ dpi.

\item hphigh\\
HP Laserjet kompatibler Laserdrucker mit $300\times 300$ dpi.

\item bj300\\
Canon BJ300 kompatibler Laserdrucker mit $300\times 300$ dpi.

\item null\\
Null-Device zu Testzwecken (Zeichens"atze vorhanden, \dvi-Datei
in Ordnung).
\end{itemize}

\marginlabel{\it format \<list>}
Angabe der zu bearbeitenden Seite(n).
Die Anwendung entspricht dem {\tt -f} Schalter, nur da"s zwischen den Parametern
und der Option ein Leerzeichen stehen mu"s und da"s bei Verwendung ohne
Parameter die gesamte \dvi-Datei bearbeitet wird.

\marginlabel{\it lower, upper}
Ausgabesteuerung "uber die internen \TeX-Seitenz"ah\-ler {\tt $\backslash$count0} bis
{\tt $\backslash$count9}.

\marginlabel{\it copies \<n>}
Druckt $n$ Kopien von jeder Seite.

\marginlabel{\it magnification \<mag>}
Seitenvergr"o"serung. Falls mit Null belegt, wird der Wert aus der
\dvi-Datei verwendet.

\marginlabel{\it width \<dimen>}
Seitenbreite. Falls mit Null belegt, wird der Eintrag der \dvi-Datei
"ubernommen.

\marginlabel{\it height \<dimen>}
Seitenh"ohe. Falls mit Null belegt, wird der Eintrag der \dvi-Datei
"ubernommen.

\marginlabel{\it hoffset \<dimen>}
Seitenverbreiterung links. Negative Werte mit entgegengesetztem Effekt sind m"oglich.
Parameter wirkt additiv auf {\it hmargin}.

\marginlabel{\it voffset \<dimen>}
Seitenverl"angerung oben. Negative Werte mit entgegengesetztem Effekt sind m"oglich.
Parameter wirkt additiv auf {\it vmargin}.


\marginlabel{\it hmargin \<dimen>}
Einr"uckung der Druckseite nach rechts. Negative Werte mit entgegengesetztem Effekt
sind m"oglich.

\marginlabel{\it vmargin \<dimen>}
Einr"uckung der Druckseite nach unten.  Negative Werte mit entgegengesetztem Effekt
sind m"oglich.

\marginlabel{\it hspread \<dimen>}
Seitenverbreiterung rechts. Negative Werte mit entgegengesetztem Effekt sind m"oglich.

\marginlabel{\it vspread \<dimen>}
Seitenverl"angerung unten. Negative Werte mit entgegengesetztem Effekt sind m"oglich.

\marginlabel{\it eject \<on/off>}
Seitenvorschub nach Druckseite an/aus.

\marginlabel{\it page [\<n>]}
Seitenvorschub am Dru"cker, ggf.\ {\it \<n>}-fach. Sehr geeignet, um
druckerwarmes Toilettenpapier zu produzieren. F"ur optimale Ergebnisse
sollte das Papier aber nicht zu glatt sein.

\marginlabel{\it separate \<on/off>}
Steuert Druckqualit"at. Falls auf \cstok{on}, wird die Anzahl der Druckdurchg"ange
verdoppelt, wobei bei einem Durchgang nur jeweils {\em nichtbenachbarte\/}
Nadeln dru"cken.

\marginlabel{\it singlesheet \<on/off>}
Umschlaten auf Einzelblattbetrieb mit Wartestellung nach jeder Seite
bzw.\ Endlospapier ohne Warten.

\marginlabel{\it landscape \<on/off>}
Drehung des Ausdrucks um $90^\circ$. Nat"urlich darf die Seite nicht zu
lang sein und f"ur die Outputroutinen fx80 und p6mid sind spezielle Zeichens"atze
n"otig ($216 \times 240$~dpi und $180 \times 360$~dpi, logisch!).

\marginlabel{\it pictures \<on/off>}
Schalter zum Weglassen der \imgg. An Stelle der Grafiken wird ein leerer
Rahmen angezeigt. Dadurch wird der Druckseitenaufbau deutlich schneller!

\marginlabel{\it density \<n>}
Faktor zum Einstellen des \glqq Dunkelwertes\grqq\ bei \imgg, der
zwischen $0.0$ und $1.0$ liegen soll. Ein Wert von $n=1.0$ entspricht der
dunkelsten Darstellung.

\marginlabel{\it thinout \<on/off>}
Das \glqq Ausd"unnen\grqq der erzeugten Seite wird an-/ausgeschaltet.

\marginlabel{\it port \<n>}
Setzt auf {\tt IBM PC}-Kompatiblen den Ausgabeport. G"ultige
Werte liegen zwischen 0 und 3, entsprechend den Ports {\tt LPT0}--
{\tt LPT3}.

\marginlabel{\it callmf \<name>}
Diese Option existiert nur auf Amiga-Implementationen und erh"alt den
Namen eines {\tt ARexx}-Scripts, das einen nichtvorhandenen Zeichensatz
evtl.\ zur Laufzeit generiert. Es steht das Script
{\tt Make\-Pk\-Font.rexx} zur Verf"ugung, das im {\tt REXX:}-Verzeichnis
stehen mu"s.

\marginlabel{\it memory \<on/off>}
Bei eingeschalteter Option wird die gesamte \dvi-Datei in den Speicher
gelesen und dadurch schneller bearbeitet.

\marginlabel{\it showfonts \<on/off>}
An- bzw.\ Ausschalten des Zeichensatzprotokolls.

\marginlabel{\it tracemem \<on/off>}
An- bzw.\ Ausschalten des Speicherprotokolls.

\marginlabel{\it tracechars \<on/off>}
An- bzw.\ Ausschalten des Zeichenprotokolls. Vorsicht, f"ur jedes einzelne
verwendete Zeichen wird angegeben, aus welchem Zeichensatz es stammt und
welches Zeichen ausgegeben wurde!

\marginlabel{\it maxmem \<n>}
Auf Multitaskingsystemen kann durch Angabe einer maximalen Speichergr"o"se
{\it \<n>} Bytes Platz f"ur andere Applikationen freigehalten werden.
Ansonsten nimmt sich \dvi\ soviel Speicher, als n"otig.

\marginlabel{\it pixmem \<n>}
F"ur den Aufbau der Textbitmap werden nur {\it \<n>} Bytes verwendet,
anstatt soviel als vorhanden bzw.\ notwendig. Auf diese Weise kann bei
Maschinen mit wenig Speicher bei sehr vielen verwendeten Zeichens"atzen
durch Beschr"ankung der Bitmapgr"o"se dennoch ein Ausdruck erzeugt
werden, jedoch in mehreren Durchg"angen. Mit dieser Variable sollte
experimentiert werden, wenn die \dvi-Meldung \glqq{\it Out of memory
}\grqq\ erscheint!

\marginlabel{\it pathmem \<n>}
Mit diesem Befehl kann der Speicherplatz f"ur Clipoperationen der
Grafikbefehle festgelegt werden. Evtl.\ kann die Voreinstellung bei
komplizierten Operationen zu niedrig sein bzw.\ kann dieser Speicher
f"ur kritische Texte ohne Grafik zum Aufbau der Textbitmap herangezogen
werden.

\marginlabel{\it redirect \<name>}
Falls mit dieser Variable ein Dateiname angegeben wird, wird nicht
direkt auf dem Drucker gedruckt, sondern in die angegebene Datei.
Diese Datei kann dann auf einem anderen Rechner ausgedruckt werden,
ohne da"s ein \TeX-System installiert ist.

\marginlabel{\it dvifile \<name>}
Neue \dvi-Datei {\it name\/} bearbeiten, ohne \dvi\ zu verlassen.

\marginlabel{\it logfile \<name>}
Statistiken, wie gewohnt. Per Voreinstellung ausgeschaltet!

\marginlabel{\it input \<name>, name}
Die Optionsdatei \<{\it name\/}> bzw.\ \<{\it name.opt\/}> wird geladen.
Entspricht dem Schalter {\tt -i}.

\marginlabel{
\hfill{\it options},\\
\hfill{\it options \<name>}}
Ohne Parameter werden die Optionen mit ihren aktuellen Parametern ausgegeben.
Mit Parameter wird eine Optionsdatei {\tt \<name>} geschrieben.

\marginlabel{\it exit}
\dvi\ verlassen. Der Druckpuffer von 16 KByte wird allerdings noch
fertig ausgedruckt.

S"amtliche Optionen k"onnen auch abgek"urzt verwendet werden, soweit
dies m"oglich ist. Anstelle von \glqq{\it format\/}\grqq\ kann auch
\glqq{\it f\/}\grqq\ oder
anstelle von \glqq{\it output\/}\grqq\ kann \glqq{\it out\/}\grqq\ angegeben werden, usw.
Einfach probieren!

\subsection*{Environment}
Auf PC-kompatiblen Rechnern kann "uber die Environmentvariable {\tt
GRAFX} eine Anpassung an bestimmte Grafikkarten vorgenommen werden, die
der Erkennungsalgorithmus nicht automatisch vornehmen kann bzw.\ kann
man andere Grafikmodi einstellen, als die automatische Erkennung. Die
allgemeine Syntax des {\tt GRAFX}-Environments ist wie folgt:

\begin{compout}
SET GRAFX=mode,lines,bytes,code[,fgc,bgc]
\end{compout}

wobei grunds"atzlich die ersten vier Parameter angegeben werden m"ussen,
jeweils
durch Komma {\em ohne zus"atzliche Leerzeichen\/} getrennt. Die Bedeutung
der Parameter ist wie folgt:

\marginlabel{{\tt mode}}
Der einzustellende Grafikmodus der Grafikkarte in Dezimal.

\marginlabel{{\tt lines}}
Die Anzahl der Bildschirmzeilen im eingestellten Grafikmodus.

\marginlabel{{\tt bytes}}
Die Anzahl Bytes pro Bitplane einer Bildschirmzeile.

\marginlabel{{\tt code}}
Die Auswahl der Funktion, die das Bitmuster einer \TeX-Seite in den
Bildschirmspeicher kopiert. Dabei stehen folgende M"oglichkeiten zur Auswahl
(Gro"sschreibung zwingend vorgeschrieben!):
\begin{itemize}
\item LOW\\
Bildschirmzeilen mit gerader Zeilennummer sind  beginnend bei Segmentadresse
{\tt B800} abgespeichert, solche mit ungerader Zeilennummer bei Segmentadresse
{\tt BA00}. Dies entspricht dem {\tt CGA}-Grafikmodus 6 bei einer
Auf\/l"osung von $640\times 200$ Bildschirmpixeln.

\item MID\\
Die Bildschirmzeilen sind entsprechend einer modulo 4-Rech\-nung beginnend bei den
Segmentadressen {\tt B800}, {\tt BC00}, {\tt A800} bzw.\ {\tt AC00} abgespeichert,
wobei in jeweils zwei aufeinanderfolgenden Bits ein Bildschirmpixel codiert
ist, also vier Farben zur Verf"ugung stehen.
Dies entspricht einem speziellen {\tt CGA}-Grafikmodus 9 bei einer
Auf\/l"osung von $640\times 400$ Bildschirmpixeln, der bei "alteren Rechnern
vom Typ {\tt NCR PC8} verf"ugbar ist.

\item HIGH\\
Die Grafikinformation ist beginnend bei Segmentadresse
{\tt A000} in vier Bitplanes abgespeichert. Dies entspricht den
hochauf\/l"osenden Grafikmodi 16 ({\tt EGA}) bzw.\ 18 ({\tt VGA}) bei einer
Auf\/l"osung von $640\times 350$ bzw.\ $640\times 480$ Bildschirmpixeln.
Das Bitmuster wird durch direkte Programmierung des Grafikkontrollers der
Karte "ubertragen. Dieser Modus funktioniert normalerweise auch bei
sog.\ {\tt Super-VGA}-Karten in den 16-Farb-Grafikmodi.

\item MONO\\
Die Bildschirmzeilen sind entsprechend einer modulo 4-Rech\-nung beginnend bei den
Segmentadressen {\tt B000}, {\tt B200}, {\tt B400} bzw.\ {\tt B800} abgespeichert,
wobei einem Bit jeweils ein Bildschirmpixel entspricht, also zwei Farben zur
Verf"ugung stehen.
Dies entspricht dem Grafikmodus einer {\tt Hercules}-Karte bei einer
Auf\/l"osung von $720\times 348$ Bildschirmpixeln.
\end{itemize}

\marginlabel{{\tt fgc, bgc}}
Bei den {\tt HIGH}-Modi kann zus"atzlich die Farbe der Bildschirmdarstellung
gew"ahlt werden. Seit die Treiber Freeware Status haben, ist dies
die erste Verbesserung von Benutzerseite. F"ur die
Implementierung und Dokumentation gilt an dieser Stelle Herrn
Hans-Joachim T"opfer unserer besonderer Dank! Es bedeuten:

$$\begin{tabular}{l@{:\quad}l}
{\sf fgc}&die Vordergrundfarbe,\\
{\sf bgc}&die Hintergrundfarbe.
\end{tabular}$$

Die Farben werden entsprechend dem {\tt EGA}-Standard erzeugt.
Die Syntax f"ur die Farbeintr"age ist folgende:

\begin{center}\tt
\begin{tabbing}
{\sf color\_name}::=\=BLACK|BLUE|GREEN|CYAN|RED|MAGENTA|\kill
{\sf fgc}|{\sf bgc}::={\sf color}\\
{\sf color}::={\sf number}|\{LIGHT|BRIGHT|DARK|{\sf secondary\_color}\}{\sf primary\_color}\\
{\sf secondary\_color}|{\sf primary\_color}::={\sf color\_name}\\
{\sf color\_name}::=\=BLACK|BLUE|GREEN|CYAN|RED|MAGENTA|\\
\>BROWN|GRAY|YELLOW|WHITE\\
\end{tabbing}
\end{center}

Die Farbnummern ergeben sich aus einer 6-stelligen Dualzahl {\tt rgbRGB}.
{\tt R}, {\tt G}, bzw. {\tt B} aktivieren die Farben {\sf Rot}, {\sf 
Gr"un}, bzw.\ {\sf Blau}
in der Prim"ar-Intensit"at, {\tt r}, {\tt g}, bzw.\ {\tt b} in der
schw"acheren Sekund"ar-Intensit"at.

Beim EGA-Standard wird folgende Codierung verwendet:
$$\begin{tabular}{l@{:\quad}r}\tt
BLACK&0\\
BLUE&1\\
GREEN&2\\
CYAN&3\\
RED&4\\
MAGENTA&5\\
BROWN&20\\
GRAY&7\\
YELLOW&62\\
WHITE&63
\end{tabular}$$
Bei den Farbnamen im {\tt GRAFX}-Eintrag definiert die {\sf primary\_color}
die {\tt RGB}-Bits, die {\sf secondary\_color} die {\tt rgb}-Bits.

Die Zus"atze haben folgende Bedeutung:
$$\begin{tabular}{l@{\quad}l}
{\tt DARK}&${\sf primary\_color}={\tt BLACK};$\\
{\tt BRIGHT}&${\sf secondary\_color}={\sf primary\_color};$\\
{\tt LIGHT}&${\sf secondary\_color}={\tt WHITE};$
\end{tabular}$$
Es gibt z.B.
$$\begin{tabular}{l@{\quad}l}
{\tt Red}&(codiert als 4)\\
{\tt DarkRed}&(codiert als 32)\\
{\tt BrightRed}&(codiert als 36)\\
{\tt LightRed}&(codiert als 60)\\
{\tt WhiteRed}&(codiert als 60)\\
{\tt RedWhite}&(codiert als 39)
\end{tabular}$$

Bei Grafikkarten mit dem {\tt ET4000}-Chip und 1 MB Bildschirmspeicher
funktionieren nun auch die Modi mit $1024\times 768$ und $1280\times 1024$
Pixeln.

Die Farbnamen k"onnen der besseren "Ubersichtlichkeit halber mit gro"sen
und kleinen Buchstaben (auch gemischt) geschrieben werden.

Tabelle~\ref{lgrafx} gibt einige Beispiele mit kurzer Erkl"arung. Alle
F"alle, die mit {\em Standard\/} bezeichnet werden, sollten durch den
Grafikkartenerkennungsalgorithmus automatisch eingestellt werden, wobei
jeweils der h"ochstauf\/l"osende Modus verwendet wird. Wer jedoch gerne
auf seiner {\tt Super-VGA} mit $640\times 200$ Pixeln im {\tt CGA}-Modus
arbeitet bzw.\ arbeiten mu"s, weil der Monitor nicht mitspielt, der
kann seiner Grafikkarte zwangsweise Schonkost verordnen $\dots$

\begin{figure}[hbtp]\centering
\begin{tabular}{|l|l|}
\hline
\tt SET GRAFX=6,200,80,LOW & Standard {\tt CGA}\\
\tt SET GRAFX=16,350,80,HIGH & Standard {\tt EGA}\\
\tt SET GRAFX=18,480,80,HIGH & Standard {\tt VGA}\\
\tt SET GRAFX=135,348,90,MONO & Standard {\tt Hercules}\\
\tt SET GRAFX=?,600,100,HIGH & {\tt Super-VGA}\\
\tt SET GRAFX=41,600,100,HIGH,BLACK,WHITE & {\tt ET4000} $800\times600$\\
& Schwarz auf Wei"s\\
\tt SET GRAFX=55,768,128,HIGH,GREEN,BLACK & {\tt ET4000}
$1024\times 768$\\
& Gr"un-Monochrom\\
\tt SET GRAFX=61,1024,160,HIGH & {\tt ET4000} $1280\times 1024$\\
\hline
\end{tabular}
\caption{Beispiele f"ur {\tt GRAFX}-Environments}\label{lgrafx}
\end{figure}

{\em Beachten Sie bitte, da"s bei Verwendung des\/ {\tt GRAFX}-Environments
keinerlei "Uberpr"ufung der Hardware stattfindet, sondern Sie in eigener
Verantwortung handeln. Mit den falschen Parametern k"onnen Sie ohne weiteres
Ihren Monitor zerst"oren. Aus diesem Grund m"ussen Sie eine eventuelle\/
{\tt GRAFX}-Einstellung auch explizit best"atigen! Andererseits k"onnen
Sie nat"urlich kleine Unzul"anglichkeiten bei der automatischen Grafikkartenerkennung
durch Setzen dieser Environmentvariablen ausgleichen. So werden manche\/
{\tt Hercules}-Karten nur bei jedem zweiten\/ \dvi-Durchlauf als solche
erkannt. In diesem Fall sollte man auf\/ {\tt GRAFX} zur"uckgreifen.
Gleiches gilt nat"urlich f"ur spezielle Grafikmodi exotischer Karten.}

\section{Arbeitsweise von \dvi}
Nachdem alle Optionen eingegeben wurden, wird die Bearbeitung durch eine
\glqq {\it format\/}\grqq\ bzw.\ \glqq Start Print\grqq-Anweisung gestartet.
Der Speicherbedarf f"ur eine Seite
wird berechnet, die Zeichens"atze geladen und die erste Seite (evtl.\ in mehreren
Durch\-g"an\-gen) im Speicher aufgebaut und angezeigt/gedruckt.

Bei der Bildschirmanzeige wird evtl.\ nur ein Ausschnitt der Seite angezeigt.
Die nichtsichtbaren Teile k"onnen durch Scrollbalken oder
der Cursor-Tasten (alle Rechner) in das sichtbare Fenster verschoben werden. 
Hat man sich an der Bildschirmseite sattgesehen,
kann man durch Dr"ucken von \cstok{{\tt N}} die n"achste Seite zur Anzeige
bringen (oder den n"achsten Durchgang f"ur dieselbe Seite starten)
bzw.\ durch Dr"ucken von \cstok{{\tt Q}} die R"uckkehr in die
interaktive Optionseingabe erzwingen. Wird bei der letzten Seite der
Formatangabe versucht, eine weitere Seite des Dokumentes zur Anzeige zu
bringen, kehrt man trotzdem zur Optionseingabe zur"uck.

\section{Besonderheiten}\label{dvi_bes}
Falls Zeichens"atze fehlen, wird eine Datei {\tt missing.fnt} bzw.\
{\tt MISSING.BAT} zur automatischen Generierung erzeugt, die auf Atari-Rechnern
zur \TeX{}shell des Lindner-\TeX\ kompatibel ist und auf {\tt UNIX}-Rechnern
sowie {\sc Amiga}s ein Shell-Script ist, das nach Eingabe von
{\tt ./missing.fnt <driver>} auf {\tt UNIX}-Maschinen bzw.\ {\tt execute
missing.fnt <driver>} auf dem {\sc Amiga} die Zeichens"atze automatisch erzeugt.
{\tt <driver>} steht hierbei f"ur den \MF-Namen des entsprechenden
Aus\-ga\-be\-ge\-r"a\-tes ({\tt atari\_screen, One\-Zero\-Zero, apollo\_screen},
etc.). Auf PC-kompatiblen Rechnern werden die Zeichen\-s"atze durch den Batchjob
"uber weitere spezielle Batchjobs automatisch erzeugt.

Auf dem Amiga kann alternativ ein in der Konfigurationsvariablen {\tt CALLMF}
angegebenes externes {\tt ARexx}-Programm gestartet werden, das dann entweder den
Zeichensatz generiert, oder eine entsprechende Batchdatei erzeugt/erweitert.
Im Fall von {\tt Make\-PK\-Font.rexx} wird versucht, den fehlenden Font direkt zu
erzeugen. Diese Vorgehensweise ist jedoch sehr Speicheraufwendig --- neben
der \dvi-Datei mu"s gleichzeitig noch \MF\ samt Daten im Hauptspeicher
platz finden --- weshalb man bei Systemkonfigurationen mit bis zu 2~MB
eventuell {\em nicht} auf diese Methode zur"uckgreifen kann.

Falls Zeichens"atze fehlen, erfolgt eine Abfrage, ob die
Bearbeitung abgebrochen werden soll, oder ob mit leeren Bitmustern f"ur
die fehlenden Buchstaben gearbeitet werden soll.

Falls Sie Zeichens"atze mit {\tt missing.fnt} auf {\tt UNIX}-Ger"aten
erzeugt haben, sollten Sie die
entstandenen Dateien, die auf {\tt pk} enden, in den entsprechenden Ordner

\begin{compout}
/usr/local/lib/tex/pk101 {\rm bzw.}\\
/usr/local/lib/tex/pk120
\end{compout}

kopieren, um diese Zeichens"atze permanent zur Verf"ugung zu haben.

Auf {\sc Amiga}-Computern werden die erzeugten Zeichens"atze direkt im ersten
in der Konfigurationsvariablen {\tt PKPATH} angegebenen Verzeichnis
abgelegt. Die durch \MF\ erzeugten tempor"aren Dateien werden hier
automatisch gel"oscht.

Auf allen Computern ist es sinnvoll, die Tempor"ardateien
der Zeichensatzerzeugung, n"amlich die auf {\tt gf} endenden Dateien und
Dateien mit Endung {\tt .log} und {\tt .tfm} zu l"oschen, falls dies nicht
schon, wie auf dem {\sc Amiga}, geschehen ist.

Nat"urlich kann jede beliebige Auf\/l"osung am Bildschirm dargestellt
werden, wenn nur die Zeichens"atze vorhanden sind. Wird z.B.\ \dvi\ aufgerufen mit

\begin{compout}
DVI -Ip6h$\,${\rm ,}
\end{compout}

wird das Programm mit den Standardoptionen
f"ur die Druckausgabe an 24-Nadlern mit $360 \times 360$~dpi geladen
und es erscheint der Prompt {\tt DVI>}. Werden nun als weitere Optionen
{\tt out screen}, sowie {\tt hres=360} und {\tt vres=360} angegeben, wird
nicht gedruckt, sondern alles in der
Auf\/l"osung $360 \times 360$~dpi am Bildschirm angezeigt.
Bei z.B.\ der {\tt GEM}-Version reicht das Neusetzen des {\tt PK}-Pfades und das Einstellen
der Auf\/l"osung (H-Resolution/V-Resolution), um dasselbe Ergebnis zu
erzielen. Nat"urlich
sind wegen der Gr"o"se des Bitmusters wahrscheinlich --- abh"angig vom
Speicherausbau Ihres Computers --- mehrere Durchg"ange pro Seite erforderlich.

\section{Installation}
Zur Installation m"ussen lediglich die entsprechende Datei --- {\tt dvi}
bei {\tt UNIX} und {\sc Amiga}, {\tt dvi.prg} bei Atari~ST oder
{\tt dvi.exe} bei {\tt MS-DOS} --- in einen Ordner kopiert werden, der im
Systemsuchpfad enthalten ist und einige Pfade und Optionen richtig
eingestellt werden. Will man \dvi\ auf dem {\sc Amiga} nur von der
{\tt Workbench} aus benutzen, so mu"s \dvi\ nichteinmal im Pfad stehen.
Bei den {\sc Gem}- und {\tt Motif}-Versionen m"ussen au"serdem alle
Optionsdateien {\tt .DVO} gel"oscht und neu erzeugt werden, da bei
neu hinzugekommenen Optionen die Bin"arformate der Dateien inkompatibel
sind. Als Benutzer merken Sie allerdings von diesen Inkompatibilit"aten
erst etwas, wenn der Treiber sich seltsam verh"alt. Bitte Vorsicht!
F"ur die {\sc Amiga}- und die Kommandozeilenersion ist die Klartextdatei
{\tt dvi.opt} entsprechend anzupassen. Beim {\sc Amiga} mu"s diese im Ordner
{\tt TeX:config} liegen. Alternativ kann mit der Environmentvariablen
{\tt TEXCONFIG} ein anderes Verzeichnis gew"ahlt werden. Auf {\tt MS-DOS}
Systemen mu"s die Datei {\tt dvi.opt} in einen Ordner kopiert werden, der im
Suchpfad enthalten ist.

F"ur den {\sc Amiga} wird es in der n"aheren Zukunft ein Installationsscript
f"ur den {\tt Installer} von Commodore geben, mit dem dann die oben
beschriebenen Aktionen nicht mehr zu Fu"s erledigt werden m"ussen.

Zum Arbeiten mit reinen Texten ohne Grafik mu"s
der Name und Pfad der Zeichens"atze entsprechend der Organisation der
Zeichensatzdateien auf der Festplatte eingestellt werden. Bei {\tt UNIX}
ist per Voreinstellung

\begin{compout}
./\%s.\%dpk.:/usr/local/lib/tex/pk\%h/\%s.\%dpk
\end{compout}

eingebaut, wobei alle Auf\/l"osungsstufen eines Zeichensatzes in einem
dieser beiden Ordner liegen. Bei Systemen mit 8~Zeichen langen Dateinamen
und 3~Zeichen langen Erweiterungen sind die Auf\/l"osungsstufen der
Zeichens"atze naturgem"a"s nicht im Dateinamen unterzubringen. Man hilft sich
dahingehend, da"s die Zeichensatznamen nur aus dem Basisnamen bestehen
--- z.B.\ {\tt cmr10} --- und die Endung {\tt .pk} erhalten. Die
Auf\/l"osungsstufen der Zeichens"atze werden auf eine Ordnerhierarchie
abgebildet, wobei die Ordnernamen die Vergr"o"serungsstufe ---
z.B.\ {\tt mag\_\_\_\_1.000} --- oder die Auf\/l"osung in dpi ---
z.B.\ {\tt 101} --- bezeichnen. Diese Auf\/l"osungsstufe errechnet sich zu
Ger"ategrundauf\/l"osung * Vergr"o"serungsstufe, hier also
101~dpi * {\tt 1.000}. Au"serdem mu"s diese Ger"ategrundauf\/l"osung
"uber die Optionen {\tt hres} und {\tt vres} eingestellt werden.

Sollen schlie"slich noch Fremdgrafiken eingebunden werden, die sich nicht
im aktuellen Arbeitsordner befinden, sind die Pfade
{\tt PS} und {\tt IMG} entsprechend zu setzen. Gleiches gilt bei eingebauten
Grafikbefehlen, die "uber externe Dateien mittels
{\tt $\backslash$special\{gr input $\dots$\ \}} eingeladen werden.
