


       **************************************************************
       *                                                            *
       *                         TeX to TXT                         *
       *                                                            *
       *                 LaTeX nach ASCII Konverter                 *
       *                                                            *
       **************************************************************
                                      
                                 Roman Hodek

                              24. Februar 1993


                               Zusammenfassung

       TeX2TXT ist ein Konverter, der nicht allzu komplizierte LaTeX-
       Texte in normalen ASCII-Text bersetzt. Ich habe ihn ursprng-
       lich "fr den Hausgebrauch" geschrieben, weil ich es leid war,
       meine Programmanleitungen immer zweimal zu  schreiben:  einmal
       als TeX-Text und einmal als Ascii-Text fr die Nicht-TeXniker.
       Er hat aber besser funktioniert, als ich es erwartet habe, und
       so habe ich mich entschlossen,  ihn zu  verffentlichen.  Seit
       damals hat sich TeX2TXT strmisch entwickelt und bietet inzwi-
       schen einen recht groen Funktionsumfang.

         TeX2TXT kann aber nicht nur dazu verwendet werden,  um  TeX-
       Texte fr  Ascii  zu  recyclen.  Es  ist  genausogut  mglich,
       TeX2TXT als Textformatierer zu benutzen,  der dann eben  einen
       hnlichen Funktionsumfang wie LaTeX bietet und in  dessen  Be-
       dienung man schon eingearbeitet ist. 



Inhaltsverzeichnis
==================

1) Grundstzliches
  1.1) Vorwort zu Version 2.0 und spter
  1.2) Portabilitt
2) Wie TeX2TXT arbeitet
3) Optionen
4) Erkannte Kommandos und Environments
  4.1) Doublequote-Sequenzen des german.sty
  4.2) Befehle, die einzelne Zeichen erzeugen
  4.3) Formatierungsbefehle
  4.4) sonstige Befehle
  4.5) LaTeX-Environments
5) Die Trennung
  5.1) Die TeX-Trennung
  5.2) TeX2TXT-Trennung
  5.3) Mischverfahren
  5.4) Der Patterncompiler

Anhnge

A) History
B) Kurzbeschreibung von "UNIXMODE"


1) Grundstzliches
==================

Wie schon erwhnt,  habe ich TeX2TXT ursprnglich nur fr meinen  eigenen  Ge-
brauch und auch recht schnell  geschrieben.  Daraus  resultieren  einige  Ein-
schrnkungen:

 - TeX2TXT ist ein Musterbeispiel der "quick  and  dirty"-Programmierung.  Ich
   habe oft auf eine saubere dynamische Speicherverwaltung verzichtet und  die
   Daten werden in Feldern fester Gre abgelegt.  Daher kann es durchaus vor-
   kommen,  da TeX2TXT mal Bomben wirft,  weil eben eine solche  Lnge  ber-
   schritten wurde.  Immerhin habe ich TeX2TXT einen Stack von 24k mitgegeben,
   damit es nicht schon an kleinen verschachtelten Sachen scheitert.

 - Auch mit Fehlermeldungen wird recht sparsam umgegangen.  TeX2TXT folgt  den
   Prinzipien  GIGO  und  GICO.   (Garbage  in <- Garbage  out  bzw.   Garbage
   in <- Crash out).

 - Es befinden sich bestimmt noch Horden von Tipp- und  logischen  Fehlern  in
   TeX2TXT, da es auch noch nicht sonderlich ausfhrlich getestet wurde.

 - Die Zeilennummern,  die TeX2TXT bei Fehlermeldungen ausgibt, sind nicht un-
   bedingt korrekt.  Sie geben aber immerhin einen Anhaltspunkt,  wo  ungefhr
   der Fehler liegen knnte.

  Daher gilt: NO WARRANTY! Die Benutzung ist auf eigene Gefahr, die Ergebnisse
auch. Ich habe nichts gegen Bugreports und Anregungen, allerdings werden diese
nur eingebaut, wenn ich gerade Zeit und Lust dazu habe. Meine E-Mail-Adresse:

  Roman Hodek @ N (Mausnetz)
  cdb0@faui60.informatik.uni-erlangen.de
  rnhodek@cip.informatik.uni-erlangen.de 

wobei mir das Mausnetz am liebsten ist.

1.1) Vorwort zu Version 2.0 und spter
--------------------------------------

Um den vorherigen Abschnitt gleich wieder teilweise zu widerrufen:

  Ursprnglich hatte ich eigentlich vor,  TeX2TXT nur fr meinen  persnlichen
Bedarf zu erweitern.  Verffentlicht habe ich es, weil ich dachte, da es eben
auch anderen Leuten ntzlich sein knnte.  Wegen der beraus zahlreichen, kon-
struktiven und positiven Rckmeldungen habe ich meinen Standpunkt etwas  gen-
dert:  TeX2TXT wird auch in Zukunft erweitert werden (auch  nach  Anwenderwn-
schen),  Bugfixes erfolgen nach Mglichkeit,  jenachdem  wie  ich  Zeit  dafr
finde. Die Updates werden ber das Mausnetz -- ausgehend von @N -- verbreitet.

  Die oben erwhnten schlimmen Programmiersnden  wurden  auch  zum  Teil  be-
seitigt.  Aber jeder, der selbst programmiert, wird mir besttigen knnen, da
es uerst aufwendig ist, solche Fehler spter wieder zu eliminieren, wenn sie
einmal gemacht wurden. Ich habe zwar an den wichtigsten Stellen nachgebessert,
aber das ist bei weitem noch nicht alles.  Zumindest sind alle  neueren  Teile
sauber programmiert.

  Da TeX2TXT in seinem Umfang seit Version 1.0 doch recht betrchtlich gewach-
sen ist und damit auch die aufgewendete Entwicklungszeit,  war ich schon  fast
dabei,  TeX2TXT zu Shareware zu machen.  Davon bin ich aber wieder abgekommen,
da es mir anmaend erscheint,  fr mein "Kleinvieh" Geld  zu  verlangen,  wenn
viel grere Werke wie TeX selbst oder LaTeX Public Domain sind.  Dies  sollte
eigentlich fr alles im Umfeld von TeX gelten.

  Damit ich aber nicht ganz leer ausgehe,  ist TeX2TXT auch nicht  ganz  Free-
