%format latexg %%% DURCH DOPPELKLICK �FFNEN UND SCHLIESSEN SICH DIE FOLDS!
%  Hinweis: Das Inhaltsverzeichnis ist erst nach dem 2. TeX-Lauf korrekt !
\documentstyle[din_a4,german]{article}
%Etwas Platz zwischen den Abs�tzen, daf�r dann kein Einr�cken
\parskip 5pt plus 2pt minus 2pt \parindent 0pt
%Zur besseren Orientierung eine Kopf"|leiste
\pagestyle{headings}
% und los geht's
\begin{document}
%%%%%%%%%%%%%%%%% Titelseite %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
\thispagestyle{empty}
\begin{center}{\Huge\bf  xEDIT -- BenutzerInnenhandbuch}      \\[1cm]
%
              {\large      von                                \\[0.7cm]
%
                    Alexander Gr�pl                           \\
                    Pilgerstra�e 10                           \\
                    D-6710 Frankenthal                        \\[0.3cm]
%
                    Tel. 06233/65225                          \\[0.7cm]
%
                    Stand: 16. Januar 1992 }

\end{center}
%
\vspace*{1cm}
\vfill
%
%
%%%%%%%%%%%% Inhaltsverzeichnis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
\tableofcontents\newpage
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{Einleitung}

xEDIT ist ein kleiner, schneller und einfach zu bedienender Editor, der in
erster Linie f�r die Erstellung von Programmtexten entwickelt wurde.
Trotzdem eignet sich dieses Programm nat�rlich auch f�r alle sonstigen
Anwendungen, bei denen ein ASCII-Editor ben�tigt wird (\TeX, Calamus,\dots).
Besonders gut wird das Arbeiten mit l�ngeren Texten oder
Textpaketen unterst�tzt (dazu sp�ter mehr).

Das Programm l�uft unter GEM, macht aber an einigen Stellen ungew�hnlichen
Gebrauch davon. Es l�uft auf"|l�sungsunabh�ngig, und sollte daher
problemlos mit jeder Grafikkarte und auch dem TT zurechtkommen.
Es macht keine "`unsauberen"' Sachen, wie selbstmodifizierenden Code,
Vektorverbiegereien oder Zugriffe auf undokumentierte Systemvariablen,
und auch dem Einsatz unter MultiGEM steht nichts im Wege. Leider
mu� ich schon hier erw�hnen, da� das nicht unbedingt f�r
das Installationsprogramm \verb|XED_INST.PRG| gilt, das liegt an den
Eigenarten der hierbei von mir verwendeten Programmiersprache und
kann nicht auf einfache Weise abge�ndert werden.

Gro�en Wert wurde von mir darauf gelegt, das Programm f�r verschiedene
Einsatzgebiete anpassungsf�hig zu machen. So k�nnen Sie verschiedene
Zeichens�tze benutzen (wichtig z.B. f�r \TeX), die Tastatur fast beliebig
konfigurieren und auch Einbindung in eine Shell ist vorgesehen.
Durch den einigerma�en intelligenten Druckertreiber lassen sich sogar
kleinere Textverarbeitungen bewerkstelligen, wobei ich jedoch
davon abrate, l�ngere Abhandlungen mit diesem Programm zu schreiben, da
das verwendete Verfahren zum formatierten Ausdruck nur unter xEDIT l�uft,
und so eine �bertragung auf andere Programme erschwert ist. Aber wenn es
darum geht, mal schnell einen Brief in Proportionalschrift zu berarbeiten,
stellt xEDIT einige Hilfsmittel zur Verf�gung. Betonen m�chte ich in diesem
Zusammenhang, da� der Ausdruck schnell erfolgt, da die eingebauten
Druckerzeichens�tze benutzt werden.

Allgemein m�chte ich sagen, da� ich dieses Programm in erster Linie f�r
meinen eigenen Gebrauch geschrieben habe, und es dementsprechend ganz nach
meinem eigenen Geschmack ausgefallen ist.

So empfinde ich die Fensterspielereien bei einem Editor eher als l�stig
(wohlgemerkt, bei einem Editor!), da auf dem Bildschirm viel Platz
verlorengeht, der besser f�r die Darstellung von Text verwendet worden w�re.
Standardm��ig arbeitet der Editor deswegen mit einem Fenster ohne
Schieberelemente, dessen R�nder �ber den Bildschirm hinausragen. Unter
MultiGEM wird jedoch automatisch auf ein vollst�ndiges GEM-Fenster
umgeschaltet, Sie k�nnen es via \verb|XED_INST| aber auch ohne
MultiGEM aktivieren.

