% ASCREEN-3.2-HANDBUCH --- Kapitel 6 (Tips und Tricks)
% Copyright (C) 1992 by Anselm Lingnau
%
\chapter{Tips und Tricks} \label{k:tricks}

\section{Zeichensatzbibliotheken}

Zeichensatzbibliotheken, neudeutsch auch {\em Fontlibraries},
sind eine hilfreiche Erfindung:
die vielen kleinen {\tt PK}-""Dateien f�r Zeichens�tze
sind un�bersichtlich und um"-st�nd"-lich zu verwalten.
Au�erdem bewirken sie einen betr�chtlichen Verschnitt auf der Platte,
deren Platz ja in Bl�cken von 1~KB oder mehr vergeben wird ---
ein Zeichensatz von 2100~Bytes braucht auf meiner Platte
zum Beispiel 2~2048-Byte-Bl�cke,
wodurch ich gut 2000~Bytes verschenke.
Eine Zeichensatzbibliothek fa�t eine Gruppe von Zeichens�tzen
({\tt PK}-Dateien) zu einer gro�en Datei zusammen.
Da die Zeichens�tze in der Bibliothek dicht an dicht gepackt sind,
tritt kein Verschnitt auf
(au�er dem am Dateiende, aber der ist dann nicht mehr schlimm).
Je nach der Flottheit Ihrer Platte und der Version Ihres Betriebssystems
kann es auch sein,
da� Zeichens�tze in einer Zeichensatzbibliothek
durchaus schneller gefunden werden als solche in einzelnen Dateien,
da nicht so viele Zugriffe auf Verzeichnisse n�tig werden.
\ASCREEN\ liest das Inhaltsverzeichnis einer Zeichensatzbibliothek einmal
und verwendet dann die Kopie im RAM.

\ASCREEN\ unterst�tzt Zeichensatzbibliotheken in Eberhard Mattes'
FLIB-""Format,
das f�r {\em em\TeX} definiert wurde.
{\em em\TeX\/} ist die zur Zeit wohl leistungsf�higste \TeX-""Implementierung
f�r PC-artige Computer unter DOS und OS/2
und stellt dort einen {\em de-facto\/}-Standard dar,
an den \ASCREEN\ sich damit anh�ngt.
\begin{aha}
Auf dem Atari~ST gibt es nur eine \TeX-""Implementierung,
die Zeichensatzbibliotheken von Hause aus unterst�tzt,
und das ist das kommerzielle \TeX\ von TooLs.
Die Verbreitung dieser Version
ist allerdings gegen�ber der der Implementierungen von Strunk und Lindner
als vernachl�ssigbar anzusehen.
\ASCREEN\ ignoriert das TooLs-Format deshalb mit Absicht,
auch um dem kommerziellen Vertrieb eines an sich freien Programms wie \TeX\
nicht noch weiteren Vorschub zu leisten. Sorry.
\end{aha}
\begin{aha}
In der PC-Welt sind FLIB-Dateien f�r diverse Drucker im Umlauf.
Alle Leute, die auf dem Atari \TeX\ benutzen,
sollten auf die Implementierer von Treibern Druck [sic!] aus�ben,
damit diese ihren Programmen das FLIB-Format beibringen.
Der Aufwand daf�r ist nicht gro�,
aber ein solcher Standard k�nnte hier eine gro�e Hilfe sein,
nicht zuletzt um mit den vielen verschiedenen Verzeichnisschemata
f�r Zeichensatznamen aufzur�umen.
\end{aha}