ware, sondern eine Art "Quasi-Shareware" (ein Begriff, den ich gerade eben er-
funden habe.) Das heit:  Alle Teile von TeX2TXT,  die ich als ffentlich  ge-
kennzeichnet habe,  drfen wie Freeware frei weitergegeben werden, sofern dies
kostenlos und vollstndig erfolgt (insbesondere inklusive  dieser  Anleitung).
Sie drfen fr private Zwecke ohne Einschrnkung benutzt werden, fr kommerzi-
elle Nutzung bedarf es  aber  einer  gesonderten  Vereinbarung  mit  mir.  f-
fentliche Teile sind: 

 - das Programm TEX2TXT.TTP selbst 

 - die deutschen Standard-Trennmuster TEX2TXT.PAT 

 - die Anleitung als LaTeX-Quelle, DVI-File und Ascii-Text 

Nicht ffentlich dagegen sind: 

 - der Patterncompiler und 

 - alle damit erzeugten Patternfiles auer dem Standardfile TEX2TXT.PAT 

Die nichtffentlichen Teile drfen nicht weiterkopiert werden und  unterliegen
voll meinem Urheberrecht.  Man kann sie bekommen, indem man sich bei mir regi-
strieren lt.  Mit eingeschlossen in der Registrierung ist der Support,  d.h.
Bugfixes und Beantwortung von Anfragen.  Wohlgemerkt:  Bugfixes. Erweiterungen
werde ich weiterhin nur dann vornehmen,  wenn es mehreren  Leuten  von  Nutzen
sein wird,  und wenn ich genug Zeit dafr habe.  Fragen sind mir am  liebsten,
wenn sie per E-Mail kommen.

  Wenn Sie sich registrieren lassen wollen,  so berweisen  Sie  einen  Betrag
von  DM 20,- entweder auf mein Konto (mit deutlicher Einzahlerangabe!): 

  Roman Hodek
  Sparkasse Erlangen, BLZ 763 500 00
  Konto 28 117 669 

oder senden sie mir einen Brief mit einem  Schein  oder  V-Scheck  (vielleicht
auch zusammen mit einem schriftlichen Feedback): 

  Roman Hodek
  Baiersdorfer Str. 7
  8521 Mhrendorf 

  Wenn ich bei der Registrierung einen ausreichend frankierten und  adressier-
ten Rckumschlag sowie eine formatierte Leerdiskette erhalte, bekommen Sie den
Patterncompiler und die neueste Version von TeX2TXT (sofern  vorhanden)  zuge-
schickt.

1.2) Portabilitt
-----------------

Seit Version 2.0 ist TeX2TXT mit GNU C compiliert.  Dies drfte  etliche  Vor-
teile haben:  TeX2TXT untersttzt die ARGV-Konvention fr lange Kommandozeilen
und die Emulation von Unixdateinamen per Environmentvariable "UNIXMODE".[1]

  TeX2TXT kommt mit TOS- und Unixnamen gleichermaen zurecht, intern wird nach
Unix-Konvention gearbeitet.  Dadurch sollte es  ohne  grere  Schwierigkeiten
mglich sein,  TeX2TXT auch auf andere Betriebssysteme wie DOS  oder  Unix  zu
portieren.  Der systemabhngige Code beschrnkt sich nunmehr nur noch auf  den
Zeichensatz (Umlaute, griechische Buchstaben etc.), aber alle diese Teile sind
in einem Header zusammengefat und knnen ohne groen Aufwand angepat werden.
Wenn jemand daran Interesse hat,  mir bei einer Portierung zu helfen,  kann er
mir gerne eine Mail schicken.  Einzige Vorraussetzung ist,  da ein GNU C vor-
handen ist.

  Ein anderer Vorteil drfte sein,  da TeX2TXT etwas schneller geworden  ist.
GNU C optimiert ja recht passabel...

---------------

 [1]  Eine Kurzbeschreibung dazu finden sie im Anhang B.



2) Wie TeX2TXT arbeitet
=======================

TeX2TXT bildet die Formatierungen von LaTeX  als  Ascii-Text  nach.  Das  dies
nicht immer 100%-ig geht, ist wohl offensichtlich. Im Allgemeinen geht TeX2TXT
so vor:

  Normaler Text wird genauso ausgegeben,  wie er im TeX-Text steht,  nur  halt
mit Blocksatz.  Absatzende ist wie blich eine Leerzeile, mehrere aufeinander-
folgende weie Zeichen werden zu einem zusammengefat.  Wenn zum Randausgleich
Spaces eingefgt werden mssen,  so erfolgt dies (wegen der  Optik)  bevorzugt
hinter Punkten,  Kommas,  Strichpunkten und Doppelpunkten. Genaueres zur Tren-
nung finden Sie in Kapitel 5.

  TeX2TXT kennt bestimmte TeX-Befehle und Environments (siehe Kapitel 4).  Al-
les, was TeX2TXT nicht kennt, wird ignoriert. Dabei erscheint eine Warnung auf
dem Bildschirm, damit man besser den berblick behlt, was ignoriert wurde und
ob es vielleicht doch wichtig war.  Nach einem unbekannten Kommando wird  ver-
sucht,  auch seine Argumente zu berlesen. Da aber TeX2TXT nicht wei, wieviel
Argumente folgen sollten, wird so vorgegangen: Wenn dem Befehl direkt und ohne
Leerzeichen eine eckige oder geschweifte Klammer folgt,  so nimmt TeX2TXT  an,
da es sich hierbei um ein Argument handelt und es werden alle folgenden Texte
in '[' (nur einmal) und '{' (beliebig oft) berlesen. Ansonsten wird die Klam-
merstruktur als unabhngig von dem vorherigen Makro betrachtet und ausgegeben.
Dies ist natrlich ein sehr heuristisches Vorgehen und kann zum  falschen  Er-
gebnis fhren.  Wird ein Argument geschluckt,  so erfolgt eine  Warnung.  Wenn
einmal Teile des Textes unversehens verschwinden sollten, so prfen Sie zuerst
einmal, ob er direkt einem TeX2TXT unbekannten Kommando folgt.

  TeX2TXT kann ber die "normale" Formatierung hinaus noch ein paar  Speziali-
tten:  Inhaltsverzeichnis,  Funoten, Tabellen, Titelformatierung, Referenzen
und selbstdefinierte Makros/Environments.  Diese sind in  den  Abschnitten 4.3
und 4.4 beschrieben.

  Dollarzeichen werden ebenfalls  schlichtweg  ignoriert,  der  Mathematikteil
wird so wie blich formatiert. Dies wird deshalb so gemacht, weil man dann die
Sonderzeichen,  die nur im Mathemodus zugnglich sind,  auch in  TeX2TXT-Doku-
mente aufnehmen kann.  Ein richtiger Mathematiksatz ist ja  mit  ASCII-Zeichen
sowieso nicht mglich.  Man sollte halt nicht zu komplizierte Formeln in  eine
Anleitung schreiben...

  TeX2TXT beherrscht auch die Verarbeitung einfacher  TeX-Makros.  Dabei  sind