Es gibt nicht hunderte von verr�ckten Textoperationen, die �ber hunderte
von noch verr�ckteren Tastenkombinationen erreichbar sind, denn
bevor ich Control-X und danach Alternate-Y gedr�ckt habe, um den Buchstaben
rechts vom Cursor (oder war's der linke?) mit dem unter dem Cursor
zu vertauschen, haben ich die beiden Buchstaben schneller neu eingetippt.
Sicherlich gibt es noch manche Funktion, die leicht zu implementieren w�re,
und f�r manche Anwendung n�tzlich ist, aber zwecks �bersichtlichkeit ist
zur Zeit nur ein Minimum eingebaut. Ich m�chte an dieser Stelle ausdr�cklich
alle BenutzerInnen auf"|fordern, mich wissen zu lassen, was sie an diesem
Programm gerne verbessert sehen w�rden. Ich selbst bin manchmal etwas
ratlos, wie ich bestimmte Sachen implementieren soll.

Um bei meinem eigenen Geschmack zu bleiben, xEDIT ist ein {\em kurzes"|}
Programm! Erreicht wurde dies, indem der ganze Anpassungskram einem zweitem
Programmm �berlassen wurde, das sich entsprechend \verb|XED_INST.PRG|
nennt. Dieses Konzept erm�glicht es, die Information, die xEDIT ben�tigt,
in sehr kompakter Form in einem RSC-File unterzubringen (man entschuldige
mir bitte, da� ich diese Extension gew�hlt habe, aber es ist zwingend
notwendig, da� dieses File beim Laden gefunden wird, auch wenn es kein
Standard-RSC-File ist). Au�erdem macht es mir das Leben leichter, da dieses
Installations-Programm keinerlei Optimierungen n�tig hat, Hauptsache es
l�uft und erf�llt seinen Zweck (�brigens habe ich f�r XED\_INST weniger
Zeit investiert als f�r dieses Handbuch, w�hrend ich schon fast zwei Jahre
an xEDIT herumarbeite -- tjaja so ist das).

Ansonsten erstmal eine Kurz�bersicht\dots

\subsection{Was xEDIT nicht kann:}

\begin{itemize}
   \item wie f�r einen Editor �blich, gibt es kein WYSIWYG (what you see
     is what you get)
   \item es gibt keine Grafikeinbindung
   \item automatischen Randausgleich, automatische Silbentrennung,
     W�rterb�cher oder �hnliches
   \item es gibt keine Zeilenlineale und solche Sachen
   \item Syntax-checking (Klammerebenen u.�.)
   \item Texte in anderen Formaten als im ASCII-Format einlesen
   \item Drucken im Hintergrund (wer's braucht, hole sich einen Spooler)
   \item Bl�cke sind nur mit ganzen Zeilen m�glich (hat ein wenig auch mit
     dem {\em Folding"|} zu tun)
\end{itemize}

\subsection{Was xEDIT weniger gut kann:}

\begin{itemize}
   \item die "`Find \& Replace"' Funktion ist wenig flexibel, aber f�r die
     meisten Zwecke wohl ausreichend
   \item das formatierte Ausdrucken von Texten in Proportionalschrift
     erfordert eine gewisse Einarbeitung, und ist f�r Computerneulinge
     sicherlich etwas schwere Kost
   \item Viele Einstellungen lassen sich nur �ber das Installationsprogramm
     XED\_INST vornehmen. Das ist manchmal sicherlich etwas l�stig, hat
     man jedoch einmal seine Wahl getroffen, hat man die Einstellungen
     dauerhaft in einem RSC-File untergebracht.
   \item Der Document-Mode ist ein wenig zu kurz gekommen. Eigentlich war
     er f�r die Erstellung von Flie�texten gedacht, aber leider habe ich
     das Schwergewicht nun doch mehr auf die Erstellung von Programmtexten
     gelegt.
\end{itemize}

\subsection{Was xEDIT kann:}

\begin{itemize}
   \item Sie k�nnen bis zu acht Texte im Speicher halten, und beliebig Teile
     zwischen ihnen austauschen.
   \item Sie k�nnen zwei Texte gleichzeitig auf dem Bildschirm darstellen.
   \item Die Umschaltung zwischen den Texten erfolgt �ber das Menu oder �ber
     Tastendruck, und nicht �ber umst�ndliche Fenstermanipulationen.
   \item xEDIT verf�gt �ber zwei kleinere Bildschirmzeichens�tze, die gut
     geeignet sind, wenn Sie einen gr��eren �berblick �ber Ihren Text
     ben�tigen.
   \item Sie k�nnen bis zu sechs Marker in Ihren Texten unterbringen, wobei
     im Menu die ersten Buchstaben der entsprechenden Zeilen
     eingetragen werden.
   \item Wie bereits erw�hnt, ist ein gro�er Teil der Einstellungen auf ein
     RSC-File ausgelagert.
     Hierzu geh�ren unter anderem:
     \begin{itemize}
     \item Die Bildschirmzeichens�tze, die Sie f�r Ihre speziellen
       Bed�rfnisse ab�ndern k�nnen
     \item Die Tastaturbelegung, bei der Sie sogar Makros entwickeln k�nnen
     \item Die Druckersteuerung, die es Ihnen erm�glicht, so ziemlich alles,
       was Sie w�nschen, an Ihren Drucker r�berzuschicken.
     \item Die Zeichenbreiten der Proportionalschriften, die Ihr Drucker zur
       Verf�gung stellt.
     \end{itemize}
   \item \dots und die vielleicht interessanteste F�higkeit ---
     {\em xEDIT beherrscht das Folding"|}!!!
\end{itemize}

\subsection{Folding, was ist das?}

Nun ja, vielleicht geht es Ihnen ja wie mir. Man schreibt ein Programm,
der Quelltext wird immer l�nger und l�nger, und man beginnt, das Programm in
Module und Include-Files aufzusplitten. Trotzdem wird die ganze
Sache immer un�bersichtlicher, und ab einem bestimmten Zeitpunkt verwendet
man mehr Zeit darauf, im Text hin und herzuscrollen, statt sich
auf die eigentlichen Probleme zu konzentrieren. Hier beginnt sich das
Folding als n�tzlich zu erweisen. Sie k�nnen Textabschnitte in einem
sogenannten Fold (oder auf gut deutsch - Falte) wegklappen, und es erscheint
nur noch die erste Zeile als so eine Art �berschrift. Auf diese Weise wird
die �bersichtlichkeit wesentlich gesteigert. �brigens wird die Information,
wie der Text gefaltet wurde, in einem zweiten File untergebracht, da� im
allgemeinen sehr kurz ist ( $<$~1~kByte). Ihr eigentlicher Text bleibt also
reinster ASCII-Code, es sollte daher auch keinerlei Schwierigkeiten mit
irgendwelchen anderen Programmen geben. Wenn Sie wollen, k�nnen Sie diese
Foldinfo-Files auch als versteckt deklarieren, Sie m�ssen sie dann aber
sichtbar machen, bevor Sie sie kopieren k�nnen.

\subsection{Benutzungshinweise f�r das BenutzerInnenhandbuch}
Ich habe einige Zeit �berlegt, wie ein kurzes aber trotzdem ausreichend
ausf�hrliches Handbuch f�r dieses Programm wohl auszusehen h�tte. Nachdem
einigen Leuten die alte Anleitung zu unverst�ndlich war, wollte ich zuerst
diverse Kapitel ausf�hrlicher gestalten, habe aber dann gemerkt, da� das
Problem wohl nicht so sehr in der Knappheit begr�ndet ist, sondern daran,
da� die meisten Leute die hier gebotene Information gar nicht ben�tigen.
Darum m�chte ich diesmal anders vorgehen.

Im Kapitel {\em "`xEDIT als ASCII-Editor"'} wird kurz erl�utert, was die
einzelnen Menu-Punkte bedeuten, und wie bestimmte Funktionen am
besten einzusetzen sind. F�r die meisten Benutzer d�rfte diese
Information vollkommen ausreichend sein.

Im Kapitel {\em "`xEDIT als offenes System"'} wird dann die Information
geliefert, wie man sich Anpassungen f�r seine individuelle Arbeitsumgebung
schaffen kann. Hierzu geh�ren dann Sachen wie der Umgang mit den RSC-Files,
die Erstellung von Tastaturmakros und auch einige Worte �ber interne Abl�ufe
im Programm.

Im Kapitel {\em "`xEDIT als Mini-Textverarbeitung"'} schlie�lich wird die
Information geliefert, wie man mit diesem Programm auch aufwendiger
gestaltete Texte zu Papier bringen kann. Dabei geht es dann z.B. um Fragen
der Arbeitsweise von Druckern oder wie man sich Druckermakros schaffen kann.
Auch wenn ich versucht habe, f�r jedes Problem ein L�sungsbeispiel zu
bringen, werden Computerunerfahrene sicherlich einige Schwierigkeiten haben,
die Sache zu verstehen. Abgesehen davon lohnt sich die Einarbeitung nur f�r
diejenigen, die zum Beispiel ihre Alltagskorrespondenz mit xEDIT erstellen
wollen. Dann allerdings kann sich dieses Programm als wirklich gutes
Werkzeug erweisen, denn Briefk�pfe und Standards�tze lassen sich nach
entsprechender Installation auf Knopfdruck erzeugen.

Zu guterletzt gibt es dann noch ein Kapitel mit {\em "`Tips und Tricks"'},
und nat�rlich darf auch der obligatorische Spendenaufruf nicht fehlen.


\section{xEDIT als ASCII-Editor}
\subsection{Das Menu}
  Bevor Sie mit der Arbeit beginnen, sollten Sie sich zuerst einmal
  s�mtliche Punkte des Menus anschauen. Wenn Sie davor schon einmal mit
  einem anderen Editor gearbeitet haben, werden Ihnen sicherlich die
  meisten Punkte bekannt vorkommen, trotzdem kann es sein, da� einige
  Punkte anders implementiert sind, als Sie es gewohnt sind. Jedes
  Programm hat da seine eigene Philosophie der BenutzerInnenf�hrung.
  Harmlose Fehler werden z.B. durch xEDIT i.A. nur durch ein "`Piing"'
  signalisiert.
\subsubsection{Das File-Menu und View}

\begin{description}

  \item[Load file:]
     Benutzen Sie zu Beginn Ihrer Arbeit diesen Menupunkt, um einen Text zu
     laden. Wollen Sie einen noch nicht vorhandenen Text edieren, tippen Sie
     einfach den gew�nschten Namen in das Feld der Fileselectbox, es taucht
     dann sp�ter eine Dialogbox mit "`Neues File?"' auf. xEDIT merkt das
     Laufwerk und den Ordner aus dem der Text geladen wurde, und versucht,
     den Text sp�ter auch wieder an die diese Stelle zur�ckzuschreiben. Wenn
     Sie also die Diskette gewechselt haben, gibt es eine Fehlermeldung,
     wenn beim Abspeichern der richtige Ordner nicht gefunden werden
     konnte. Legen Sie dann die richtige Diskette ein, oder benutzen Sie
     die Funktion "`Save as"'.

     (�brigens werden beim Laden von Files Tabulatoren (Zeichen Nr. 9)
     automatisch expandiert, beim Abspeichern der Files jedoch nicht wieder
     erzeugt.)

  \item[Save all \& quit:]
     Diese Funktion dient dazu, den aktuellen Text abzuspeichern (sofern er
     ver�ndert wurde) und den Editor mit Returncode~1 zu verlassen.
     Letzteres f�hrt dazu, das der Compiler (falls er diese Option
     unterst�tzt) oder \TeX\ automatisch gestartet werden (den Returncode
     k�nnen Sie mit XED\_INST ab�ndern).
     Wenn au�er dem aktuellen Text auch noch andere Texte ver�ndert wurden,
     erscheint eine Warnmeldung, und Sie k�nnen bestimmen, was mit diesen
     Texten geschehen soll.

     \begin{description}

       \item[Save all:] Alle ge�nderten Texte werden automatisch
          abgespeichert, und der Editor mit Returncode~1 verlassen.

       \item[Quit all:] Alle nicht ge�nderten Texte werden aus dem
          Arbeitsspeicher entfernt, und es taucht danach noch einmal eine
          Warnmeldung auf, ob Sie xEDIT wirklich verlassen wollen. Wenn Sie
          hier "`OK"' w�hlen, werden nun auch die ge�nderten Texte aus dem
          Arbeitsspeicher entfernt, und der Editor mit Returncode~1
          verlassen. Wenn Sie jedoch "`Abbruch"' w�hlen, k�nnen Sie an den
          ge�nderten Texten mit der Arbeit fortfahren.

     \end{description}

     �brigens empfiehlt es sich, vor Aufruf dieser Funktion noch einmal
     schnell ins "`View"'-Menu zu schauen, um zu verhindern, da� Sie
     versehentlich ge�nderte Files mit abspeichern. Diese m�ssen Sie
     aktivieren und mit "`Abandon file"' verlassen.

  \item[Save file:]
     Wenn Sie diese Funktion aufrufen, wird der gerade aktive Text
     abgespeichert, ohne da� er aus dem Arbeitspeicher entfernt wird.
     Benutzen Sie diese Funktion, wenn Sie Ihren Text sicherheitshalber
     zwischendurch abspeichern wollen. Man kann leider nicht davon
     ausgehen, da� alle Programme (und selbst das Betriebssystem) immer
     zuverl�ssig funktionieren und es nicht hin und wieder zu Abst�rzen
     kommt. Auch kann ja mal der Strom ausfallen, oder Sie l�schen
     versehentlich einen wichtigen Textabschnitt.

  \item[Save as\dots:]
     Benutzen Sie diese Funktion, wenn Sie Ihren Text unter einem anderen
     Namen oder in einem anderen Ordner abspeichern wollen. Der Text
     bleibt nach Aufruf dieser Funktion im Arbeitsspeicher erhalten.
     Wenn Sie wollen, kann der neue Name des Textes �bernommen werden.

  \item[Making backups:]
     Wenn Sie diese Option aktiviert haben, wird der Ursprungstext beim
     Abspeichern mit dem Extender "`BAK"' versehen, und der ge�nderte Text
     dann als neues File abgespeichert. Sie haben so eine Sicherheitskopie
     Ihres alten Textes, nicht jedoch wenn Sie den Text w�hrend der Arbeit
     mehrmals abspeichern. Standardm��ig ist diese Option nicht aktiviert,
     Sie k�nnen das jedoch mit Hilfe von XED\_INST ab�ndern.

  \item[Saving foldinfo:]
     Wenn diese Option aktiviert ist, wird beim Abspeichern eines Files
     noch ein zweites File erzeugt, in dem die Information untergebracht
     ist, mit welcher Folding-Struktur Sie Ihren Text versehen haben.
     Zus�tzlich sind in diesem File noch die aktuelle Cursorposition und
     die gew�hlten Einstellungen, wie Bildschirmzeichensatz u.s.w.,
     untergebracht. Wenn Sie den Text also sp�ter wieder laden, machen Sie
     an genau der Stelle weiter, an der Sie mit der Arbeit aufgeh�rt haben.
     Standardm��ig ist diese Funktion aktiviert, da die erzeugten
     Foldinfo-Files sehr klein sind ( $<$~1kbyte ), und sie sich bei der
     Arbeit als sehr n�tzlich erwiesen haben. Wenn Sie diese Option nicht
     w�nschen, k�nnen Sie dies mit Hilfe von XED\_INST ab�ndern.

  \item[Hidden foldinfo:]
     Durch Aktivieren dieser Option werden die Foldinfo-Files als versteckte
     Files erzeugt. Diese Files tauchen dann nicht mehr in der Fileselectbox
     oder auf dem Desktop auf, werden aber trotzdem beim Laden eines Textes
     von xEDIT mit eingelesen. Standardm��ig ist diese Option abgeschaltet,
     da die Fold-Files nat�rlich sichtbar sein m�ssen, wenn Sie kopiert
     werden sollen.

  \item[Read block\dots:]
     Die Funktion "`Read block"' ist eigentlich nur der Vollst�ndigkeit
     halber mit aufgenommen worden. Sinnvoller ist es, sich den Text zu
     laden und dann die Funktion "`Copy block"' einzusetzen. Oder wissen
     {\em Sie} immer ganz genau, was in den einzelnen Files steht?

  \item[Write block\dots:]
     Einen markierten Block k�nnen Sie mit dieser Funktion abspeichern.
     Beachten Sie aber, da� bei dieser Funktion kein Foldinfo-File erzeugt
     wird.

  \item[Abandon file:]
     Durch diese Funktion wird der augenblicklich angezeigte Text
     verworfen, also aus dem Arbeitsspeicher entfernt, ohne ihn
     abzuspeichern. Sollten an ihm bereits �nderungen vorgenommen sein,
     so erscheint eine Warnmeldung.

  \item[Quit xEDIT:]
     Durch diesen Menupunkt wird der Editor mit Returncode~0 verlassen,
     ein Compiler wird also nicht gestartet. Sollten sich noch Texte
     im Arbeitsspeicher befinden, an denen �nderungen vorgenommen wurden,
     die noch nicht abgespeichert wurden, gibt es eine Warnmeldung.

  \item[View:]
     Im View-Menu erscheinen die Namen der augenblicklich geladenen Texte.
     Der gerade aktive Text ist durch ein H�kchen kenntlich gemacht, Sie
     sehen den Namen aber auch in der Menuzeile ganz rechts. Wollen Sie
     auf einen anderen Text umschalten, klicken Sie einfach den
     Menueintrag an, oder dr�cken solange die ESC-Taste, bis der
     gew�nschte Text aktiviert ist. �brigens erkennen Sie an der Tilde vor
     dem Filenamen, da� an dem Text Ver�nderungen vorgenommen wurden, die
     noch nicht abgespeichert wurden.

\end{description}

\subsubsection{Das Mark-Menu}

\begin{description}

  \item[Set mark:]
     Bei l�ngeren Texten ist es sinnvoll, sich an Textstellen, zwischen
     denen h�ufig gewechselt wird, einen `Marker' zu setzen. Auch im
     Zusammenhang mit den Find-Funktionen kann es von Nutzen sein, sich
     vor Aufruf dieser Funktionen einen Marker auf die Ausgangszeile zu
     setzen. �brigens wird im Menu der Anfang der entsprechenden Zeile
     eingetragen, so da� Sie auch nach l�ngerer Zeit nicht den �berblick
     �ber Ihre Marker verlieren.

  \item[Goto mark:]
     Benutzen Sie diese Funktion, um an die Textstelle zu gelangen, an der
     Sie einen Marker definiert haben. Folds werden solange ge�ffnet, bis
     die entsprechende Textstelle sichtbar ist. Beachten Sie auch, da� sich
     die Marker in unterschiedlichen Files befinden k�nnen.

\end{description}

\subsubsection{Das Block-Menu}
  W�hrend der Arbeit kommt es immer wieder Mal vor, da� man einen gr��eren
  Textabschnitt kopieren, verschieben oder l�schen will. Hierzu dienen
  Bl�cke, die man in seinem Text definiert. xEDIT arbeitet grunds�tzlich
  mit ganzen Zeilen als kleinste Einheit f�r Bl�cke. Das ist f�r
  Programmierer angenehm, f�r Textverarbeiter allerdings nicht gerade das
  Gelbe vom Ei. In sp�teren Versionen wird das sicherlich verbessert werden.
  Beachten Sie, da� xEDIT anders als andere Programme bei der
  Blockverarbeitung nicht mit einem speziellen Zwischenpuffer arbeitet,
  sondern sich schlicht und ergreifend nur die erste und letzte Zeile des
  Blocks merkt. �brigens k�nnen Sie Bl�cke selbstverst�ndlich von einem
  File in ein anderes kopieren, es steht also nichts im Weg, lange Texte in
  mehrere Files aufzuspalten.

\begin{description}

  \item[Define start:]
     Wenn Sie einen Block markieren wollen, gehen Sie einfach in die Zeile,
     mit der er beginnen soll, und benutzen "`Define start"' im Menu oder
     dr�cken noch einfacher CONTROL/B. Der auf diese Zeile folgende Text
     wird auf dem Bildschirm optisch hervorgehoben.

  \item[Define end:]
     Das Ende eines Blockes k�nnen Sie nur dann markieren, wenn Sie davor
     den Anfang definiert haben. Sie erkennen den Bereich, in dem Sie das
     Ende definieren k�nnen einmal an der hervorgehobenen Schrift und zum
     anderen daran, da� ganz links der Rand invertiert ist. Letzteres
     h�ngt mit der Folding-Struktur zusammen. �brigens wird das Blockende
     bei einem geschlossenen Fold auf die letzte Zeile des Folds gesetzt,
     auch wenn diese nicht sichtbar ist.

  \item[Hide block:]
     Wenn Sie Blockmarkierungen wieder aufheben wollen, benutzen Sie bitte
     diesen Menupunkt.

  \item[Fold block:]
     Bl�cke k�nnen Sie auch falten, d.h. der Text verschwindet bis auf die
     erste Zeile in einem Fold, und wird erst wieder durch Doppelklick oder
     den entsprechenden Menupunkt aufgeklappt. Beachten Sie, da� die
     Information, auf welche Weise Sie Ihren  Text falten, in einem zweiten
     File abgespeichert wird, Ihr eigentlicher Text bleibt von dieser
     Ma�nahme also komplett unber�hrt.

  \item[Copy block:]
     Wenn Sie einen Block markiert haben, wird er durch diesen Menupunkt
     an die Stelle, an der sich der Cursor befindet, kopiert. Nat�rlich
     k�nnen Sie diese Funktion auch mehrmals ausf�hren.

  \item[Move block:]
     Wenn Sie einen Block verschieben oder in ein anderes File verlagern
     wollen, benutzen Sie diese Funktion. (�brigens ist dieser Befehl intern
     durch die Folge "`Copy block"' und "`Delete block"' implementiert, Sie
     w�rden durch Benutzung dieser beiden Funktionen das selbe Resultat
     erzielen.)

  \item[Delete block:]
     Benutzen Sie diese Funktion, wenn Sie einen Block l�schen wollen.
     Verwechseln Sie bitte aber auf keinen Fall die Funktion
     "`Delete block"' mit "`Hide block"'.

\end{description}

\subsubsection{Das Find-Menu}
  Bei gro�en Texten bietet es sich an, bestimmte Textstellen nicht durch
  intensives Scrollen und Nachlesen zu suchen, sondern dieses automatisch
  von dem Editor vornehmen zu lassen. Hierzu dienen die verschiedenen
  Find-Funktionen.

\begin{description}

  \item[Find string:]
     Ab der aktuellen Cursorposition bis zum Ende des aktiven Files wird
     nach dem Wort gesucht, das Sie hier eingeben. Wenn Sie in der
     Dialogbox "`MATCH"' angew�hlt haben, mu� das gesuchte Wort in Gro�-
     und Kleinschreibung �bereinstimmen, allerdings ist die Suche dann
     auch etwas schneller. Das d�rfte sich aber erst bei extrem langen
     Texten bemerkbar machen. Wenn Sie den gesamten Text durchsuchen
     wollen, m�ssen Sie zuerst an den Anfang des Files gehen. Zuvor w�rde
     ich aber in die Ausgangszeile einen Marker setzen, am besten einen,
     den Sie stets f�r diesen Zweck einsetzen, also z.B. Marker Nr.~6.
     �brigens werden auch geschlossene Folds durchsucht, weil sich die
     Programme, mit denen Sie Ihren Text eventuell weiterverarbeiten
     (Compiler, \TeX\ usw.), ja nicht f�r die Folding-Struktur
     interessieren.

     {\bf Wichtig:}

     Bei der Zeicheneingabe in der Dialogbox wird die
     Standard-Tastaturbelegung des ATARI benutzt, Ihre selbstdefinierten
     Tastaturmakros laufen also nicht. Allerdings k�nnen Sie jedes
     beliebige Zeichen durch Anklicken im Buchstabenfeld erreichen
     (nett, nicht wahr?).

  \item[Find \& replace:]
     Geben Sie bei "`Find"' das zu suchende Wort ein, und tragen Sie bei
     "`Replace"' das Wort ein, durch das es ersetzt werden soll. Die Option
     "`Some"' bewirkt, da� vor dem Ersetzen eine Nachfrage stattfindet. Wenn
     Sie "`All"' angew�hlt haben, entf�llt diese. Wenn Sie die Funktion
     "`Replace all"' abbrechen wollen, m�ssen Sie einige Male eine Taste
     dr�cken, am besten "`Help"'. Leider klappt das meistens erst nach
     einiger Zeit, spielen Sie bitte also nicht rum und ersetzen alle
     "`A"'s durch "`U"'s, es kann sonst sein, da� Sie recht lange warten
     m�ssen. Ansonsten gilt auch hier das bei "`Find string"' gesagte.

  \item[Find top of file/Bottom of file:]
     Durch diese Funktionen gelangen Sie zur ersten bzw. zur letzten Zeile
     des Files.

  \item[Find blockstart:]
     Durch diese Funktionen gelangen Sie zur ersten Zeile des Blocks.
     Beachten Sie, da� sich dieser auch in einem anderen File befinden kann.

  \item[Repeat find:]
     Durch diese Funktion wird das Wort, das Sie bei Find eingegeben haben,
     nochmals gesucht.

\end{description}

\subsubsection{Das Etc-Menu}
    In diesem Menu finden Sie Einstellungen, die das Aussehen des
    Bildschirms und den Eingabemodus beeinflussen. Ebenso sind die die
    Funktionen f�r die Ausgabe auf dem Drucker untergebracht. Beachten
    Sie, da� die meisten Einstellungen f�r jedes File getrennte G�ltigkeit
    haben.

\begin{description}

  \item[Insert mode/Overwrite mode:]
    Der Insert mode ist der Standard-Einabemodus, bei dem Zeichen unter dem
    Cursor eingef�gt werden. Im Overwrite-Modus �berschreiben Sie die
    Zeichen unter dem Cursor. Er dient in erster Linie zum Verbessern von
    fehlerhaften Stellen.

  \item[Sourcecode mode/Document mode:]
    Der Sourcecode-Mode ist der Eingabemodus, bei dem Sie den Cursor frei
    positionieren k�nnen, und bei dem der Arbeitsbereich jeweils die
    aktuelle Zeile ist. Er eignet sich in erster Linie f�r die Eingabe
    von Programmtexten, da diese meist stark zeilenorientiert sind.
    Im Document-Mode wird diese strenge Zeilenorientiertheit aufgebrochen,
    und der Cursor wandert z.B. an den Anfang der n�chsten Zeile, wenn das
    Zeilenende �berschritten wird. Auch wird beim Zeilenumbruch innerhalb
    eines Wortes automatisch ein Trennzeichen angeh�ngt, das beim
    Zusammenf�gen der Zeilen wieder verschwindet. Als Trennzeichen wird das
    Zeichen Nr.~127 benutzt, Sie k�nnen mit XED\_INST jedoch auch ein
    anderes f�r diesen Zweck deklarieren oder diese Option auch abstellen.
    Falls Sie Ihre Texte "`blind"' eintippen, k�nnen Sie eine
    Art Schreibmaschinenglocke auf eine bestimmte Spalte legen. Sollte
    Sie das "`Piing"' jedoch st�ren, w�hlen Sie einfach die Spalte
    Null, dann kann die Glocke nicht mehr ert�nen.

  \item[Automatic indent:]
    Wenn Sie diese Option aktiviert haben, wird der Cursor beim Einf�gen
    einer Zeile auf die Stelle gesetzt, bei der sich in der Zeile oberhalb
    der erste Buchstabe findet. Dieses automatische Einr�cken ist vor
    allem beim Edieren von Programmtexten n�tzlich.

  \item[Big/Medium/Small font:]
    Hier stellen Sie bitte die Gr��e des Zeichensatzes ein, der f�r die
    Bild"-schirm"-aus"-gabe benutzt werden soll.
    Der gro�e Font ist sicherlich der augenfreundlichste, hat aber den
    Nachteil, da� man nur 23~Zeilen zu sehen bekommt. Die meisten Zeilen
    sehen Sie bei Benutzung des mittleren Fonts, jedoch f�llt es schwer,
    bei langen Textzeilen den einzelnen Zeilen zu folgen (zu wenig wei�er
    Raum zwischen den einzelnen Zeilen). Ein guter Kompromi� stellt der
    kleinste Font dar, leider erfolgt bei ihm die Ausgabe nicht so schnell
    wie bei den beiden anderen Fonts. Daf�r k�nnen Sie aber auch bis zu
    104~Zeichen in einer Zeile betrachten. �brigens k�nnen Sie sich eigene
    Fonts mit Hilfe von XED\_INST entwerfen, wobei Sie sich jedoch am
    Zeichenvorrat Ihres Druckers orientieren sollten.

  \item[Show info line:]
    In der Infozeile finden Sie die augenblickliche Position des Cursors,
    sowie die L�nge der aktuellen Zeile und ihre Ausdehnung in
    Proportionalschrift. �ber letzteren Punkt k�nnen Sie mehr im Kapitel
    "`xEDIT als Mini-Textverarbeitung"' finden.

  \item[Show line numbers:]
    Wenn diese Option aktiviert ist, sehen Sie am linken Bildschirmrand die
    Nummern der jeweiligen Zeilen. Beachten Sie, da� diese nicht zu Ihrem
    Text geh�ren, also nicht abgespeichert oder ausgedruckt werden.

  \item[Print block/Print file:]
    Diese Funktionen dienen zum Ausdruck von Bl�cken und ganzen Files.
    Wenn Sie n�here Information suchen, lesen Sie bitte "`xEDIT als
    Mini-Textverarbeitung"'.

\end{description}

\subsubsection{Das etc-Menu}
  In diesem Menu sind die �brigen Funktionen untergebracht, die Sie
  eventuell von Zeit zu Zeit ben�tigen.

\begin{description}

  \item[Split window:]
    Wenn es n�tig sein sollte, zwei Texte gleichzeitig auf dem
    Bildschirm darzustellen, k�nnen Sie den Bildschirm in einen
    oberen und unteren Bereich aufspalten. Auf einen legen Sie dann
    zum Beispiel ihren Programmtext und auf den anderen die
    Fehlermeldungen des Compilers. Nat�rlich k�nnen Sie mit der Maus
    die Position des Split-Balkens verschieben und auch verschiedene
    Fontgr��en einsetzen. Wenn Sie auf beide Fensterteile
    den selben Text legen, ist nur im aktiven Fensterteil das korrekte
    Aussehen des Textes gew�hrleistet!

  \item[Open fold/Close fold:]
    Diese Funktionen sind nur der Vollst�ndigkeit halber auch noch
    einmal im Menu untergebracht. Einfacher ist sicherlich der Doppelklick
    mit der Maus.

  \item[Hide fold:]
    Durch diese Funktion wird ein Fold aufgel�st, der eigentliche Text
    wird dabei nicht ver�ndert.

  \item[Proportion of \dots:]
    W�hlen Sie hier, welche Proportionalschriftbreitentabelle f�r die
    Ausgabe in der Info-Zeile benutzt werden soll. F�r n�here
    Informationen lesen Sie bitte
    "`xEDIT als Mini-Text"-ver"-ar"-bei"-tung"'.

  \item[Show RSC-Info \& Settings:]
    Da es durchaus m�glich und auch anzuraten ist, sich f�r
    jeden Aufgabenbereich ein eigenes RSC-File f�r xEDIT zu
    erstellen, kann es schon einmal vorkommen, da� Sie wissen
    wollen, welches RSC-File jetzt wirklich geladen wurde, und
    welche Eigenschaften es hat. Hierzu dient dieser Menupunkt.
    Au�erdem k�nnen Sie einige Parameter, wie zum Beispiel die
    Tabulatorweite ab�ndern, da der Weg �ber XED\_INST manchmal
    zu umst�ndlich ist.

  \item[Help:]
    Hier finden Sie die elementaren Tastaturkommandos f�r
    das Edieren von Texten.

\end{description}


\subsection{Die Eingabe von Texten}
  Hierzu gibt es eigentlich nicht viel zu sagen. Nutzen Sie bitte zum
  Kennenlernen den Menupunkt "`Help"' (Sie finden ihn an letzter Stelle im
  letzten Menu), um mit den M�glichkeiten der Texteingabe vertraut zu
  werden. Sollte einmal ein Zeichen nicht auf der Tastatur vorhanden sein,
  k�nnen Sie einfach die rechte Maustaste dr�cken und im erscheinenden
  Formular das entsprechende Zeichen anklicken, es wird dann an der
  Cursorposition ausgegeben. Au�erdem m�chte bereits an dieser Stelle
  darauf hinweisen, da� die M�glichkeit besteht, Tastaturmakros zu
  installieren. Sie k�nnen dadurch Sonderzeichen oder auch ganze Worte
  und S�tze auf eine Taste legen, wenn Sie diese h�ufiger
  ben�tigen. Mehr zu diesem Themenkreis finden Sie im Kapitel
  {\em "`xEDIT als offenes System"'}.


\section{xEDIT als offenes System}
Es geh�rt zur Philosophie von xEDIT, da� es sich f�r m�glichst viele
Einsatzzwecke anpassen l��t. Erreicht wurde dies, indem ein Maximum von
Einstellungen auf ein RSC-File ausgelagert wurde, und nun jedeR BenutzerIn
sein eigenes RSC-File anfertigen kann, das sich f�r den jeweiligen
Einsatzzweck am besten eignet, oder das seinen/ihren Gewohnheiten am
n�hesten kommt.

\bigskip
Die RSC-Files enthalten:
\begin{itemize}
\item Die Bildschirmzeichens�tze
\item Die Tastaturbelegung, in der auch Makros enthalten sein k�nnen
\item Die Druckeranpassung, mit der Sie auch Textattribute (fett,
     unterstrichen usw.) aktivieren k�nnen
\item Die Standardeinstellungen, die Sie beim Edieren eines Files
     vorfinden m�chten
\item Die Breitentabellen f�r Proportionalfonts
\item Eine Tabelle zur Gro�-klein-Umwandlung von nationalen Sonderzeichen
\item \dots allerlei Voreinstellungen, deren Aufz�hlung hier zu weit
     f�hren w�rde
\end{itemize}
Zum Erzeugen dieser RSC-Files dient das XED\_INST-Programm, das Sie
unbedingt einmal starten sollten, um alle Einstellungsm�glichkeiten
kennenzulernen.

Wenn Sie h�ufiger unterschiedliche RSC-Files benutzen wollen, legen
am besten einen Ordner mit ihnen an, und dr�cken beim Starten
von xEDIT die Alternate-, Shift- oder Control-Taste. Es erscheint dann
erstmal eine Fileselectbox, mit der Sie das zu ladende RSC-File
ausw�hlen k�nnen. Sorgen Sie aber daf�r, da� beim normalen Start der
Ordner mit den RSC-Files nicht durchsucht wird, denn xEDIT nimmmt einfach
das erste, das gefunden wird.

\subsection{Das XED\_INST.PRG}
Mit Hilfe von XED\_INST k�nnen Sie ein schon vorhandenes RSC-File
f�r Ihren Aufgabenbereich modifizieren und es dann unter anderem
Namen abspeichern. Da das �ndern der Bildschirmzeichens�tze mit
Sicherheit der aufwendigste Anpassungsschritt ist, sollten Sie
zu Beginn der Arbeit das RSC-File ausw�hlen, das die am besten
geeigneten Zeichens�tze besitzt. Sie m�ssen dann wahrscheinlich
kaum etwas an ihnen �ndern. Die Zeichens�tze von XEDIT.RSC und
XED\_TEX.RSC wurden �brigens von mir entwickelt, und sind auf optimale
Lesbarkeit hin ausgerichtet, daran sollten auch Sie sich orientieren.
Eine Kurzbeschreibung der einzelnen RSC-Files finden sie im "`READ.ME"'
des RSC-Ordners.

Sollten Sie wider Erwarten gr��ere �nderungen an einem Zeichensatz
vornehmen m�ssen, schicken Sie mir doch bitte das RSC-File danach
zu, ich werde es dann dem Paket beif�gen. Andere Benutzer werden es
Ihnen danken. Aber auch Anpassungen f�r andere Drucker oder
spezielle Tastaturbelegungen k�nnen mein Interesse wecken.

\begin{description}

\item[Lese Tastaturbelegung/Druckersequenzen:]
Mit Hilfe dieser Menupunkte werden die Files f�r die Tastaturbelegung
bzw. die Druckersequenzen eingelesen, �bersetzt und im RSC-File
untergebracht. Bei diesen Files handelt es sich um ganz normale
ASCII-Texte, die Sie mit Hilfe von xEDIT erstellen k�nnen. N�here
Information finden Sie in den Abschnitten "`Tastaturbelegung"' und
"`Druckeranpassung"'.

\item[Lese GROSS-klein-Tabelle:]
Ab Version 1.54 wird von xEDIT eine Tabelle benutzt, in der definiert ist,
welche Nummer die Zeichen in ihrer gro�en bzw. kleinen Ausf�hrung haben.
Dies ist notwendig geworden, da im Bereich der nationalen Sonderzeichen
keine echte Systematik vorhanden ist, und vor allem weil \TeX\ dort
einen abweichenden Zeichensatz benutzt (einen, der sich hoffentlich weiter
durchsetzen wird).

\item[�ndere Zeichensatz:]
Leider gibt es bei der Belegung der nationalen Sonderzeichen (Zeichen
128 bis 255) keinen allgemein g�ltigen Standard, so da� viele Programme ihr
eigenes S�ppchen kochen. Das Betriebssystem des ATARI ist da keine Ausnahme,
und so finden Sie dort eine Menge Zeichen (vor allem die hebr�ischen), die
kaum ein Drucker wiedergeben kann. In Anbetracht dieser Tatsache habe ich
mich entschlossen, die Bildschirmzeichens�tze auf das RSC-File auszulagern,
damit eine leichte Anpassungsm�glichkeit besteht.

W�hlen Sie im Menu den Zeichensatz aus, an dem Sie Ver�nderungen
vornehmen wollen, und klicken Sie dann im Formular das Zeichen an,
das Sie bearbeiten wollen. Das Zeichen wird dadurch in das Matrix-Fenster
�bertragen, und Sie k�nnen mit Hilfe der linken und rechten Maustaste
�nderungen vornehmen. Durch Anklicken der Schlie�box wird das Zeichen
dann in den Zeichensatz �bertragen. Vergessen Sie aber nicht, ein Zeichen
in allen drei Zeichensatzgr��en abzu�ndern.

\item[�ndere Steuercodes:]
Wenn Sie den Wunsch versp�ren, die elementaren Steuerungsfunktionen wie
"`Leerzeile einf�gen"', "`Wort nach rechts"' usw. auf andere
Tastenkombinationen zu legen, k�nnen sie das mit Hilfe dieses
Menupunktes erreichen. Auf eine Besonderheit m�chte ich in diesem
Zusammenhang hinweisen:

xEDIT spaltet den Zeilenrest im Gegensatz zu vielen anderen Editoren
bei Dr�cken von RETURN nicht ab, sondern hat hierf�r eigens die
Tastenkombination CONTROL/RETURN vorgesehen. Sollte Sie das verwirren,
k�nnen Sie das einfach ab�ndern. W�hlen Sie die Funktion "`Return"'
und dr�cken Sie CONTROL/RETURN, und w�hlen Sie danach die Funktion
"`Split line"' und dr�cken ein einfaches RETURN. Auf diese Weise
sind die Tastenkombinationen f�r diese beiden Funktionen vertauscht.

\item[Standards:]
Klicken Sie hier die Einstellungen an, die Sie beim Edieren eines neuen
Files vorfinden m�chten. Bei Unklarheiten lesen Sie bitte den
entsprechenden Punkt im Help-Menu oder lesen Sie nochmal das Kapitel
"`xEDIT als ASCII-Editor"', ich hoffe, da� Sie dann zurecht kommen werden.

\item[Andere Menupunkte.]
Ich hoffe, da� sich die restlichen Menupunkte von selbst erkl�ren, f�r
manche Fragen sollten Sie aber vielleicht trotzdem das Kapitel
"`xEDIT als Mini-Textverareitung"' lesen. Das gilt besonders f�r das
"`PFont"'-Menu, da� f�r den Umgang mit Proportionalschrift gedacht ist.

\end{description}
\subsection{Die Tastaturbelegung}
Hier mu� ich leider etwas weiter ausholen, sonst wird die Sache zu
unverst�ndlich:
Stellen Sie sich vor, da� xEDIT eine Betriebssystemfunktion aufruft, die
dann zur�ckkehrt, wenn eine Taste gedr�ckt wurde. Ist nun dieses Ereignis
eingetreten, kann mit diesem Tastendruck alles m�gliche gemeint sein.
Sie wollen vielleicht einen Buchstaben eingeben, eine Funktion wie
"`Return"' aufrufen, einen Menueintrag �ber K�rzel erreichen oder
vielleicht ein Tastaturmakro abrufen.(Unter einem Tastaturmakro stellen Sie
sich bitte vorerst eine Folge von Zeichen vor, die mit einem einzigen
Tastendruck ausgegeben wird.) Diese Unterscheidung wird jetzt von
xEDIT vorgenommen. Hierzu existieren einige Tabellen mit den Scancodes
der entsprechenden Tastenkombinationen. Die meisten dieser Tabellen k�nnen
Sie mit Hilfe von XED\_INST ab�ndern.

Der Scancode ist der R�ckgabewert der erw�hnten Betriebssystemfunktion und
ist eine 16-Bit Zahl, in deren Highbyte (Bit 8 -- 15) die Nummer der
gedr�ckten Taste untergebracht ist, und in deren Lowbyte (Bit 0 -- 7) sich
der ASCII-Wert, also die Nummer des Buchstabens, befindet. Dr�cken Sie also
die "`1"' auf dem Ziffernblock, so erhalten Sie einen anderen Scancode als
wenn Sie die "`1"'auf der normalen Tastatur dr�cken. Die Lowbytes sind
allerdings die gleichen. In diesem Zusammenhang soll nicht unerw�hnt
bleiben, da� es keine Taste mit der Nummer Null gibt, das ist im
Zusammenhang mit den Tastaturmakros von Bedeutung.

xEDIT untersucht nun zuerst die Tabelle mit den Steuercodes (z.B. Return,
Delete\dots), ob einer davon mit dem Scancode der gedr�ckten Taste
�bereinstimmt. Wenn ja, wird die entsprechende Funktion aufgerufen. Als
n�chstes wird die Tabelle mit den Tastaturmakros ausgewertet und danach die
Tabelle, die die Shortcuts f�r das Menu enth�lt. Wenn nirgends ein
�bereinstimmender Scancode gefunden wurde, wird davon ausgegangen, da� es
sich diesmal tats�chlich um einen normalen Buchstaben handelt, das Highbyte
gel�scht und der entsprechende Buchstabe ausgegeben.

Was in diesem Zusammenhang wichtig ist, ist die Reihenfolge der Auswertung.
Wenn Sie also ein Tastaturmakro auf CONTROL/1 legen, k�nnen Sie den
Shortcut f�r "`Goto mark 1"' nicht mehr erreichen, da die Tastaturmakros
fr�her ausgewertet werden. Beachten Sie au�erdem, da� nicht alle
unterschiedlichen Tastenkombinationen auch unterschiedliche Scancodes
liefern.

Die Tabelle mit den Steuercodes k�nnen Sie mit Hilfe von XED\_INST ab�ndern,
benutzen Sie hierzu den Menupunkt "`�ndere Steuercodes"'. Zur Entwicklung
von Tastaturmakros verweise ich auf den n�chsten Abschnitt. Die Shortcuts
f�r das Menu k�nnen Sie zur Zeit noch nicht �ndern, weil dann auch die neuen
Tastenkombinationen im Menu eingetragen werden sollten. Jedoch gibt es die
M�glichkeit, noch andere Tastenkombinationen f�r das Menu als Tastaturmakros
zu implementieren.

\subsection{Die Entwicklung von Tastaturmakros}
Wenn Sie bis hier alles verstanden haben, d�rfte Ihnen alles weitere auch
nicht schwer fallen, das Grundprinzip ist immer das selbe.

Wenn nun also in der Tabelle mit den Tastaturmakros ein �bereinstimmender
Scancode gefunden wurde, tritt im Rechner ein kleiner "`Blitztipper"' in
Aktion, der jetzt seinerseits so tut, als ob er bestimmte Tasten dr�cken
w�rde. Im Klartext: Das Programm ruft sich selbst rekursiv mit Scancodes
auf, die Sie vorher definiert haben. Hierf�r fertigen Sie ein KBD-File
an, in dem Sie Ihre Makros eintragen, und lassen diese dann von XED\_INST
in einem RSC-File unterbringen.

Benutzen Sie folgendes Format:

\begin{verbatim}
?<Scancode> <'Zeichen'> od. <Scancode> od. <'Zeichenkette'>   * Kommentar
\end{verbatim}

\begin{description}

\item[Ein einfaches Beispiel:]
Es st�rt Sie, da� auf dem Ziffernblock immer nur ein Punkt und nicht ein
Komma erreicht werden kann.
Finden Sie nun mit Hilfe von XED\_INST den Scancode dieser Taste heraus.
Er ist �brigens \&710E (Hexadezimal). Nun m�ssen Sie den ASCII-Code des
Kommas herausfinden. Wenn Sie keine ASCII-Tabelle besitzen, drucken Sie doch
einfach das File "`HEX\_TAB.DOC"' via xEDIT aus, dann haben Sie eine (wenn
es mit dem Ausdruck geklappt hat).Jedenfalls ist der Code des Kommas \&2c.

Bringen Sie nun die Zeile
\begin{verbatim}
?&710E  &002c            * , statt . auf Ziffernblock
\end{verbatim}
in Ihrem KBD-File unter, und lassen Sie einmal XED\_INST laufen. Wenn Sie
nichts falsch gemacht haben, wird jetzt beim Dr�cken des Punktes
(Betriebssystem meldet \&710E) stattdessen das Komma ("`Blitztipper"'
schickt \&002C) ausgegeben. Altenativ h�tten Sie auch folgende Zeile
eingeben k�nnen:
\begin{verbatim}
?&710E  ','              * , statt . auf Ziffernblock
\end{verbatim}

\item[Ein einfacher Briefkopf:]
XED\_INST h�ngt das "`Return"' selbst�ndig am Zeilenende an,
falls in der n�chsten Zeile keine neue Definition folgt.
\begin{verbatim}
?&3b00 &1c0d,'Alexander Gr�pl'     * Briefkopf auf f1
       'Pilgerstra�e 10'
       '6710 Frankenthal',&1c0d    * &1c0d ist der Scancode von 'Return'
\end{verbatim}

\item[Zwei n�tzliche Makros f�r \TeX:]
In \LaTeX\ arbeitet man oft innerhalb von speziellen Umgebungen. Folgende
Makros erleichtern die Eingabe:
\begin{verbatim}
?&3B00 '\begin{}' &4B00            * \begin{} auf f1
?&3C00 '\end{}'   &4B00            * \end{} auf f2
\end{verbatim}
Die \&4B00 ist der Scancode von "`Cursor nach links"', so da� Sie gleich
innerhalb der geschweiften Klammern weiterschreiben k�nnen.

\end{description}

Wie Sie sehen, lassen sich auf relativ einfache Weise Makros erstellen, die
Ihnen eine Menge Tipparbeit ersparen k�nnen. Auf einige Anwendungen m�chte
ich in diesem Zusammenhang noch hinweisen:

\begin{itemize}

\item Wenn Sie fremdspachige Texte edieren, sollten Sie sich die
entsprechenden nationalen Sonderzeichen auf irgend eine Tastenkombination
legen. Sie brauchen dann nicht mehr das Buchstabenformular benutzen.
\item Wenn Sie �fters einen Rahmen f�r Tabellen ben�tigen, legen Sie sich
doch die entsprechenden Zeichen auf den Ziffernblock. Es gibt da eine recht
einpr�gsame Anordnung, die auch in XEDIT.KBD eingesetz wird.
\item Wenn Sie h�ufig mit Standards�tzen arbeiten, k�nnen Sie sich diese
nat�rlich auch auf eine Tastenkombiation legen. Ein Freund von mir hat sogar
schon einmal einen ganzen Brief auf eine Taste gelegt.

\end{itemize}


\section{xEDIT als Mini-Textverarbeitung}
xEDIT l��t sich bis zu einem bestimmten Umfang auch f�r Textverarbeitungen
einsetzen, jedoch beruht diese F�higkeit im wesentlichen auf der
`Intellenz', die viele Drucker heutzutage aufweisen. Ich habe mir M�he
gegeben, einen Weg zu finden, der es Ihnen erm�glicht, diese Intelligenz
auch tats�chlich auszunutzen. Da xEDIT die eingebauten Druckerzeichens�tze
benutzt und nicht im Grafikmodus druckt, wie es viele bekannten
Textverarbeitungen tun, ist der Ausdruck ziemlich schnell, leider aber
auch nicht ganz so hochwertig. Ich denke aber, da� die Qualit�t f�r Ihre
Alltagskorrespondenz durchaus gen�gen d�rfte. Wenn Sie "`Kunstwerke"'
erstellen wollen, sind Sie mit xEDIT in dieser Hinsicht falsch bedient.
Auch m�chte ich bereits an dieser Stelle davor warnen, lange Abhandlungen
im xEDIT-Format zu erstellen, da durch das manuelle Formatieren �nderungen
recht m�hselig werden k�nnen, und eine Weiterverarbeitung mit anderen
Programmen erschwert ist, wenn in Ihrem Text Sonderzeichen zur
Druckersteuerung vorkommen. Manche Programme weigern sich dann einfach,
den Text einzulesen, auch wenn es sich nur um ein einziges Zeichen handelt,
das Sie irgendwo vergessen haben.

Allerdings k�nnen Sie durch geschickte Ausnutzung der F�higkeiten Ihres
Druckers Effekte erzielen, die Sie mit anderen bekannten Textverarbeitungen
nicht erzielen k�nnen. Ich denke da besonders an ein weit verbreitetes
Pseudo-WYSIWYG Programm, mit dem Sie Ihre ersten Worte zwar relativ einfach
zu Papier bringen k�nnen, da� sich aber ansonsten neben seiner bed�chtigen
Arbeitsweise auch durch ein total starres Konzept auszeichnet, geschweige
denn, da� der Einsatz von Proportionalschrift unterst�tzt wird.

\subsection{Allgemeine Vorgehensweise}
Tippen Sie Ihren Text einfach zuerst mal ein und achten Sie dabei nicht
allzu sehr auf eine korrekte Formatierung. Erst wenn feststeht, da� Ihr
Text nicht mehr ver�ndert wird, sollten Sie mit der Formatierung
beginnen.

Am einfachsten haben Sie es, wenn Sie auf den Einsatz von
Proportionalschrift verzichten. Dann werden die Zeichen an den
Positionen ausgedruckt, an denen Sie sich auch auf dem Bildschirm befinden.
Nutzen Sie die Funktion CONTROL/RETURN, um den Zeilenrest in die n�chste
Zeile zu schreiben, und CONTROL/TILDE, um zwei Zeilen zusammenzuf�gen.
Wenn Sie nun bestimmte Worte mit Attributen (fett, unterstrichen,usw.)
versehen wollen, f�gen Sie die entsprechenden Druckersteuerzeichen in Ihrem
Text ein. Die Tabelle mit diesen Zeichen erhalten Sie durch den Ausdruck
von TESTPAGE.DOC\@. W�hlen Sie danach an Ihrem Drucker die gew�nschte
Schrift, und der Ausdruck kann beginnen.

Wenn Sie mit Proportionalschrift arbeiten wollen, wird die Sache etwas
komplizierter. Da hier die Zeichen nicht mehr alle gleich breit sind,
klappen bestimmte Sachen, wie das �bereinandersetzen in Tabellen nicht
mehr. Auch ist der Randausgleich nun nicht mehr so einfach m�glich.
Trotzdem brauchen Sie nun nicht gleich das Handtuch schmei�en, denn
durch eine geschickte Steuerung l��t sich Ihr Drucker �berreden,
so ziemlich jeden gew�nschten Effekt auszugeben. Wenn Sie einen
P6 oder eine kompatiblen Drucker besitzen, k�nnen Sie sogar Texte
in Proportionalschrift und Blocksatz ausdrucken, allerdings m�ssen
Sie dann schon ein wenig in die Trickkiste greifen. Davon handeln
die n�chsten Abschnitte.

\subsection{Die Druckerschnittstelle}
xEDIT besitzt eine relativ einfache Druckerschnittstelle, die sich jedoch
gerade wegen Ihrer Einfachheit sehr universell einsetzen l��t. Ein Nachteil
ist allerdings, da� man sich dann schon einmal mit seinem Drucker
auseinandersetzen mu�, um alle M�glichkeiten auszusch�pfen. In diesem
Handbuch werden nur die grundlegenden Sachen erkl�rt, f�r tiefergehende
Fragen m�ssen Sie Ihr Druckerhandbuch zu Rate ziehen (hoffentlich finden
Sie es noch).

\subsubsection{Was Ihr Drucker macht\dots}
Drucker unterscheiden normale Zeichen und sogenannte Steuerzeichen.
Erstere sind die Zeichen, die Sie sp�ter auch ausgedruckt sehen, w�hrend
letztere dazu dienen, um zum Beispiel das Papier zu transportieren oder eine
Schriftart auszuw�hlen. Die h�ufigsten Steuerzeichen sind:

\begin{itemize}
\item Das CR-Zeichen (Zeichen Nr. 13 "`Carriage Return"') l��t den Drucker
   die eingegeben Zeile ausdrucken (wurde zwischengespeichert) und bewegt
   den Druckkopf danach an den linken Rand (den Sie definieren k�nnen).
\item Das LF-Zeichen (Zeichen Nr. 10 "`Line Feed"') l��t den Drucker das
   Papier um eine Zeile weitertransportieren. Den Zeilenabstand k�nnen Sie
   selbst definieren. �brigens sind einige Drucker von Werk aus so
   eingestellt, da� f�r ein CR auch gleich ein LF ausgegeben wird (meiner
   war's (P2+)).
   Stellen Sie das ab, da bei ATARI immer beide Zeichen gesendet werden.
   Sie haben sonst immer eine wei�e Zeile zwischen Ihren Textzeilen.
\item Das FF-Zeichen (Zeichen Nr. 12 "`Form Feed"') l��t den Drucker das
   Papier bis zur n�chsten Seite transportieren.
\item Das ESC-Zeichen (Zeichen Nr. 27 "`Escape"') leitet eine Vielzahl von
   sogenannten Escape-Sequenzen ein, von denen es mehr als f�nfzig St�ck
   gibt. Keine Angst, die allermeisten werden Sie nie ben�tigen. Alle diese
   Escape-Sequenzen haben als erstes Zeichen das ESC-Zeichen und danach
   ein Zeichen, das die gew�nschte Funktion ausw�hlt. Danach k�nnen bei
   vielen Sequenzen weiter Zeichen folgen, die als Parameter dienen.

   Beispiele:
   \begin{itemize}
   \item ESC E schaltet die Fettschrift ein
   \item ESC F schaltet die Fettschrift wieder aus
   \item ESC l (n) setzt den linken Rand auf die Spalte, die Sie mit
       n eingeben. Geben Sie hier nat�rlich nicht eine Zahl ein, sondern
       das Zeichen mit der Nummer n.
   \item ESC Q (n) setzt den rechten Rand entsprechend.
   \end{itemize}
\end{itemize}

�brigens befinden sich f�r Sie unsichtbar am Ende jeder Zeile im Editor
auch ein CR- und ein LF-Zeichen. Auch beim Einlesen eines Files wird dadurch
das Zeilenende erkannt. Das ist ATARI-Standard, bei anderen Rechnerfamilien
kann das Zeilenende jedoch auch anders codiert sein.

\subsubsection{\dots und wie xEDIT es ihm beibringt}
Damit man nun alle diese Zeichen bequem an den Drucker �bergeben kann,
arbeitet der Druckertreiber in verschiedenen Arbeitsmodi:

\begin{description}

\item[Interpret-Mode (Standard):]
Der Druckertreiber schickt f�r jedes Zeichen, das er ausdrucken soll, ein
oder mehrere Bytes an den Drucker. Diese Information befindet sich im
RSC-File, das Sie mit Hilfe von XED\_INST modifizieren k�nnen.
Hierbei wird ein PRN-File eingelesen und ausgewertet. Eintr�ge k�nnen
zum Beispiel so aussehen:

\begin{verbatim}
1 27 69        * Bold an als Zeichen Nummer 1
2 27 70        * Bold aus als Zeichen Nummer 2
127 15 45 18             * Trennung (Minus-Zeichen in Schmalschrift)
158 27 82 2 126 27 82 0  * scharfes S
\end{verbatim}

\item[Stupid-Mode:]
Nat�rlich ahnen Sie jetzt schon ein erstes Problem: Was machen Sie, wenn Sie
Zeichen an den Drucker schicken wollen, ohne da� sie durch andere ersetzt
werden, wenn Sie zum Beispiel in einer Escape-Sequenz eine 1 schicken
wollen, die ja als 'Bold an' interpretiert wird? Ganz einfach: Sie m�ssen
den Interpreter ausschalten! Sie erreichen dies durch den kleinen Pfeil
(Zeichen Nr. 255). Eingeschaltet wird er dann wiederum durch einen kleinen
Pfeil.

\item[Sleep-Mode:]
Wollen Sie Kommentare einbauen, m�ssen Sie den Druckertreiber in den
Schlafzustand versetzen. Sie erreichen dies durch zwei Pfeile. Danach
ignoriert der Druckertreiber alle Zeichen, bis er wieder durch zwei Pfeile
aufgeweckt wird. Man kann so �brigens auch das Linefeed am Ende der Zeile
unterdr�cken, falls dies mal n�tig sein sollte.

\item[Learn-Mode:]
Zur einfachen Gestaltung von Tabellensatz in Proportionalschrift und
�hnlichem habe ich auch einen Learn-Modus eingebaut. Sie k�nnen so im Text
die Druckersequenz f�r ein Zeichen neu definieren, das Sie noch h�ufiger
ausdrucken wollen. Folgendes Format ist einzuhalten:

\begin{verbatim}
Pfeil/ESC/umzudefinierendes Zeichen/beliebige Zeichen-Abfolge/Pfeil
\end{verbatim}

Ein Beispiel hierzu ist in PRN\_PARM.DOC beigef�gt. Wenn Sie dieses
File ausdrucken, werden alle Druckersequenzen auf die Ausgangswerte
zur�ckgesetzt. Durch �ndern und Ausdrucken dieser Datei kann man sich einen
anderen Drucker zug�nglich machen. Zur endg�ltigen Belegung m�ssen Sie dann
ein PRN-File erstellen und XED\_INST einsetzen, das dieses File
einliest und die Sequenzen in einem RSC-File unterbringt.
�brigens sind die Parameter f�r den Drucker P2$^{plus}$ von NEC angepa�t.

\end{description}

\subsection{Blocksatz mit Proportionalschrift}
Modernere Drucker sind von Haus aus in der Lage, den linken und den
rechten Rand auszugleichen, indem sie die Leerzeichen innerhalb der
Zeile entsprechend dehnen oder stauchen (schauen Sie nach, ob Ihr
Drucker die Escape-Sequenz `ESC a (3)' unterst�tzt). Nat�rlich geht dies nur
bis zu einem bestimmten Ma�e, und man mu� selbst daf�r Sorge tragen,
da� die Zeilen schon in etwa die richtige L�nge besitzen. Sie m�ssen Ihren
Text also selbst von Hand umbrechen.

Zuerst m�ssen Sie allerdings den linken und den rechten Rand definieren.
Ich empfehle hiebei `meine' Standardeinstellung mit (23)(24), die R�nder
sind dann in der zehnten und der dreiundsiebzigsten Spalte. Dann m�ssen Sie
eventuell noch mit ESC~k~(n) eine Proportionalschrift ausw�hlen, falls Ihr
Drucker mehrere auf Lager hat, und mit dem Zeichen (30) auf
Proportionalschrift umschalten.

Schalten Sie nun im Menu in den "`Document-Mode"' um, denn
dann wird beim Umbruch innerhalb eines Wortes gleich ein Trennzeichen
eingef�gt. Au�erdem ist es sinnvoll, die "`Info line"' zu aktivieren,
denn dann sehen Sie bei `Prop\_x' die augenblickliche Cursorposition und bei
`Prop\_len' die L�nge der Zeile in der gew�hlten Proportionalschrift.
Die Einheiten, die hierbei benutzt werden sind letztendlich ohne
Bedeutung, es kommt nur darauf an, da� die Relationen der Zeichenbreiten
untereinander in etwa stimmen. Standardm��ig habe ich drei Breitentabellen
installiert, die f�r drei grundlegende Schrifttypen ausgelegt sind.
Aktivieren Sie jetzt die passende:

\begin{description}
\item[Bold PS:]Eine etwas plumpe Proportionalschrift, bei der die
   Zeichenbreiten wenig variieren. Leider ist diese Schrift bei vielen
   Druckern die einzige eingebaute Proportionalschrift.
\item[Times PS:]Eine weit verbreitete Proportionalschrift mit Serifen
   (die kleinen H�kchen an den Buchstaben), die relativ breite
   Gro�buchstaben besitzt. Es gibt viele �hnliche Schriften mit
   anderem Namen, die �hnliche Abmessungen haben.
\item[Helvette PS:]Eine serifenlose Schrift, die das dichteste Schriftbild
   erm�glicht. Leider sind bei dieser Schrift die Leerzeichen recht schmal,
   so da� sehr genau umgebrochen werden mu�, damit die Toleranzparameter
   nicht �berschritten werden.
\end{description}

Mit hoher Wahrscheinlichkeit werden Sie an den Breitentabellen nie etwas
�ndern m�ssen, da die Breiten nur in etwa stimmen m�ssen, und wohl nur
ungew�hliche Schriften ganz andere Abmessungen besitzen.

Nachdem Sie den "`Document mode"' und die "`Info line"' aktiviert haben,
k�nnen Sie mit dem Formatieren des Textes beginnen. Dr�cken Sie
CONTROL/L, springt der Cursor an die Position, an der die aufaddierten
Breiten der Buchstaben das erste Mal den Wert~2200 �berschreiten. Dieser
Wert ist von mir voreingestellt, und bezieht sich auf Texte, bei denen sich
der linke Rand in der zehnten und der rechte in der dreiundsiebzigsten Spalte
befindet. Dieses Format l��t links und rechts vom Text gleich viel wei�en
Platz auf dem Papier. Wenn Sie ein anderes Format benutzen, sollten Sie
diesen Wert mit XED\_INST anpassen. Sollte sich der Cursor nun weit hinter
der Zeile befinden, ist die Zeile zu kurz, und Sie m�ssen nun die n�chste
Zeile hinzuladen (CONTROL/TILDE) und noch einmal CONTROL/L dr�cken. Der
Cursor steht nun an der Position, an der die Zeile optimal ausgef�llt ist.
Nat�rlich k�nnen Sie an dieser Position in der Regel keinen Umbruch machen,
da er meist mitten in einem Wort steht. Gehen Sie nun mit dem Cursor an
eine Stelle in der N�he dieser Position, an der ein korrekter Umbruch
m�glich ist, wobei nat�rlich auch getrennt werden kann. Dr�cken Sie nun
CONTROL/RETURN um den Zeilenrest abzuspalten, und beginnen das ganze Spiel
bei der n�chsten Zeile von vorn. Verfahren Sie so bis Sie den ganzen
Absatz formatiert haben.

Beachten Sie, da� Sie durchaus ein ganzes St�ck von der optimalen
Umbruchstelle den Umbruch machen k�nnen, die Drucker sind da recht tolerant.
Im Zweifelsfalle sollten Sie sich jedoch links umschauen, da ein Dehnen der
Leerzeichen besser geht als ein Stauchen. Machen Sie am besten mal ein paar
Probedrucke mit einem k�rzeren Text, Sie wissen dann, wie weit Sie gehen
k�nnen.

Als letztes m�ssen Sie am Anfang der ersten Zeile des Absatzes noch das
Zeichen (17) eingeben, um den Blocksatz zu aktivieren, und am Anfang der
letzten Zeile noch das Zeichen (14) eingeben, da diese ja wieder linksb�ndig
gesetzt werden soll.

\medskip

Sicherlich ist dieses Kapitel nicht gerade leicht verst�ndlich, aber ich
denke, wenn Sie sich die Demos einmal im Quelltext anschauen, werden Sie
die Sache schon verstehen. Im �brigen mu� ich sagen, da� das manuelle
Umbrechen auch seine Vorteile hat, denn was n�tzt ein automatischer
Umbruch, wenn jede dritte Trennstelle falsch ist, oder viele gute
Trennm�glichkeiten erst gar nicht erkannt werden. Ein wirklich guter
automatische Umbruch erfordert einen betr�chtlichen Aufwand, und w�rde den
Rahmen dieses Editors bei weitem sprengen.

\subsection{Tabellensatz in Proportionalschrift}
Nachdem Sie jetzt den Blocksatz einsetzen k�nnen, werden Ihnen in der
Praxis h�ufiger Probleme begegnen, f�r deren L�sung ich Ihnen hier
ein paar "`Tricks"' verraten m�chte.

Ein Problem, da� sich Ihnen h�ufiger stellen wird, ist das korrekte
�bereinandersetzen in Auf"|listungen oder Tabellen. Sie m�chten zum Beispiel
folgende Preisliste erstellen:
\begin{verbatim}
     Mega ST 1                     1198.00 DM
     Monitor SM124                  298.00 DM
     Frankenthaler Kurf�rst Pils     17.98 DM
\end{verbatim}
Nat�rlich k�nnten Sie hier mit Blocksatz arbeiten, aber es gibt Schriften,
bei denen das Leerzeichen so schmal ist, da� es einen echte Gl�ckssache ist,
wenn die Sache klappt. Und nat�rlich will ich Ihnen hier ja auch einen
Trick verraten.

Wie Sie sich vielleicht errinnern, druckt der Drucker eine Zeile erst dann
aus, wenn ein CR-Zeichen gesendet wird. Danach befindet sich der Druckkopf
noch immer in der selben Zeile, und Sie k�nnen noch eine zweite, anders
formatierte Zeile an den Drucker schicken. Genau dieses Verfahren soll
auch hier angewendet werden. Der Artikel soll in einer linksb�ndigen und
der Preis in einer rechtsb�ndigen Zeile gedruckt werden. Hierzu entwickelt
man sich zuerst zwei Druckermakros. W�hlen Sie hierzu zwei nationale
Sonderzeichen, die Sie nicht ben�tigen. Im weiteren nehme ich an, da� Sie
sich f�r die Zeichen (166) und (167) entschieden haben.

Das Zeichen (166) wird jeweils vor den Artikel gestellt, und soll eine
linksb�ndige Zeile beginnen. Sie m�ssen also folgende Zeile eingeben:

Pfeil/ESC/(166)/ESC/a/(0)/Pfeil

(nat�rlich ohne "`/"' und die entsprechenden Zeichen, nicht diesen Text)

Das Zeichen (167) wird jeweils vor den Preis gestellt, und soll daf�r
sorgen, da� Ausdruck der linksb�ndigen Zeile gestartet wird, und danach
eine rechtsb�ndige Zeile eingeleitet wird. Sie m�ssen also folgende
Zeile eingeben:

Pfeil/ESC/(167)/CR/ESC/a/(2)/Pfeil

Jetzt m�ssen Sie nur noch den linken und rechten Rand definieren und auf
Proportionalschrift umschalten. Geben Sie also noch folgende Zeile ein
und beginnen dann den Ausdruck:

ESC/l/Pfeil/(20)/Pfeil~~~ESC/Q/2~~~(30)

(die Pfeile um das Zeichen (20) ben�tigen Sie, damit wirklich das Zeichen
(20) ausgegeben wird, und nicht die Sequenz, die auf "`normalstellen"'
umschaltet.)

�brigens finden Sie genau dieses Beispiel auch bei den Demos (PREISLST.DOC).


\section{Sonstiges}
\subsection{Tips und Tricks}
An dieser Stelle kommen nun noch einige Sachen in loser Folge, die im
Zusammenhang mit xEDIT erw�hnenswert sind.

F�r den Randausgleich empfiehlt es sich, in den Overwrite-Modus zu
schalten, und mit CON"-TROL/RE"-TURN das Ende der Zeile einzugeben.
Der Zeilenrest wird so an den Anfang der n�chste Zeile geschrieben,
ohne eine neue Zeile einzuf�gen.

Wenn Sie einen herk�mmlichen ATARI (260,520,1040 ST) ohne Blitter und keine
Grafikkarte ben�tzen, sollten Sie mit XED\_INST den Softblitter aktivieren.
Die Bildschirmausgabe wird dadurch drastisch beschleunigt (nicht beim
Fenster mit Schieberelementen). Dieser Softblitter d�rfte �brigens
wesentlich schneller sein als andere universelle (z.B. Quick ST usw.), da
er speziell f�r die Bed�rfnisse von xEDIT entwickelt wurde, und nur f�r
die Bildschirmausgabe fertig im Arbeitsspeicher aufgebauter Zeilen
und das Scrollen zust�ndig ist.

xEDIT reserviert sich bei Programmstart einfach den gesamten freien
Speicher (- 16 kbyte). Accessories, die nachtr�glich Speicher
anfordern, k�nnen damit Probleme haben.

Da die Speicherverwaltung die Zeilen streng in ihrer logischen Reihenfolge
im Speicher h�lt, und es bei jeder L�ngenver�nderung zu
Blockverschiebungen kommt, empfiehlt es sich, Dokumentationen und
�hnliches zuerst zu laden, da dann der zu verschiebende Bereich kleiner
ist. Bei einigen Funktionen kann das die Geschwindigkeit deutlich erh�hen.

Manche Shells erlauben die �bergabe einer Commandline. Folgende Formate
werden von xEDIT unterst�tzt:
\begin{verbatim}
a:\test.log  a:\test.tex 10 2
a:test.tex
\test.tex
test.tex
\end{verbatim}
Nat�rlich kann man dem Programm also mehrer Texte �bergeben, und auch das
automatische Anspringen einer Zeile und Spalte klappt. Wenn Sie eine
Shell benutzen, deren Commandline-Format zu Fehlinterpretationen f�hrt,
melden Sie sich bitte bei mir, damit ich das eventuell ber�cksichtigen
kann.

Achten Sie darauf, da� Ihr Diskettenformatierprogramm den Disketten
unterschiedliche Seriennummern gibt (wie z.B. das Desktop). Ich selbst habe
mir durch ein idiotisches Programm, das zwar Disketten hochformatieren kann,
den Disketten aber immer die Seriennummer 1 gibt, einige Files zerschossen.
Unter bestimmten Voraussetzungen wird dann n�mlich ein Diskettenwechsel
nicht erkannt.

Apropos Disketten: Machen Sie es zu einer festen Angewohnheit, immer eine
oder mehrere formatierte(!) Leer-Disketten in der Schublade zu haben. Der
Platz auf der Arbeitsdiskette geht n�mlich immer dann aus, wenn Sie keine
Reservediskette zur Hand haben (alte, in der Praxis best�tigte Weisheit).

Fettflecken werden wie neu, wenn man sie d�nn mit Butter bestreicht.

Sollten Ihnen die Shortcuts f�r das Menu absolut nicht zusagen, gibt es
trotzdem einen Weg, diese abzu�ndern, wenngleich ich ausdr�cklich Leuten
davon abrate, die das folgende nicht hundertprozentig verstehen: Suchen Sie
zuerst mit einem Diskettenmonitor in XEDIT.PRG nach dem Wort
"`\verb|menukeys|"'. Gleich darauf folgt eine Tabelle mit jeweils einem
Integer, das den Scancode enth�lt, und einem Integer, das den Objektindex
des Menueintrags beinhaltet. Abgeschlossen wird diese Tabelle mit einem
Null-Integer. Was Sie nun dort hineinpatchen liegt voll und ganz in Ihrer
Verantwortung, Sie sollten zumindest ein wenig Ahnung haben, wie so ein
Menubaum aufgebaut ist. Konsequenterweise sollten Sie dann jedoch auch die
Menutexte entsprechend ab�ndern.

F�r ProgrammiererInnen:

Obwohl es inzwischen wohl bekannt ist, wie man mit der AES-Funktion
\verb|evnt_button()| beide Maustasten abfragen kann, m�chte ich den
"`Trick"' auch hier noch einmal erw�hnen, da er sich noch immer nicht
im "`Profibuch"' befindet.
\begin{verbatim}
          move.w    #256+1,[intin]      ; nur einen Maustastendruck abwarten
          move.w    #3,2+[intin]        ; beide Tasten ...
          clr.w     4+[intin]           ; ... k�nnen gedr�ckt werden
          lea       aes_21(pc),a0
          bsr       call_aes
\end{verbatim}
Die 256, die \verb|ev_bclicks| addiert werden, erzeugen eine
"`nicht"'-Bedingung. Die Funktion kehrt also dann zur�ck, wenn
{\em nicht\/} beide Maustasten {\em losgelassen\/} sind.

Bei vielen Programmen und auch bei �lteren Versionen von xEDIT kommt es
immer wieder vor, da� mit alten TOS-Versionen die Maus nicht richtig
verwaltet wird, sie also mal zu oft oder mal zu selten verschwindet. Ich
glaube die Ursache erkannt zu haben: Es ist ganz wichtig, zuerst den
\verb|BEG_UPDT|-Aufruf zu machen, und erst danach die Maus abzuschalten.
Das Betriebssystem scheint ansonsten den \verb|M_OFF|-Aufruf nicht dem
Benutzer sondern sich selbst zuzuschreiben.

Apropos Maus: Wenn Sie ein Programm schreiben, bei dem die Maus versteckt
wird (z.B. weil sie beim Schreiben st�rt), vergessen Sie doch bitte nicht,
diese wieder sichtbar zu machen, bevor das Programm verlassen wird. Mir ist
gerade wieder neulich ein Programm in die H�nde gefallen, da� dies nicht
tut. Wegen diesem kleinen Fehler ist dieses ansonsten wirklich praktische
Programm f�r mich leider total unbrauchbar. Schade!

Leider ist die Textausgabe �ber das VDI recht langsam. Viele Programmierer
(und ich fr�her auch) beginnen in dieser Situation, direkt in den
Bildschirmspeicher zu schreiben. Dies ist in Zeiten von Gro�bildschirmen und
dem TT nun wirklich nicht mehr angesagt. Es gibt auch einen vollkommen
"`legalen"' Weg, die Bildschirmausgabe zu beschleunigen: Legen Sie sich
einen Puffer an, der gro� genug ist, eine Textzeile monochrom aufzunehmen.
Mit Ihren selbstentwickelten Zeichenausgabefunktionen bauen Sie nun
die Zeile auf und kopieren die fertige Zeile mit \verb|vrt_cpyfm()| auf den
Bildschirm (Nullpointer im \verb|pdesMFDB|). F�r das Scrolling setzen Sie
dann \verb|vro_cpyfm()| im Modus 3 ein. Diese Funktionen laufen auch ohne
Blitter akzeptabel schnell, und haben den Vorteil, auf"|l�sungsunabh�ngig
zu sein (Diesen Tip verdanke ich Christoph Strunk).

Leider ist auch im neuesten "`Profibuch"' (10.~Auf"|lage) die AES-Funktion
\verb|shel_write| immer noch nicht richtig oder zumindest mi�verst�ndlich
beschrieben. Und zwar teilt man den AES nur mit, da� eine andere Applikation
gestartet werden soll, um das Starten via \verb|pexec()| mu� man sich dann
selbst k�mmern. Zum besseren Verst�ndnis folgt das Ger�st f�r eine
Shell.

\begin{itemize}
  \item[1.] Die Shell meldet ihre Applikation via \verb|appl_init()|
    an. Danach kann sie machen, was jedes normale GEM-Programm so treibt.
  \item[2.] Ein anderes Programm soll gestartet werden.
     \begin{itemize}
       \item[2.a] Die Shell deaktiviert das Menu, damit Accessories nicht
         mehr gestartet werden k�nnen.
       \item[2.b] Die Shell schlie�t und l�scht ihre Fenster
         und danach die der Accessories mit \verb|wind_new()|.
       \item[2.c] Nun wird \verb|shel_write()| mit 1 in \verb|doex|
         aufgerufen. In \verb|isover| sollte die 1 stehen, jedoch wird
         diese Angabe zur Zeit offenbar nicht ausgewertet.
       \item[2.d] Die Shell meldet ihre Applikation mit \verb|appl_exit()|
         bei den AES ab.
       \item[2.e] Das andere Programm wird nun via \verb|pexec()|
         gestartet.
       \item[2.f] Nach Beendigung des anderen Programms mu� nun
         wieder die Applikation mit \verb|appl_init()| angemeldet
         werden.
       \item[2.g] Nun mu� erneut \verb|wind_new()| aufgerufen werden, damit
         auch die eventuell vorhandenen Fenster der Accessories gel�scht
         werden. Ein \verb|wind_set(newdesk)| sollte sicherheitshalber
         ebenfalls erfolgen.
       \item[2.h] Erst jetzt wird das Menu wieder angemeldet.
     \end{itemize}
  \item[3.] Nun kann die Shell wieder treiben, was sie will.
  \item[4.] Die Shell soll verlassen werden.
     \begin{itemize}
        \item[4.a] Zuerst mu� nun wieder das Menu deaktiviert werden.
        \item[4.b] Nun sind wiederrum die Fenster wie bei 2.b zu l�schen.
        \item[4.c] Jetzt mu� \verb|shel_write()| aufgerufen werden, diesmal
          jedoch mit der 0 in \verb|doex|. In \verb|isgr| schreibt man die
          1 und in \verb|isover| sollte wiederrum die 1 stehen. Als
          Programmnamen und Commandline �bergibt man leere Strings.
        \item[4.d] Jetzt braucht nur noch der \verb|appl_exit()|-Aufruf
          erfolgen, und das Programm kann normal verlassen werden.
     \end{itemize}
\end{itemize}

Die unter 2.~genannten Schritte k�nnen nat�rlich beliebig oft
wiederholt werden. Ich gebe keine Garantie f�r die Richtigkeit des
hier beschriebenen Verfahrens, da ich selbst noch keine Shell
programmiert habe. Jedoch hatte ich bei der Entwicklung von xEDIT
st�ndig Probleme mit den aufrufenden Shells, falls Accessory-Fenster
beim Verlassen von xEDIT noch ge�ffnet waren. Als ich daraufhin
eine einwandfrei funktionierende Shell mit "`SysMon"' untersucht habe,
habe ich entdeckt, wie der \verb|shel_write()|-Aufruf eingesetzt
wird, und m�chte diese Erkenntnis nun auch anderen ProgrammautorInnen
mitteilen, da das allgemein noch nicht bekannt zu sein scheint.
�brigens hatte eine Shell ihr Fenster vor dem Starten anderer
Programme nicht gel�scht sondern nur geschlossen. Wenn nun das
aufgerufene Programm einen \verb|wind_new()|-Aufruf macht, st�rzt diese
Shell danach nat�rlich ab. Ich habe mich daraufhin entschlossen,
beim Beenden von xEDIT auf diesen Aufruf zu verzichten.

Leider ist mir keine Shell bekannt, die die M�glichkeit bietet, andere
Programme dauerhaft im Speicher zu halten, obwohl das einfach zu realisieren
ist: Wird ein Programm zum ersten Mal gestartet, wird es mit "`Pexec"' im
Modus~3 geladen und dann mit "`Pexec"' im Modus~4 aufgerufen. F�r alle
weiteren Aufrufe reicht es dann, "`Pexec"' im Modus~4 einzusetzen.
Hierbei sind dann jedoch die im "`Profibuch"' (10.~Auf"lage) gemachten
Bemerkungen zu beachten. Ich denke, da� diese M�glichkeit vor allem f�r
Leute, die keine Festplatte haben, von Interesse ist (ich hab' meine auch
erst seit einem Jahr).
Nat�rlich geht dann einiges an freiem Speicher fl�ten, aber
f�r viele Einsatzgebiete sind 1~Mbyte mehr als genug, so da� das leicht
verschmerzt werden kann. Probleme gibt es eigentlich nur dann, wenn das
aufgerufene Programm Initialisierungen vornimmt, die nur einmal durchgef�hrt
werden d�rfen. Spontan f�llt mir hierzu nur das Umrechnen von Objektb�umen
von Buchstabeneinheiten auf Pixeleinheiten ein. Bitte ber�cksichtigen Sie
in Ihren Programmen, da� sie auch mehrmals gestartet sein k�nnten. Sie
brauchen dazu wohl nur ein Flag, das bei der Initialisierung gesetzt wird,
und anzeigt, ob die Initialisierung schon einmal durchgef�hrt wurde.

Manchmal besteht der Wunsch, vor oder nach  l�nger dauernden Funktionen
den Tastaturpuffer zu l�schen, um zum Beispiel ein Nachlaufen zu
verhindern. Von den vielen hierzu m�glichen Methoden ist meiner
Meinung nach nur die folgende GEM-konform, leider aber auch nicht
die schnellste: Man wartet gleichzeitig auf ein Tastatur- und ein
Timerereignis, wobei man als Zeitintervall 1~ms angibt. Letzteres f�hrt
dazu, da� Tastaturereignisse zuerst gemeldet werden. Erst wenn
keine Tastendr�cke mehr gespeichert sind, wird das Timerereignis
gemeldet. Zur Verdeutlichung der entsprechende Auszug aus dem
xEDIT-Quelltext:
\begin{verbatim}
clr_keys: move.w    #1+32,[intin]      ; Tastatur und Timer abfragen
          move.l    #$10000,28+[intin] ; 1 ms warten
          lea       aes_25(pc),a0      ; evnt_multi aufrufen
          bsr       call_aes(pc)
          move.w    [intout],d0
          btst      #5,d0              ; schon das Timer-Ereignis gemeldet?
          beq.s     clr_keys           ; nein!
          rts
\end{verbatim}

\subsection{Was tun bei Problemen?}
In diesem Abschnitt m�chte ich kurz auf einige typische Problemsituationen
eingehen, die in der Praxis h�ufiger auftreten bzw. bei mir oder anderen
BenutzerInnen schon einmal aufgetreten sind.

Erster Grundsatz: Don't panic. xEDIT hat eine lange Erprobungsphase hinter
sich, und es ist unwahrscheinlich, da� ein Fehler eintritt, der zu
Datenverlusten f�hrt.

Wenn Sie mit Disketten arbeiten, d�rfte wohl am h�ufigsten die Meldung
"`Ordner nicht gefunden"' auftauchen. Sie haben dann wahrscheinlich
w�hrend der Arbeit die Diskette gewechselt und vergessen, beim Abspeichern
die Ursprungsdiskette einzulegen. Legen Sie nun die richtige Diskette ein
oder benutzen Sie die Funktion "`Save as"'.

Ein typisches Problem f�r alle Programme, die mit RSC-Files arbeiten, ist,
da� es keinen legalen Weg gibt, zu erfahren, unter welchem Namen und
aus welchem Ordner heraus das Programm gestartet wurde. Abhilfe soll die
Betriebssystemfunktion \verb|shel_find()| schaffen, die nach einem
angegebenem File sucht. Leider klappt das nicht immer, und so kommt es vor,
da� xEDIT sein RSC-File nicht findet. In dieser Situation empfiehlt es sich,
xEDIT und das RSC-File in das Wurzelverzeichnis (z.B. \verb|A:\|) des
aktuellen Laufwerks umzukopieren. Das gilt �brigens auch f�r \TeX, da
bei Direkteinsprung aus \TeX\ (Dr�cken von "`E"' bei Unterbrechungen)
der aktuelle Pfad auf den Ordner des Textes und nicht auf den Ordner des
Editors gelegt wird.

Nat�rlich kann xEDIT nicht alles, was andere Editoren k�nnen (und
umgekehrt). Leider ist es nun so, da� das Foldinfo-File unbedingt
zur Hauptdatei passen mu�. Hierzu steht unter anderem der Name
der Hauptdatei, ihre L�nge und ihre Zeilenzahl darin. Sollte eine
Angabe davon nicht �bereinstimmen, wird das Foldinfo-File f�r
ung�ltig erkl�rt! Das liegt daran, da� die Folding-Struktur recht
empfindlich ist, und St�rungen mit Sicherheit ausgeschlossen werden m�ssen
(z.B. erzeugen \verb|MEIN.TXT| und \verb|DEIN.TXT| ein Foldinfo
mit dem selben Namen, solche Probleme lassen sich leider nicht
ausschlie�en). Wenn Sie nun einen Text mit einem anderen Editor
weiterbearbeiten wollen, geht ihre Folding-Information {\em mit
Sicherheit\/} verloren. �berlegen Sie dann eventuell, ob Sie mit
den Funktionen "`Write block"' und "`Read block"' das vermeiden
k�nnen, wenn Sie nur wenig an den Texten �ndern wollen, oder falten
Sie Ihre Texte so sparsam, da� eine Wiedereinrichten der
Folding-Struktur keine Qu�lerei wird.

Wenn Sie xEDIT aus einer Shell heraus gestartet haben und es beim Verlassen
durch "`Save all \& quit"' eine Fehlermeldung gibt, seien Sie nicht
beunruhigt. Standardm��ig wird von xEDIT ein Returncode von "`1"' �bergeben,
der signalisieren soll, da� nun ein Compiler oder \TeX\ gestartet werden
soll. Leider betrachten nun manche Shells diesen Code als Meldung, da� ein
Fehler aufgetreten ist. �ndern Sie dann via XED\_INST den Returncode auf
"`0"' ab.

Sollten Sie Probleme haben, weil Sie Texte von anderen Rechnern einlesen
wollen, und das Zeilenende nicht richtig erkannt wird, schalten Sie bitte
zuerst via XED\_INST den CR/LF-Mode ab, und versuchen dann noch einmal, den
Text einzulesen. Wenn auch das nicht hilft, ben�tigen Sie ein
Umwandlungsprogramm. Solche finden Sie im Public Domain Bereich (z.B. auf
Disk J124 des Public Domain Journals), sie sind aber auch einfach selbst zu
programmieren. Wenn alles nichts hilft, kann auch ich Ihnen so ein Programm
erstellen, das ist wirklich nicht schwer. Schicken Sie mir dann einen
Probetext auf Diskette zu, und ich werde sehen, was sich machen l��t.

Laserdrucker geben eine Seite erst dann aus, wenn sie komplett gef�llt ist
oder ein Formfeed (Zeichen Nr.~12) gesendet wird. Wenn Sie "`Print block"'
benutzen, m�ssen Sie den Drucker danach deselektiern und dann die FEED-Taste
dr�cken, damit das Papier ausgegeben wird.

Und noch eine letzte Sache: Das Folding hat sich bis auf eine Ausnahme als
fehlerfrei erwiesen. Sollte wider Erwarten trotzdem einmal die
Folding-Struktur durcheinander geraten, speichern Sie Ihren Text mit
sichtbarem Foldinfo ab und l�schen es danach. Gleich darauf
sollten Sie mich benachrichtigen, wie diesen Fehler erzeugt haben.

\subsection{Zum Abschlu�:}

Ab Version 1.70 ist xEDIT Shareware, davor hatte ich es Public
Domain ver�ffentlicht. Warum? Nun, obwohl ich der Resonanz der
wenigen BenutzerInnen, die sich bei mir gemeldet haben, entnehmen
konnte, da� sich dieses Programm zunehmender Beliebtheit erfreut
und auch schon von vielen regelm��ig benutzt wird, scheinen sich
doch die meisten davor zu scheuen, meine Arbeit auch durch einen
kleinen Obulus anzuerkennen. Zur Zeit haben sich eigentlich
gerade erst mal die Stromkosten bei der Arbeit am Rechner
amortisiert.

\begin{center} {\bf So macht das keinen Spa�!} \end{center}

Nicht da� ich gehofft h�tte, mit diesem Programm einmal viel
Geld zu verdienen, eigentlich war in erster Linie die Freude am
Programmieren Antrieb genug, aber untersch�tzen Sie nicht die
Arbeit, die ich nur wegen Ihnen auf mich genommen habe, denken
Sie nur mal an dieses Handbuch und die M�he, das Programm
benutzerInnenfreundlich zu gestalten. Deswegen {\em bestehe\/} ich nun
darauf, da� diejenigen, die dieses Programm regelm��ig benutzen,
auch daf�r bezahlen.

Aber man kann das auch anders sehen:
\begin{itemize}
 \item Wenn Sie sich bei mir registrieren lassen, erhalten Sie
  automatisch eine neue Version, sobald sie fertiggestellt ist.
  Falls Sie m�chten, k�nnen Sie diese nat�rlich auch weiterhin
  �ber PD-Versender erhalten, rechnen Sie dann aber mit einer
  effektiven
  Verz�gerung von etwa drei Monaten, so lange dauert es n�mlich,
  bis eine Nachricht �ber das Update ver�ffentlicht ist und auch
  auf Diskette erh�ltlich ist. Und darauf verlassen, da� die PD-
  Anbieter ihre Disketten updaten, kann man sich schon mal gar
  nicht. Wenn Sie also nicht monatelang mit einer veralteten
  Version arbeiten wollen, lassen Sie sich registrieren.

 \item W�rde das Programm als kommerzielles Produkt �ber den
  Ladentisch gehen, m��ten Sie mit einem Preis rechnen, der etwa
  vier- bis f�nfmal so hoch liegt. Soviel verschlingt n�mlich
  die n�tige Werbung und der Vertrieb �ber das H�ndlernetz. Als
  Autor erhalte ich trotzdem nur den selben Betrag, und
  wahrscheinlich h�tten die meisten Leute dann doch nur eine
  Raubkopie mehr in ihrer Diskettenbox. Das Konzept von
  Shareware versucht ja gerade, das zu vermeiden. Testen Sie die
  Programme, die Sie einsetzen wollen, in aller Ruhe und
  vergleichen Sie, und bezahlen Sie erst dann, wenn Sie das
  Programm auch wirklich einsetzen. Sie brauchen also nicht mehr
  die ber�chtigte "`Katze im Sack"' kaufen.

 \item Das Shareware-Konzept erm�glicht Preise, die auch f�r Sch�ler
  und Studenten erschwinglich sind, jedoch ist hierzu
  gegenseitiges Vertrauen Vorraussetzung. Nur so ist
  gew�hrleistet, da� die Autoren ihre Programme weiterentwickeln
  und auch in Zukunft gute Programme auf diesem Weg erh�ltlich
  sind. Schauen Sie mal nach, wieviele gute Programme inzwischen
  kommerziell sind, weil die Anwender die Shareware-Geb�hren
  nicht bezahlt haben.

 \item Sollte genug Geld zusammenkommen, da� ich in den
  Semesterferien nicht mehr jobben gehen mu�, kann ich diese
  Zeit nat�rlich sinnvoller f�r die Weiterentwicklung des
  Programms investieren. Sie machen so mir eine Freude, und Sie
  selbst kommen schneller in den Genu� einer verbesserten
  Version des Editors.
\end{itemize}

Ich denke, Sie nun davon �berzeugt zu haben, da� es sich lohnt,
die zwanzig Mark Shareware-Geb�hr zu bezahlen. Es w�re eine
tolle Sache, wenn die Sache so gut funktioniert, da� ich auch in
Zukunft Shareware-Programme entwickle. Ich habe da schon einige
Sachen in Angriff genommen, aber untersch�tzen Sie nicht die
Arbeit, die n�tig ist, bevor ein Programm ver�ffentlicht werden
kann.

Nun, genug der langen Worte, testen Sie einmal das
Programm, und teilen Sie es mir mit, wenn Sie noch
Verbesserungsvorschl�ge haben. Ich habe schon einige Male auf
Wunsch von BenutzerInnen neue Funktionen eingef�hrt und
andere abge�ndert. Sollten Sie Fehler finden, teilen Sie mir das
bitte so schnell wie m�glich mit (eventuell auch telefonisch),
da das in der Regel Fl�chtigkeitsfehler sind und sie schnell
behoben werden k�nnen. �nderungen und Erweiterungen des
Programms kann ich leider meist nicht so schnell durchf�hren,
aber gute Einf�lle baue ich gerne in die n�chste Version ein.
Meistens warte ich, bis einige Sachen zusammengekommen sind, und
mache dann eine Art "`General�berholung"'.

\bigskip
Ansonsten ist es hier wohl h�chste Zeit, mal all den Leuten zu danken, die
bei der Entwicklung dieses Programms behilf"|lich waren.

Da w�re als erster Axel M�ller zu nennen, der jeweils die aktuelle
Arbeitsversion zu sehen bekam, und meist schon nach f�nf Minuten den ersten
Fehler fand. Vor allem hat er aber als echter "`Fan"' und Daueranwender
daf�r gesorgt, da� ich mich immer wieder aufraffen konnte, an diesem
Programm weiterzuarbeiten, auch wenn mir das manchmal schwer fiel. Dann
nat�rlich auch Christoph Strunk, der mir eine Menge wichtiger Tips gegeben
hat, und dem letztendlich auch zu verdanken ist, da� dieses Programm nun
bildschirmunabh�ngig l�uft. Ein besonderes Dankesch�n ergeht an
Michael Fuchs, der ein wundersch�nes RSC-File f�r Textverarbeitungen
entwickelt hat, aus dem ich einige Ideen �bernommen habe.
Und ansonsten danke ich nat�rlich all den Leuten, die das Programm
benutzen, und einfach nur "`Toll"' gesagt haben, die sind f�r mich
auch ganz wichtig.

Tja, hier endet das Handbuch. Sollten Sie irgend welche Fragen oder
Anregungen haben, melden Sie sich bei mir, auch dieses Handbuch kann
verbessert werden.

Ansonsten w�nsche ich viel Spa� bei der Arbeit mit xEDIT,

\bigskip

\begin{center} Alexander Gr�pl \end{center}

\vfill

PS: Falls Sie das Programm oder eine neue Version davon
kennenlernen wollen, k�nnen Sie mir eine Diskette mit
R�ckumschlag zusenden, sie kommt dann umgehend mit der neuesten
Version zur�ck. Sie sparen auf diese Weise wahrscheinlich Geld
f�r die PD-Versender, und f�r mich ist der Aufwand nur minimal,
da sich ein Briefkasten vor meiner Haust�r befindet.
Weitersagen!

Noch etwas: Einen normalen Brief mit Diskette m�ssen Sie
zur Zeit mit 1,70~DM frankieren, wenn Sie "`Warensendung"'
darauf schreiben, reicht auch eine Mark. Sie sollten
in jedem Fall darauf achten, da� der Brief nicht in die
Sortierautomaten der Post ger�t, denn die machen
"`ganze Arbeit"'. Am einfachsten erreichen Sie das,
indem Sie einen Polsterbriefumschlag benutzen, oder
wenn Sie keinen zur Hand haben, k�nnen Sie auch die
Diskette so dick einwickeln, da� der Brief zu dick ist f�r
die Automaten. Zur Sicherheit sollten Sie am besten auch noch
immer Ihren Namen und Absender auf die Diskette schreiben,
denn die wird nicht so leicht zerst�rt.

\newpage
\subsection{Vertriebsbedingungen:}

Obwohl durch das Stichwort SHAREWARE alles klar sein sollte,
m�chte ich trotzdem an dieser Stelle noch einmal auf einige
Sachen deutlich hinweisen:

Das Programm kann (und soll) von jedem in beliebig vielen Kopien
getestet und weitergegeben werden. Erst bei regelm��iger
Benutzung sind die Anwender verpflichtet, eine Shareware-Geb�hr
von zwanzig Mark zu entrichten.

Das Progamm mu� immer vollst�ndig mit den �brigen Dateien des
xEDIT-Ordners weitergegeben werden, damit keine verst�mmelten
Versionen in Umlauf kommen (sollte eigentlich selbstverst�ndlich
sein, ist es aber nicht). Das gilt besonders auch f�r die
private Weitergabe!

�nderungen am Programm oder den begleitenden Dateien haben zu
unterbleiben oder sind zumindest deutlich(!) als nicht von mir
stammend kenntlich zu machen. Wenn Sie pers�nliche Anpassungen
weiterreichen wollen, kopieren Sie sie au�erhalb des xEDIT-Ordners.
Im Zweifelsfalle am besten bei mir nachfragen.

Das Programm darf vor der Weitergabe "`gepackt"' werden, das
sollte nach M�glichkeit aber unterbleiben, da das Entpacken f�r
Leute ohne Festplatte umst�ndlich ist.

Das Programm darf nicht verkauft werden.

PD-Versendern ist die Weitergabe des Programms gestattet, sofern
sie f�r ihre Disketten keine �ber das �bliche Ma� gehende Geb�hr
verlangen. Die Obergrenze liegt f�r mich hierbei zur Zeit bei
zehn Mark. Analoges gilt f�r die Weitergabe per DF�.

Jede kommerzielle Verwertung bedarf meiner ausdr�cklichen
Genehmigung. Diese liegt f�r mich u.~A. auch dann vor, wenn ein
Copyright auf den betreffenden Disketten liegt.

Die Benutzung des Programms erfolgt auf eigene Gefahr, es wird
jede Haftung f�r Sch�den abgelehnt.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Hier endet das Handbuch vorl�ufig \dots
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}