Sie k�nnen \ASCREEN\ dazu bringen,
eine Bibliothek nach Zeichens�tzen zu durchsuchen,
indem Sie die FLIB-Datei im Suchpfad f�r Zeichens�tze erw�hnen.
\ASCREEN\ w�rde zum Beispiel mit der Zeile
\begin{typed}
fontpath d:\latex101.fli,d:\prtfonts
\end{typed}
in der Setupdatei
einen Zeichensatz zun�chst in der Bibliothek \verb|d:\latex101.fli| suchen.
Ist der Zeichensatz dort nicht enthalten,
sucht \ASCREEN\ im Verzeichnis \verb|d:\prtfonts|
nach einer passenden einzelnen {\tt PK}-Datei
gem�� der Vorgabe f�r die Namensstruktur.
(F�r das Suchen in Zeichensatzbibliotheken ist die Namensstruktur unerheblich.)
Selbstverst�ndlich k�nnen Sie
auch mehrere Zeichensatzbibliotheken angeben
oder ein normales Verzeichnis an den Anfang des Suchpfads stellen.

Das FLIB-Format ist im Anhang~\ref{a:flib} ausf�hrlich dokumentiert.
Leider gibt es auf dem Atari im Moment kein bequemes Programm
zur Verwaltung von Zeichensatzbibliotheken.
Vielleicht f�hlt sich jemand inspiriert,
ein solches Programm zu schreiben
und (vorzugsweise) frei verf�gbar zu machen.
Einstweilen kann ich nur verschiedene vorgefertigte Zeichensatzbibliotheken
und ein paar in Perl geschriebene Tools
zum Einpacken und Auf"|listen von Zeichensatzbibliotheken anbieten,
die als Basis f�r ein Verwaltungsprogramm dienen k�nnten.
Wer Zugriff auf einen PC mit {\em em\TeX\/} hat,
kann das dortige Programm benutzen.

\section{Spa� mit Druckern} \label{a:dfonts}

Es ist leicht m�glich,
\ASCREEN\ auch mit Dru"cker"-zei"-chen"-s�t"-zen zu benutzen.
Vielleicht ist das f�r Sie interessant,
wenn Sie mal etwas ganz genau nachschauen wollen.
Am besten machen Sie sich eine Setupdatei,
die f�r die Variablen {\tt hresolution} und {\tt vresolution}
die Werte Ihres Druckers
und f�r {\tt fontpath}, {\tt fontname} und {\tt extension}
die f�r Ihre \TeX-""Implementierung angebrachten Namen enth�lt.
In meiner Datei {\tt p6.set} stehen zum Beispiel die Zeilen
\begin{typed}
hresolution 360
vresolution 360
extension   neh
fontpath    d:\prtfonts
fontname    ~\res%r.%e\mag____%5.3M\%f.pk
\end{typed}
(das sind die korrekten Werte f�r Lindner-\TeX;
der Wert f�r {\tt fontpath} h�ngt nat�rlich von der Installation ab).
Ich kann dann mit einem Kommando wie
\begin{typed}
ascreen &d:\tex\p6.set foo
\end{typed}
die Datei {\tt foo.dvi} in der Druckerauf"|l�sung anschauen.
Der Anfangsteil des Kommandos ist nat�rlich
ein hervorragender Kandidat f�r eine Aliasdefinition
oder ein Shellskript.

Die dreieinhalbfache Auf"|l�sung des NEC P6 gegen�ber dem Bildschirm
f�hrt selbstverst�ndlich zu einer Vergr��erung des Speicherplatzes pro Seite
auf mehr als das Zehnfache.
Auf einem Atari mit 1~MB RAM
d�rfte dieser Trick also nicht funktionieren,
zwei Megabyte sind f�r normal gro�e Seiten wohl schon n�tig.
Jedenfalls passen entsprechend weniger Seiten in den Cachespeicher,
und auch die Laufzeit steigt betr�chtlich an.
Trotzdem kann diese vergr��erte Darstellung ab und zu ganz sinnvoll sein.

\section{Multitasking}

Prinzipiell l�uft \ASCREEN\ unter Multitaskingerweiterungen
wie PAM's MultiGEM, MiNT oder dem neuen MultiTOS.
Hier noch ein paar Tips f�r optimale Ergebnisse.