sogar Argumente erlaubt.  Fr die normalen Makros des  Hausgebrauchs  funktio-
niert es ganz gut,  aber kompliziertere Konstruktionen werden  scheitern.  Was
insbesondere nicht verarbeitet wird: Makros mit Patterns in der Argumentliste,
also Sachen wie \def\foo#1\par{...}, bei dem das Argument beim Absatzende auf-
hrt.  Fr die Pure-LaTeX-Fans, wie lieber mehr tippen als ntig, gibt es auch
\newcommand und \renewcommand,  die ja hnlich funktionieren. Allerdings prft
TeX2TXT nicht, ob es den Befehl schon gibt. Auch \newenvironment und \renewen-
vironment sind vorhanden und arbeiten wie gewohnt.

  Da TeX2TXT Ascii-Texte produzieren soll,  die vor allem auf  dem  Bildschirm
lesbar sind,  wurde keine Seitenunterteilung implementiert.  Eine solche  wre
natrlich wnschenswert,  wenn die Texte primr zum Ausdrucken  gedacht  sind,
aber ich habe mir die Arbeit erspart.

  Als Beispiel fr eine TeX2TXT-bersetzung dient  der  vorliegende  Text.  Er
wurde ganz normal bearbeitet.  Zum Vergleich habe ich auch das  LaTeX-Original
im Archiv beigefgt.


3) Optionen
===========

In der Kommandozeile kann man neben (genau einem) LaTeX-Quelltext (die  Exten-
sion ".TEX" kann weggelassen werden) noch ein paar Optionen angeben. Diese Be-
einflussen die Formatierung von TeX2TXT.  Bei Optionen,  die Argumente verlan-
gen,  darf das '=' auch weggelassen werden.  Zwischen Option und Argument darf
jedoch kein Space stehen.

-a ("pure Ascii")
    Es werden nur Zeichen aus dem Standard-Ascii verwendet,  d.h.  Zeichen mit
    Codes  127. Insbesondere werden auch keine Atari-Umlaute verwendet. Diese
    Option ist vielleicht sinnvoll,  wenn die Texte nicht nur auf einem  Atari
    gelesen werden sollen.

-b=<len> ("baselineskip")
    Setzt den (TeX2TXT-internen) baselineskip auf <len> pt.  Dieser  wird  nur
    bei der Umrechnung von  TeX-Lngenmaen  in  Zeilen  benutzt.  Default: 12
    (<len> darf auch eine Fliekommazahl sein.)

-c=<width> ("character width")
    Setzt den Umrechnungsfaktor fr Zeichenbreiten auf <width>.  Dieser  funk-
    tioniert analog dem oben beschriebenen baselineskip, nur eben fr horizon-
    tale Mae.  Der Defaultwert ist  so  bemessen,  da  die  voreingestellten
    78 Zeichen in der  Breite  LaTeX's  \textwidth  in  einem  10pt-Stil  ent-
    sprechen. Default: 4.423077pt

-f=<len> ("footnoterule")
    Setzt die Lnge des Strichs vor den Funoten auf <len>. Default: 15

-F ("flush footnotes after paging commands")
    Normalerweise gibt TeX2TXT die Funoten nur am Ende eines Abschnitts  aus,
    da es ja keine Seitenunterteilung kennt.  Mit dieser Option kann  man  er-
    zwingen,  da die Funoten auch nach den Kommandos \clearpage und  \clear-
    doublepage ausgegeben werden.

-h=<mode> ("set hyphenation mode")
    Whlt die Art der Trennung aus. Als Werte sind mglich: 

    TeX: Es wird TeX's Trennalgorithmus verwendet.  Falls dieser keine  Trenn-
        stelle findet, wird nicht getrennt. 

    man: Die alte Trennung von Hand: TeX2TXT schlgt eine Trennstelle vor, die
        dann vom Benutzer abgesegnet werden mu. 

    both: Eine Kombination beider Methoden:  Nur wenn TeX's Algorithmus nichts
        findet, dann wird der Benutzer gefragt. 

    stupid: TeX2TXT's Simpelmethode,  aber ohne  Rckfragen.  Dies  produziert
        zwar Trennfehler in Massen,  geht aber flotter als alle  anderen  drei
        Mglichkeiten und man braucht nicht den vielen Speicherplatz  fr  die
        Trennmuster. (Entspricht der alten Option -h.) 

    Default ist TeX. Zu nheren Informationen zur Trennung siehe Kapitel 5.

-H=<filename> ("hyphenation pattern file")
    Als Patterndatei wird <filename> benutzt. Default: "TeX2TXT.PAT". Dies ist
    meist dann ntig,  wenn ein Text in einer anderen Sprache als Deutsch  be-
    arbeitet werden soll.

      Eine Patterndatei wird in folgenden Verzeichnissen gesucht (sofern nicht
    bei -H ein absoluter Pfad angegeben wurde): Zuerst im aktuellen Directory,
    dann auf dem  in  der  Environmentvariablen  "TeX2TXT"  angegebenen  Pfad.
    Fhrte dies nicht zum Erfolg,  so werden auch noch alle in  "PATH"  aufge-
    fhrten Pfade durchsucht. Diese Extension .PAT kann weggelassen werden.

-i ("alternative italic formatting")
    Normalerweise wird der italic-Font durch Einschlieen des Wortes in spitze
    Klammern simuliert. Dies, weil man \it in Anleitungen meist fr Variablen-
    namen verwendet,  die in ASCII blicherweise als "<...>" geschrieben  wer-
    den.  Fr hervorgehobenen Text sollte \em verwendet werden.  Strt  jedoch
    dieses Verhalten von \it, so kann man mit der Option -i erreichen, da \it
    dasselbe tut wie \em.

-l=<len> ("leftmargin")
    Setzt den linken Rand auf <len> Zeichen. Default: 0

-n ("no footnotes")
    Funoten unterdrcken, Texte hinter \footnote werden ignoriert.

-o=<filename> ("output")
    Die Ausgabe wird in die Datei <Filename> geschrieben.  Ist der Name  leer,
    d.h. direkt hinter dem 'o' kommt ein Space oder das Zeilenende, so erfolgt
    die Ausgabe auf stdout.  Dies kann ntzlich sein,  wenn man  das  Ergebnis
    z.B. in einer Pipe weiterverarbeiten will.

-p=<len> ("parindent")
    Setzt die Breite des Einzugs am Beginn eines Absatzes  auf  <len>  Spaces.
    Funktioniert (fast) genauso wie bei TeX. Default: 2