Das Angenehme am Multitasking ist --- zumindest auf \TeX\ bezogen ---,
da� Sie den Editor nicht verlassen m�s"-sen, um \TeX\ zu starten.
Auch \ASCREEN\ m�ssen Sie nicht beenden,
wenn \TeX\ eine neue Fassung der {\tt DVI}-Datei bereitgestellt hat:
Die Funktion \M{Nochmal einlesen...}
macht dies unter normalen Umst�nden unn�tig.
Allerdings gibt es da ein kleines Problem:
Aus Ef"|fizienzgr�nden besteht \ASCREEN\ darauf,
die \DVI-Datei w�hrend des gesamten Programmlaufs offenzuhalten.
Das f�hrt dazu, da� \TeX\ sie nicht mit der neuen Version �berschreiben darf.
Die einzige brauchbare Abhilfe
setzt einen entsprechenden Speicherausbau voraus
und besteht darin, das {\tt dvibuflimit} so hoch zu setzen,
da� die \DVI-Datei komplett in den Puffer pa�t.
In diesem Fall wird sie n�mlich nur beim �ffnen gelesen
und gleich wieder geschlossen;
\TeX\ kann dann die n�chste Version ohne Probleme dr�berkritzeln.
Wenn Sie nicht gerade {\sl Krieg und Frieden\/} �berarbeiten
oder eine Diplom- oder Doktorarbeit abfassen,
sollte ein Wert um $100000$ f�r {\tt dvibuflimit}
f�r die meisten Zwecke ausreichen.

Sie k�nnen die GEM-""Nachrichtenwarteschlange benutzen,
um \ASCREEN\ automatisch auf die Existenz
einer neuen Version der \DVI-Datei aufmerksam zu machen.
Dazu brauchen Sie nur ein kleines GEM-Programm,
das \ASCREEN\ die entsprechende Nachricht schickt
(siehe Anhang~\ref{a:gem-msg} f�r die Erkl�rung der Nachrichten).
Anschlie�end m�ssen Sie nur daf�r sorgen,
da� dieses Programm nach jedem \TeX-Lauf aufgerufen wird
--- benutzen Sie eine kommandoorientierte Shell,
so ist das leicht mit einem Skript zu bew�ltigen.
Leute mit einer richtigen \TeX-Shell m�ssen dieser notfalls
ein Programm unterschieben,
das {\tt TEX.TTP} oder so �hnlich hei�t,
das eigentliche \TeX\ unter einem anderen Namen
oder aus einem anderen Verzeichnis heraus aufruft
und nach dessen Ende die Nachricht auf den Weg bringt.
``The implementation is left as an exercise for the reader.''

\section{�ndern der Tastaturk�rzel f�r Men�punkte}

Die meisten Funktionen,
die �ber die Men�leiste am oberen Bildschirmrand zug�nglich sind,
k�nnen auch �ber Tastaturk�rzel angesprochen werden.
Kapitel~\ref{k:menu} erkl�rt, wie diese K�rzel aussehen.

Ich habe mir M�he gegeben,
die Tastaturk�rzel an die �blichen Gepflogenheiten auf dem Atari anzupassen:
\M{Fenster schlie�en} ist \verb|^U|,
\M{N�chstes Fenster} ist \verb|^W| und so weiter.
Trotzdem kann es sein,
da� Ihnen die eine oder andere Abk�rzung nicht behagt.
In diesem Fall k�nnen Sie die K�rzel
mit einem {\em Resource Construction Set\/} editieren.
Achten Sie aber darauf,
da� Sie die Struktur der Men�s dabei nicht ver�ndern,
sonst d�rfte die Bedienung von \ASCREEN\ zu einem heiteren Ratespiel werden.
Um Ihnen den Umgang mit der Resourcedatei zu erleichtern,
habe ich eine {\tt DEF}-Datei beigef�gt,
die die Namen der Objektb�ume enth�lt.
Diese {\tt DEF}-Datei d�rfte mit den meisten RCS-Programmen
zu verwenden sein;
ich selbst benutze {\sl Interface\/} von der Firma {\sl shift},
das ich bei dieser Gelegenheit w�rmstens empfehlen m�chte%
\footnote{{\em Dementi:\/} Ich habe keine Verbindung
	zur Firma {\sl shift},
	au�er als zufriedener Benutzer.}.