-q ("alternative backquotes")
    Ich persnlich finde es unschn,  wenn  Zeichen  in  Backquote/Quote-Paare
    eingeschlossen werden,  da diese Zeichen  im  Atari-Font  so  unsymetrisch
    sind.  Daher bersetzt auch TeX2TXT Backquotes in Apostrophe. Da sich aber
    manche TeX-Freaks schon so daran gewhnt haben, kann man diese bersetzung
    mit -q unterdrcken.

-r ("no length rounding to zero")
    Unterdrckt das Abrunden zu Null der Lngenangaben bei  \vspace etc.  Dann
    wird also bei jeden solchen Befehl mindestens eine Leerzeile ausgegeben.

-s=<len> ("parskip")
    Setzt die Anzahl Leerzeilen nach einem Absatz auf <len>.  Default: 1,  an-
    dere Werte produzieren meist keine besonders schnen Ergebnisse.

-S=<len> ("parskip in tabular")
    Da mich die Leerzeile bei Abstzen innerhalb von tabular-p-Spalten gestrt
    hat, hab ich ich fr dort einen weiteren parskip eingefhrt. Default: 0

-t=<len> ("titlewidth")
    Setzt die Mindestbreite der Titelumrahmung (\maketitle) auf <len>. Ist der
    enthaltene Text breiter,  so wird der Sternchenrahmen natrlich auch  ver-
    grert. Wird als Breite 0 angegeben, so wird nicht gerahmt. Default: 62

-u ("supress the "unknown..." messages")
    Unterdrckt die Meldungen ber  unbekannte  Kommandos,  Environments etc.,
    wenn diese stren.

-w=<len> ("textwidth")
    Setzt die Zeilenbreite auf <len> Zeichen. TeX2TXT geht genau bis zu diesem
    Rand,  d.h. ein eventuell gewnschter rechter Rand ist bereits hier einzu-
    rechnen. Default: 78

-z=<num> ("maximum spaces inserted without hyphenation")
    Wenn in einer Zeile nicht mehr als <num> Spaces eingefgt  werden  mssen,
    dann versucht TeX2TXT erst gar nicht zu trennen. Default: 3

-Z=<num> ("maximum spaces inserted if line contains prehyphs")
    hnlich wie -z,  nur da dieser Wert benutzt wird, wenn die Zeile Vortren-
    ner enthlt,  also die Zeichen '-',  '/' und \-.  Eine solche  Trennstelle
    wird als bevorzugt angesehen,  deshalb werden hier auch meist mehr  Spaces
    in Kauf genommen. Default: 4 

  TeX2TXT schreibt seine Ausgabe normalerweise in ein File mit demselben Namen
wie das TeX-File,  nur mit Extender ".TXT".  Eine eventuell bereits vorhandene
Datei dieses Namens wird berschrieben.  Fr das Inhaltsverzeichnis  verwendet
TeX2TXT eine temporre Datei mit Extender ".TTC",  um nicht mit  LaTeX's  TOC-
File zu kollidieren. Das selbe gilt fr das ".TAX"-File, das dieselbe Funktion
erfllt wie LaTeX's ".AUX"-File.  Des weiteren benutzt TeX2TXT ein  temporres
File mit dem Namen der Eingabedatei und Extender ".TMP".  Fr die  Leute,  die
die TeX2TXT-Ausgabe in Pipes umlenken,  ist vielleicht wichtig zu wissen,  da
whrend der Ausgabe das TMP- und (bei Bedarf) die TTC/TAX-Files geffnet sind.
Diese drfen also unter Multitasking nicht in derselben Pipe beschrieben  wer-
den, ein TXT-File dagegen schon. Alle Bildschirmmeldungen von TeX2TXT erfolgen
auf stderr, ebenfalls wegen mglicher Umlenkungen.


4) Erkannte Kommandos und Environments
======================================

Am Anfang steht jeweils eine Auflistung in  alphabetischer  Reihenfolge.  Wenn
eine Erklrung ntig ist,  folgt sie darunter oder dahinter in  Klammern.  Die
Angaben fr Zeichen-Befehle beziehen sich darauf,  da  der  Atari-Zeichensatz
verwendet wird. Bei anderen Systemen knnen auch mehr oder weniger Befehle de-
finiert sein.

4.1) Doublequote-Sequenzen des german.sty
-----------------------------------------

  "a,  "A,  "ck,  "CK, "e, "ff, "FF, "i, "ll, "LL, "mm, "MM, "nn, "NN, "o, "O,
  "pp, "PP, "s, "S, "tt, "TT, "u, "U, "", "', "-, "<, ">, "`, "|, 

4.2) Befehle, die einzelne Zeichen erzeugen
-------------------------------------------

  \approx, \backslash, \copyright, \dag, \dots, \geq, \ge, \LaTeX, \leftarrow,
  \Leftarrow,  \leftrightarrow,  \Leftrightarrow,  \leq,  \le, \Longleftarrow,
  \longleftarrow,  \Longleftrightarrow,  \longleftrightarrow, \Longrightarrow,
  \longrightarrow,  \pm (),  \prime,  \rightarrow,  \Rightarrow, \space, \ss,
  \TeX, \TM 

und zustzlich, wenn nicht Standard-Ascii gewhlt wurde: 

  \alpha,  \beta,  \delta,  \Gamma, \infinity, \in, \mu, \Omega, \P (), \phi,
  \Phi, \pi, \S (Paragraphenzeichen), \sigma, \Sigma, \tau, \Theta 