F�r das Kuma-RCS mu� man {\tt ASCREEN.DEF} in {\tt ASCREEN.RSD} umbenennen;
das "`neue"' RCS von Digital Research hat, glaube ich,
ein Umwandlungsprogramm.
Das Hauptmen� befindet sich, wer h�tte das gedacht,
im Baum mit dem Namen {\tt MAINMENU}.

\section{Andere Sprachen}

\ASCREEN\ ist sprachunabh�ngig geschrieben:
alle Texte und Zeichenketten,
die normalerweise deutsch sind
und in aus"-l�ndischen Versionen ausl�ndisch sein sollten,
stehen in der Resourcedatei.
Darum ist es einfach,
eine neue fremdsprachliche Benutzungsschnittstelle f�r \ASCREEN\ zu machen:
Das Programm selbst mu� daf�r nicht ge�ndert werden,
sondern nur die Resourcedatei.
Ich w�rde mich freuen,
wenn jemand zum Beispiel eine franz�sische Version machte
--- alle ausl�ndischen Fassungen, die ich zugeschickt bekomme,
werden mit einem geb�hrenden Lob in die Distribution aufgenommen.

Alle sprachabh�ngigen Zeichenketten,
die nicht Teil eines Men�s, eines Dialogs oder einer Alertbox sind,
stehen im Baum {\tt STRINGS} in der Resourcedatei.
Dazu geh�ren alle Fehlermeldungen, der Titel f�r das Protokollfenster,
die einzelnen Zeilen der Statistik und einiges mehr.
Hacken Sie fr�hlich drauf"|los,
aber nicht ohne eine Kopie der Originaldatei
an einem sicheren Ort untergebracht zu haben.
Sie m�ssen lediglich darauf achten,
die Struktur der Objektb�ume nicht zu ver�ndern,
da \ASCREEN\ sonst �bel durcheinanderkommen kann.
Vermeiden Sie insbesondere das L�schen von Objekten
und das Sortieren von Dialogen.
Manche Resource Construction Sets haben eine "`Sicherheitsoption"',
die strukturelle �nderungen an den Objektb�umen nicht zul��t.
Sollten Sie nicht zu den Gl�cklichen z�h"-len,
die ein solches Programm besitzen,
kann die mitgelieferte C-Headerdatei einen Anhaltspunkt geben:
Vergleichen Sie die Originaldatei mit der,
die Ihr RCS bei der ge�nderten Resourcedatei produziert.
Weichen die symbolischen Namen und die Objektindizes
in den beiden Fassungen voneinander ab,
dann sind Sie in Schwierigkeiten.
Stimmen die beiden Dateien �berein,
dann k�nnen Sie einigerma�en sicher sein,
da� die neue Resourcedatei funktioniert,
ohne in \ASCREEN s Innereien heftiges Sodbrennen zu verursachen.
(Eine hundertprozentige Garantie ist das leider nicht.)

Und noch etwas:
Nat�rlich ist es f�r Sie eine Ehrensache,
da� Sie die Inhalte
der drei Dialogboxen {\tt INFOFM}, {\tt COPYFM} und {\tt CREDITFM}
so exakt wie nur m�glich �bersetzen.
Selbstverst�ndlich d�rfen Sie einen angemessenen Hinweis
auf Ihre eigene Leistung nicht unterschlagen;
eine Zeile wie
\begin{verse}
\tt Traduction fran\c caise par Monique Leroc
\end{verse}
im {\tt INFOFM} haben Sie sich sicherlich verdient.

\begin{chapterquote}
Zuviel Honig essen ist nicht gut;
aber wer nach schweren Dingen forscht,
dem bringt's Ehre.
\author DIE SPR�CHE SALOMOS 25:27 (1.\ JT v. Chr.)
\end{chapterquote}