Eine Besonderheit in diesem Zusammenhang ist der Befehl \char.  Mit ihm lassen
sich bekanntlicherweise beliebige Zeichen aus einem Font per Nummer auswhlen.
Bei TeX2TXT bezieht sich Font immer auf den Atari-Zeichensatz  bzw.  Standard-
ASCII,  wenn dies per Option gewhlt wurde. \char untersttzt neben Dezimalno-
tation auch Oktal (mit '),  Hexadezimal (mit ") und Standardzeichen  (`\).  Es
ist so auch mglich,  Steuerzeichen mit Code < 32 in den Text einzufgen (z.B.
\char`\^^Gergibt den Atari-Closer).  Seien Sie damit aber vorsichtig,  da  ein
paar der Steuerzeichen auch intern verwendet werden, insbesondere die Codes 0,
1 und 10.

4.3) Formatierungsbefehle
-------------------------

  \\[*] (neue Zeile beginnen),  \/ (italic  correction,  ignoriert),  \author,
  \bf, \bigskip, \chapter[*], \cleardoublepage, \clearpage, \date, \discretio-
  nary,  \em,  \hspace[*],  \ignorespaces, \indent, \it, \maketitle, \medskip,
  \noindent,  \paragraph[*],  \par, \section[*], \smallskip, \subparagraph[*],
  \subsection[*],  \subsubsection[*], \thanks (nur innerhalb \author), \title,
  \verb[*], \vspace[*] 

\em,  \it und \bf werden durch Voranstellen und Nachstellen bestimmter Zeichen
simuliert:  Bei \em vorne und hinten ein Underscore ('_'), bei \bf stattdessen
ein Stern und bei \it spitze Klammern. Dies, weil man \it in Anleitungen meist
fr Variablen verwendet,  die blicherweise in Ascii-Text in spitzen  Klammern
geschrieben werden.

  Die Formatierungen fr \chapter,  \section...  hngen davon ab,  ob man beim
documentstyle als main style "article" oder etwas anderes angegeben hat (genau
wie bei LaTeX).  Das "[*]" bedeutet,  da sowohl \section als  auch  \section*
verarbeitet werden. Der Stern bewirkt, da der Titel nicht nummeriert wird und
auch nicht im Inhaltsverzeichnis auftaucht.

  \maketitle zusammen mit \title, \author und \date stellt eine Simulation des
\maketitle von LaTeX dar. Default fr \date ist \today. Der bei \title angege-
bene Text wird normalerweise mit einem Sternchenrahmen umgeben,  um ihn besser
hervorzuheben. Mit Hilfe der Option -t kann dieser Rahmen unterdrckt werden.

  Bei \vspace und \\[...] mu TeX2TXT notgedrungen die absoluten Lngenangaben
von TeX in Zeilen umrechnen.  Als Lngenmae sind dabei pt, pc (pica, = 12pt),
cm, mm, in, ex und \baselineskip erlaubt. Die Lngenangabe wird in Punkt umge-
rechnet,  durch den (per Option -b einstellbaren) baselineskip geteilt und das
gerundete Ergebnis als Anzahl Leerzeilen interpretiert. Vorsicht: Dies hat zur
Folge,  da eine Angabe von z.B.  4pt gar keine Leerzeile bewirkt, da sie zu 0
abgerundet wird.  Eine Abrundung zu Null kann aber mit der  Option  -r  unter-
drckt werden. Anmerkung zu ex: Es wird 1ex = 0.358796\baselineskip gerechnet.
Alle Voreinstellungen fontabhngiger Mae beruhen auf einem 10pt-Font und  ich
hoffe, da sie sich einigermaen auf andere Gren bertragen.

  hnliches wie fr \vspace gilt fr \hspace.  Nur wird fr  die  horizontalen
Mae ein anderer Umrechnungsfaktor (Option -c) verwendet,  zustzlich sind als
Grenangaben em (entspricht 2 Zeichen) und \textwidth erlaubt. Auch der Stern
wird beachtet: \hspace* erzeugt Leerraum, der nicht umgebrochen werden kann.

  Innerhalb gewisser Klammernstrukturen und im Text  zu  einen  tabular-  bzw.
tabbing Environment sind nicht alle Kommandos  erlaubt.  Die  Verbotenen  sind
aber in diesem Kontext meist auch nicht sinnvoll. Benutzerdefinierte Kommandos
drfen dagegen berall stehen.

  \bigskip erzeugt immer eine Leerzeile.  Bei \medskip und \smallskip ist dies
nur der Fall,  wenn per Option -r die Abrundung der Lngenmae  nach 0  unter-
drckt wurde.  Andernfalls lsen sie nur einen neuen Absatz aus, wenn man vor-
her nicht schon im vertical mode war.

4.4) sonstige Befehle
---------------------

  \addtocounter, \footnote, \hyphenation, \includeonly, \include, \input, \la-
  bel,  \newcounter,  \newtheorem,  \refstepcounter, \ref, \setcounter, \step-
  counter, \tableofcontents, \today 

\input und \include bewirken,  da der Inhalt eines Files an dieser Stelle  in
den Eingabestrom eingefgt wird.  Der Filename mu bei TeX2TXT zwingend in ge-
schweiften Klammern stehen,  Slashes sind als Pfadtrenner erlaubt und die  Ex-
tension ".TEX" kann weggelassen werden.  Der Unterschied zwischen  beiden  ist
derselbe wie bei LaTeX:  \include kann per \includeonly angewiesen werden, nur
bestimmte Files zu  lesen  und  alle  anderen  zu  ignorieren.  Das  neue-Sei-
ten-Problem bei LaTeX's \include erbrigt sich bei TeX2TXT.

  \label und \ref funktionieren im Prinzip wie von LaTeX  gewohnt.  Allerdings
ist "fest verdrahtet",  welche Strukturen sinnvolle  label-Eintrge  erzeugen.
Dies sind alle  Abschnittsbefehle,  also  \chapter, ...,  \subsubsection,  mit
\newtheorem erzeugte Environments und die einzelnen Punkte einer  enumeration.
Die Daten fr \label/\ref werden in einem eigenen File verwaltet.  Den  Inhalt
dieser "TAX"-Datei sollte man mglichst nicht von Hand editieren.  Wie bei La-
TeX sind die korrekten Referenzen beim ersten Durchlauf noch nicht bekannt und
werden dann durch "??" ersetzt.  Im Gegensatz dazu wird das Inhaltsverzeichnis
bei jeder bersetzung aktualisiert und auch gleich in den Text eingefgt.

  Die Funoten werden folgendermaen gehandhabt: Die Nummerierung erfolgt ber
das ganze Dokument hinweg (nicht kapitelweise). Anstelle der hochstellten Zahl
wird eine in eckigen Klammern  eingeschlossene  verwendet.[2]  Da  TeX2TXT  ja
keine Seitenunterteilung kennt,  werden die Funoten am Ende  eines  Kapitels,
Abschnitts ...  Unterunterabschnitts ausgegeben und werden -- wie  bei  TeX --
durch einen Strich abgetrennt.  Nach den Funoten  kommt  ein  etwas  grerer
Freiraum als blich.

  Die counter-Befehle funktionieren auch so wie bei LaTeX.  TeX2TXT kennt auch
die "abhngigen counter",  die auf Null gesetzt werden, wenn der bergeordnete
hochgezhlt wird.  Die Kapitel-, Theorem- und Funotennummerierung von TeX2TXT
wird auch ber solche counters realisiert,  so da man bei Bedarf diese Zhler
verndern kann.  Ihre Namen sind die gleichen wie in LaTeX.  Eine kleine  Ein-
schrnkung existiert leider: \refstepcounter tut genau dasselbe wie \stepcoun-
ter wegen der Einschrnkungen bei \label (siehe oben).

  Auch \newtheorem bringt nicht viel Neues: Durch diesen Befehl wird ein neues
Environment erzeugt,  das in bestimmter Weise nummeriert wird (siehe eine  La-
TeX-Beschreibung).  Innerhalb eines solchen Environments  funktioniert  \label
korrekt.  Als Counter,  von dem die Theoremnummerierung abhngig ist, sind nur
chapter, ..., subsubsection erlaubt.

---------------

 [2]  Dies ist ein Beispiel fr eine Funote. Funoten knnen auch mehrere Ab-
      stze enthalten, was zu beweisen ist:

        Hier geht der zweite Absatz los,  der etwas ausfhrlicher  geschrieben
      wird, damit man auch den korrekten Einzug am Absatzanfang erkennen kann.


4.5) LaTeX-Environments
-----------------------

  abstract,  appendix,  center,  description,  enumerate,  itemize, quotation,
  quote, tabbing, tabular[*], verbatim[*], verse 

Das TeX2TXT-tabular ist ein noch  recht  unvollstndiger  (und  wahrscheinlich
auch noch fehleranflliger) Nachbau seines LaTeX-quivalents.  Man  kann  sich
aber einfache Tabellen damit zusammenzimmern. Innerhalb des Formatstrings sind
'l',  'r',  'c', 'p', '|' und @-Ausdrcke erlaubt. Innerhalb des tabular-Texts
sind die zustzlichen Befehle \hline, \vline und \multicolumn erlaubt. Die ta-
bular-Angelegenheit ist wegen ihrer Komplexitt relativ wenig getestet,  daher
kann es wohl gerne mal zu Fehlformatierungen kommen.  Ich bitte hier  um  Bug-
reports.

  Da es mich optisch gestrt hat,  da bei Abstzen  innerhalb  von  p-Spalten
auch eine Leerzeile eingefgt wird,  habe ich einen weiteren Parameter  einge-
fhrt,  der den parskip innerhalb solcher Spalten bestimmt.  Man kann ihn  mit
der Option -S setzen, defaultmig ist er 0.

  Im TeX2TXT-tabbing sind erlaubt: \=, \>, \<, \+, \-, \\[*], \kill, \pushtabs
und \poptabs mit den blichen Funktionen.  TeX2TXT erlaubt maximal 20 Tabs und
8 push/pop-Ebenen.


5) Die Trennung
===============

  TeX2TXT kennt ab Version 2.0 nun zwei Trennalgorithmen:  den von TeX und den
alten, sehr einfachen Selbstgestrickten. Mit der Option -h kann man die Trenn-
methode auswhlen, oder auch eine Kombination aus beiden.

5.1) Die TeX-Trennung
---------------------

Da das alte Verfahren jede Trennstelle von Hand zu korrigieren auf Dauer  doch
sehr zeitaufwendig war,  habe ich mich schlielich doch noch entschlossen, den
auch in TeX verwendeten Trennalgorithmus in TeX2TXT zu implementieren.

  Dieser Algorithmus arbeitet im wesentlichen mit Mustervergleich: Es gibt ein
Musterlexikon,  in dem zu Wortteilen erwnschte und unerwnschte  Trennstellen
vermerkt werden. Das zu trennende Wort wird nun nach solchen Mustern abgesucht
und der beste der gefundenen Trennpunkte gewhlt.  Die  Muster  selbst  knnen
mehr oder weniger automatisch aus einem Trennlexikon der Sprache erstellt wer-
den. Mit den meisten TeX-Implementationen werden zumindest englische und deut-
sche Trennmuster ausgeliefert.

  Dieses Verfahren arbeitet viel sicherer, als man auf den ersten Blick erwar-
tet.  Es ist aber nicht unfehlbar, besonders bei Wrtern, die nicht so richtig
ins Sprachmuster passen, wie z.B. Fremd- oder Lehnwrter. Deswegen gibt es zu-
stzlich ein Ausnahmelexikon.  Die darin aufgefhrten Wrter werden nur so ge-
trennt,  wie dort angegeben und bei ihnen  kein  Mustervergleich  mehr  durch-
gefhrt.

  Bei TeX2TXT ist das Trennverfahren im Wesentlichen  dasselbe  wie  bei  TeX,
aber ein paar kleine Unterschiede gibt es doch,  auf die ich  hier  aufmerksam
machen mchte.  TeX hat seine patterns in seinem Format gespeichert, das es ja
bei TeX2TXT nicht gibt.  Deshalb benutzt TeX2TXT ein eigenes  Dateiformat  fr
die Trennmuster,  die .PAT-Dateien.  In ihnen ist neben den Mustern auch  noch
ein Ausnahmelexikon enthalten, das aber -- wie bei TeX -- auch spter noch mit
dem Befehl \hyphenation erweitert werden kann.  Bei der  ffentlichen  Version
wird eine Datei mit deutschen Trennmustern  bereits  mitgeliefert,  fr  regi-
strierte Benutzer sind auch noch englische Muster erhltlich und der  Pattern-
compliler,  der die entsprechenden IniTeX-Dateien in das TeX2TXT-Format  ber-
setzt.

  Wichtige Unterschiede ergeben sich in der Behandlung der Umlaute  '',  '',
'' und ''. Fr TeX sind die etwas kompliziertere Konstruktionen als einfache
Zeichen,  daher bricht TeX die Trennung beim ersten  Auftreten  eines  solchen
Zeichens im Wort ab.[3] TeX2TXT hat diese Sorgen nicht und kennt auch von Haus
aus Umlaute.  Da ich aber leider kein Trennlexikon fr TeX kenne, das Patterns
mit Umlauten enthlt,  bin ich auf folgende Ersatzlsung ausgewichen:  Die Um-
laute '',  '' und '' werden fr die Trennung in 'a',  'o' bzw. 'u' umgewan-
delt.  Da die sprachliche Funktion der Umlaute diesen  Zeichen  recht  hnlich
ist,  sollte das ganz  gut  funktionieren.  Ich  bitte  um  Erfahrungsberichte
hierzu!

  Ein anderes Problem ist das scharfe '':  Dieses kann ja gar nicht  getrennt
werden und eine Umwandlung  in 's'  scheint  mir  zu  riskant.  Bei  Ersetzung
durch 'ss' knnten Trennstellen entstehen,  die es gar nicht gibt. Daher whlt
TeX2TXT hier die TeX-Methode:  Vorderteil und Rest getrennt behandlen.  Aller-
dings ist an den so entstehenden Rndern lefthyphenmin und righthyphenmin aus-
geschaltet, die sonst erzwingen, da vor der Trennung mindestens zwei und nach
der Trennung drei Zeichen verbleiben.

  Wie schon erwhnt,  kann das Ausnahmelexikon mit \hyphenation erweitert wer-
den.  Die Syntax ist wieder fast genau dieselbe wie bei TeX,  nur kann TeX2TXT
auch Umlaute darin korrekt verarbeiten.  Gro/Kleinschreibung ist  hier  egal.
Ein in \hyphenation aufgefhrtes Wort kann nur noch  an  den  so  festgelegten
Stellen getrennt werden.  Wenn kein '-' enthalten ist, wird auch gar nicht ge-
trennt.

  Der groe Nachteil des TeX-Trennverfahrens  ist  eigentlich  nur  der  groe
Speicherbedarf.  Die  deutschen  Trennmuster  bentigen  im  Speicher  so  ca.
180 KByte.

---------------

 [3]  Neuere german.sty-Versionen beinhalten die  Hilfskonstruktion,  da  der
      Rest nach dem Umlaut als eigenes Wort angesehen wird und dann wieder ge-
      trennt werden kann.  Allerdings geht dabei natrlich der Kontext  verlo-
      ren, was den Mustervergleich manchmal durcheinander bringen kann.


5.2) TeX2TXT-Trennung
---------------------

Neben TeX's Trennalgorithmus enthlt TeX2TXT auch noch das alte Verfahren,  da
dieses nicht so viel Speicher bentigt und dem Benutzer die Kontrolle lt, wo
getrennt wird. Es funktioniert folgendermaen:

  Wenn es TeX2TXT praktisch erscheint,  ein Wort zu trennen,  so sucht es  zu-
nchst nach Vortrennern, das sind die '\-'-Zeichen von TeX, Trennstriche ('-')
und Slashes ('/').  Ermglicht eines von diesen eine passable Trennstelle,  so
wird sie benutzt.  Ansonsten sucht sich TeX2TXT die Stelle im Wort, die ihm am
plausibelsten erscheint,  und frgt den Benutzer,  ob es richtig geraten  hat.
Die Trennung mu mindestens 2 Zeichen auf der  alten  Zeile  lassen  und  min-
destens 3 Zeichen auf die neue Zeile setzen (wie bei TeX).

  Die Stelle wird folgendermaen gesucht:  Es kommen nur Positionen in  Frage,
denen mindestens ein Vokal vorausging und denen zuerst ein Konsonant und  dann
ein Vokal folgt ("ein Konsonant zur nchsten Silbe").  Dabei werden aber Tren-
nungen in "st", "ch" und "sch" bersprungen.

  Wenn eine solche Stelle gefunden wurde, erscheint auf dem Bildschirm "Hyphe-
nation: <Wort>".  Die Trennstelle innerhalb des Worts ist durch  einen  Trenn-
strich gekennzeichnet. Man kann diesen mit den Cursortasten verschieben, falls
TeX2TXT sich geirrt hat.  Meist kann man aber gleich RETURN  drcken,  um  die
Trennstelle abzusegnen.  Soll das Wort nicht getrennt werden,  so  drckt  man
statt RETURN die Taste 'N'.  Befindet sich beim RETURN der Trennstrich  hinter
einem Strich oder einem Slash,  so wird dort getrennt,  aber kein  Trennstrich
eingefgt.  TeX2TXT wei ebenfalls,  da man "ck" in "k-k" trennt;  dies  wird
auch so angezeigt.  Die Konsonantenvermehrung bei Doppelkonsonanten wurde  bis
jetzt aber nicht implementiert. Die Trennstelle lt sich nur soweit verschie-
ben, wie es der Text erlaubt, d.h. es gibt eine rechte Grenze, ab der das Wort
nicht mehr in die Zeile passen wrde.

  Fr die Trennung wird einem grundstzlich das ganze "Wort" prsentiert. Die-
ses Wort ist alles zwischen zwei umgebenden Leerzeichen und  kann  auch  Klam-
mern, Anfhrungszeichen etc. umfassen. Das Wort kann sogar Leerzeichen enthal-
ten. Dies tritt dann auf, wenn im Text feste Spaces verwendet wurden, die z.B.
von der Tilde ('~') erzeugt werden.  TeX2TXT macht bei diesen nicht  ungefragt
einen Zeilenumbruch,  man kann aber den Trennstrich auch hinter die Leerstelle
setzen.  Dann wird bei dem festen Space ganz normal eine neue Zeile  begonnen,
als wre es ein normales Space.

  Das Nachfragen kann man auch unterdrcken,  wenn man Option "-h=stupid"  an-
gibt.  TeX2TXT nimmt dann immer an,  da sein Vorschlag in Ordnung  ist.  Dies
produziert natrlich Trennfehler in rauhen Mengen,  geht aber recht flott  und
kann z.B.  fr Testlufe verwendet werden,  bei denen es auf richtige Trennung
noch nicht ankommt.

5.3) Mischverfahren
-------------------

Als experimentelles Feature kann TeX2TXT zustzlich die beiden  Trennverfahren
mischen, indem man als Option "-h=both" angibt. Dann wird zuerst der TeX-Algo-
rithmus aufgerufen,  und nur,  wenn hiermit keine  gute  Trennstelle  gefunden
wird,  kommt eine Rckfrage an den Benutzer.  Da der TeX-Algorithmus im  Zwei-
felsfalle lieber nicht trennt,  kann man so erreichen,  da  ein  paar  Trenn-
stellen mehr gefunden werden.

5.4) Der Patterncompiler
------------------------

TeX2TXT kann mit beliebigen Trennmustern arbeiten, die daher auch als separate
Datei vorhanden sind.  Zum Erzeugen der PAT-Dateien bentigt man den  TeX2TXT-
Patterncompiler, den man bei Registrierung erhlt.

  Als Eingabedateien verwendet man IniTeX-Files,  die allerdings nur  die  Be-
fehle \pattern und \hyphenation enthalten drfen.  Bei den mir bekannten  TeX-
Formaten sind die Trennmuster immer in eigenen Files gespeichert,  die  direkt
verwendet werden knnen (HYPHEN.TEX ,  GHYPHEN.TEX  und  GHYPHEN.MAX).  Sollte
dies nicht der Fall sein,  mu man halt schnell die relevanten Teile mit einem
Editor  rauskopieren.   Die  mitgelieferten  deutschen  Muster   beruhen   auf
GHYPHEN.MAX.

  Der Compiler erwartet den Namen der  zu  bersetzenden  Datei  in  der  Kom-
mandozeile. Die Ausgabe erfolgt in eine Datei mit selben Basisnamen und Exten-
sion ".TEX".  Die Fehlerabfragen sind drftig gehalten,  da der Compiler wahr-
scheinlich nur selten verwendet wird,  und dann auch nur von Leuten, die nicht
so ganz ahnungslos sind.


Anhang A) History
=================

V1.0
----

Erste verffentlichte Version (an einem  einzigen  Nachmittag  zusammengehackt
und in dementsprechend miesen Stil programmiert)

V1.1
----

 - Neue Option -n zum Unterdrcken der Funoten 

 - Einrckungsfehler bei nur eine Zeile langen \item-Elementen beseitigt 

 - Spaces werden neben '.',  ',' und ':' nun auch hinter ';' bevorzugt  einge-
   fgt 

 - neue Kommandos fr die arrow's 

 - Lngenangaben fr \vspace und \\[...] implementiert 

 - \def, \[re]newcommand und \[re]newenvironment implementiert 

V1.2
----

 - Neue Optionen:  -u zum Unterdrcken der "unknown..."-Meldungen,  -o zum Um-
   leiten der Ausgabe, -i und -q zur Beeinflussung, wie \it bzw. ein Backquote
   gesetzt wird 

 - Neue Environments: verbatim, tabular und tabbing 

 - \vspace* und \\* erlaubt 

 - \input/\include implementiert 

 - Umrahmung des Titels eingefhrt 

V1.3
----

(verffentlicht am 24.12.92 als kleines Weihnachtsgeschenk)

 - Meldungen bei Fehlern in Kommandozeile benutzerfreundlicher gemacht 

 - Fehler mit mehrzeiligen Kommentaren behoben 

 - \bigskip, \medskip und \smallskip eingefhrt 

 - Weglesen der Argumente unbekannter Kommandos verbessert 

 - Neue Optionen:  -F zur Ausgabe der Funoten bei \clearpage  und  \cleardou-
   blepage, -r zum Unterdrcken der Abrundung nach 0 bei vertikalem Freiraum 

 - neues Environment: verse 

 - LaTeX-Counters implementiert 

 - \label, \ref und \newtheorem implementiert 

 - Zeilenzhlung verbessert 

 - Formatierung der item's verbessert 

V2.0
----

 - TeX's Trennalgorithmus eingebaut,  neue Optionen -h und  -H,  \hyphenation,
   \discretionary und zugehrige german.sty-Befehle ("ck",  "ff"...) implemen-
   tiert 

 - Fllgrenze der Zeilen mit -z/-Z einstellbar 

 - \ wird jetzt endlich nicht mehr als ~ interpretiert 

 - optionales '=' bei Optionen mit Argument 

 - Bug bei der Kommandozeileninterpretation beseitigt 

 - \hspace und horizontale Mae eingefhrt, dazu Option -c 

 - p-Spalten in tabular und -S-Option 

 - Verbesserte Entscheidung, ob nach einem Environment ein Einzug gesetzt wer-
   den soll 

 - \char implementiert 

 - Umstellung auf GCC und Zusammenfassen aller Systemabhngigkeiten  in  einem
   Header 

V2.01
-----

 - Bei der internen Umstellung auf Unixnamen ist  mir  leider  ein  peinlicher
   Fehler unterlaufen:  TeX2TXT hatte immer Schwierigkeiten mit absoluten TOS-
   Namen,  wenn die Environmentvariable  "UNIXMODE"  nicht  gesetzt  war.  Ich
   hoffe, dies ist nun restlos beseitigt. 

 - Fehler beim Suchen des Patternfiles in den in "PATH" angegebenen Pfaden be-
   seitigt. 


Anhang B) Kurzbeschreibung von "UNIXMODE"
=========================================

Fr die Leute,  die noch keine Erfahrung mit der Unixnamen-Emulation der  GNU-
Libraries haben, hier eine kurze Einfhrung:

  Wird ein Dateiname verwendet,  der  nicht  den  TOS-Konventionen  entspricht
(also nicht in die 8+3-Regel pat),  so wird dieser in einen  erlaubten  Namen
umgewandelt und der alte sowie neue Name einer  speziellen  Datei  ".DIR"  asl
"symbolischer Link" vermerkt.  Dadurch ist ein korrekter Zugriff  im  Weiteren
mglich.  Die so erzeugte Datei ist dann unter beiden Namen  ansprechbar.  Von
Tools,  die ebenfalls mit GCC compilert sind,  wird sogar der Unixname aus dem
Verzeichnis gelesen.

  Wenn MiNT installiert ist und ein Filesystem,  das lngere Namen als TOS zu-
lt,  so erfolgt die Anpassung an die Regeln des jeweiligen System (oder auch
gar keine Anpassung).

  Die bersetzungen,  die an Datei- und Pfadnamen vorgenommen  werden,  werden
durch die Environmentvariable "UNIXMODE" bestimmt.  In dieser drfen  folgende
Zeichen vorkommen:

+------------+----------------------------------------------------------------+
|  Eintrag   | Bedeutung                                                      |
+------------+----------------------------------------------------------------+
|     b      | Dateien defaultmig im Binrmodus ffnen (normalerweise nicht |
|            | setzen)                                                        |
|     c      | Es wird angenommen,  da das Filesystem Gro- und Kleinschrei- |
|            | bung unterscheidet,  und  es  werden  nicht  alle  Zeichen  in |
|            | Grobuchstaben gewandelt.                                      |
|     d      | Umwandlung von "/dev/x/" in "X:\"                              |
|  r<drive>  | <drive> als Laufwerk fr Unixpfade verwenden,  die mit "/" be- |
|            | ginnen.                                                        |
|     u      | Es wird angenommen,  da das Filesystem beliebig lange Datein- |
|            | amen erlaubt. Dementsprechend wird nichts gekrzt.             |
|     /      | Slashes ('/') werden in Backslashes ('\') gewandelt.           |
| .<zeichen> | Wenn in einem Namen mehrere Punkte  verwendet  werden,  werden |
|            | alle auer dem letzten durch <zeichen> ersetzt  (normalerweise |
|            | ',').  Ist '-' nicht enthalten, wird angenommen, da das File- |
|            | system mehrere Punkte erlaubt.                                 |
|     L      | Einschalten der symbolischen Links.                            |
|     A      | Symbolische Links werden automatisch angelegt wenn ntig.      |
|     H      | Symbolische Links werden bei  Lesen  eines  Verzeichnisses  in |
|            | ihre Unixnamen rckbersetzt.                                  |
+------------+----------------------------------------------------------------+

