************************************************************ * * * TeX to TXT * * * * LaTeX nach ASCII Konverter * * * ************************************************************ Roman Hodek 24. Dezember 1992 Zusammenfassung TeX2TXT ist ein _einfacher_ Konverter, der LaTeX-Texte in nor- male ASCII-Texte bersetzt. Ich habe ihn "fr den Hausge- brauch" geschrieben, weil ich es leid war, meine Programman- leitungen immer zweimal zu schreiben: einmal als TeX-Text und einmal als Ascii-Text fr die Nicht-TeXniker. Er hat aber bes- ser funktioniert, als ich es erwartet habe, und so habe ich mich entschlossen, ihn zu ver”ffentlichen. Seit damals hat sich TeX2TXT strmisch entwickelt und bietet inzwischen einen recht grožen Funktionsumfang. TeX2TXT kann aber nicht nur dazu verwendet werden, um TeX- Texte fr Ascii zu recyclen. Es ist genausogut m”glich, 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) Grunds„tzliches 2) Vorwort zu Version 1.2 und sp„ter 3) Wie TeX2TXT arbeitet 4) Optionen 5) Erkannte Kommandos und Environments 5.1) Doublequote-Sequenzen des german.sty 5.2) Befehle, die einzelne Zeichen erzeugen 5.3) Formatierungsbefehle 5.4) sonstige Befehle 5.5) LaTeX-Environments 6) Die Trennung 7) History 1) Grunds„tzliches ================== Wie schon erw„hnt, habe ich TeX2TXT ursprnglich nur fr meinen eigenen Ge- brauch und auch recht schnell geschrieben. Daraus resultieren einige Ein- schr„nkungen: - 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 Gr”že abgelegt. Daher kann es durchaus vor- kommen, daž TeX2TXT mal Bomben wirft, weil eben eine solche L„nge 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 nicht sonderlich ausfhrlich getestet wurde. - Die Zeilennummern, die TeX2TXT bei Fehlermeldungen ausgibt, sind nicht un- bedingt korrekt. Sie geben aber immerhin einen Anhaltspunkt, wo ungef„hr der Fehler liegen k”nnte. 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. 2) Vorwort zu Version 1.2 und sp„ter ==================================== Ursprnglich hatte ich eigentlich vor, TeX2TXT nur fr meinen pers”nlichen Be- darf zu erweitern. Ver”ffentlicht habe ich es, weil ich dachte, daž es eben auch anderen Leuten ntzlich sein k”nnte. Wegen der beraus zahlreichen, konstruktiven und positiven Rckmeldungen habe ich meinen Standpunkt etwas ge„ndert: TeX2TXT wird auch in Zukunft erweitert werden (auch nach Anwender- wnschen), Bugfixes erfolgen nach M”glichkeit, jenachdem wie ich Zeit dafr finde. Die Updates werden ber das Mausnetz -- ausgehend von @N -- verbreitet. Da TeX2TXT in seinem Umfang seit Version 1.0 doch recht betr„chtlich gewach- sen ist und damit auch die aufgewendete Entwicklungszeit, habe ich mich fr folgenden Copyrightstatus entschieden: TeX2TXT bleibt weiterhin Freeware, vor allem, weil es wenig ausgetestet ist und wahrscheinlich noch viele Bugs ent- h„lt. Ich will es deswegen nicht zu Shareware machen. Andererseits steckt in- zwischen doch recht viel Zeitaufwand dahinter. Deswegen *darf* man mir eine *freiwillige* Honorierung (ò 10,-DM) zukommen lassen, wenn man TeX2TXT ntz- lich findet und/oder h„ufig benutzt. Um es nochmals zu betonen: Ein Beitrag ist nicht Pflicht wie bei Shareware und auch nicht in seiner H”he festgelegt. Er soll nur eine kleine Belohnung fr den Autor sein, wenn einem sein Gewissen dazu r„t. Meine Bankverbindung: Roman Hodek Sparkasse Erlangen, BLZ 763 500 00 Konto 28 117 669 oder als Schein oder V-Scheck zusammen mit einem schriftlichen Feedback: Roman Hodek Baiersdorfer Str. 7 8521 M”hrendorf 3) Wie TeX2TXT arbeitet ======================= TeX2TXT bildet die Formatierungen von LaTeX als Ascii-Text nach. Das dies nicht immer so 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 Whitespace-Zeichen werden zu einem zusammengefažt. Um den Randaus- gleich nicht berzustrapazieren, werden die TeX-Vortrenner beachtet und es ist ein _ einfacher_ Trennalgorithmus eingebaut. Wenn zum Randausgleich Spaces eingefgt werden mssen, so erfolgt dies (wegen der Optik) bevorzugt hinter Punkten, Kommas, Strichpunkten und Doppelpunkten. Genaueres zur Trennung fin- den Sie in Kapitel 6. TeX2TXT kennt bestimmte TeX-Befehle und Environments (siehe Kapitel 5). Alles, was TeX2TXT nicht kennt, wird ignoriert. Dabei erscheint eine Warnung auf dem Bildschirm, damit man besser den šberblick beh„lt, was ignoriert wurde und ob es vielleicht doch wichtig war. Nach einem unbekannten Kommando wird versucht, auch seine Argumente zu berlesen. Da aber TeX2TXT nicht weiž, wie- viel 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 Klammerstruktur als unabh„ngig von dem vorherigen Makro betrachtet und ausgegeben. Dies ist natrlich ein sehr heuristisches Vorgehen und kann zum falschen Ergebnis fhren. Wird ein Argument geschluckt, so er- folgt eine Warnung. TeX2TXT kann ber die "normale" Formatierung hinaus noch ein paar Speziali- t„ten: Inhaltsverzeichnis, Fužnoten, Tabellen, Titelformatierung, Referenzen und selbstdefinierte Makros/Environments. 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 zug„nglich sind, auch in TeX2TXT-Doku- mente aufnehmen kann. Ein richtiger Mathematiksatz ist ja mit ASCII-Zeichen sowieso nicht m”glich. 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- h”rt. Fr die Pure-LaTeX-Fans, wie lieber mehr tippen, gibt es auch \newcom- mand und \renewcommand, die ja „hnlich funktionieren. Allerdings prft TeX2TXT nicht, ob es den Befehl schon gibt. Auch \newenvironment und \renew- environment 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 w„re natrlich wnschenswert, wenn die Texte prim„r zum Ausdrucken gedacht sind, aber ich habe mir die Arbeit gespart. 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. 4) Optionen =========== In der Kommandozeile kann man neben (genau einem) LaTeX-Quelltext (die Exten- sion ".TEX" kann weggelassen werden) noch ein paar Optionen angeben. Diese Beeinflussen die rudiment„re Formatierung von TeX2TXT: -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 ("baselineskip") Setzt den (TeX2TXT-internen) baselineskip auf pt. Dieser wird nur bei der Umrechnung von TeX-L„ngenmažen in Zeilen benutzt. Default: 12 -f ("footnoterule") Setzt die L„nge des Strichs vor den Fužnoten auf . Default: 15 -F ("flush footnotes after paging commands") Normalerweise gibt TeX2TXT die Fužnoten nur am Ende eines Abschnitts aus, da es ja keine Seitenunterteilung kennt. Mit dieser Option kann man er- zwingen, daž die Fužnoten auch nach den Kommandos \clearpage und \clear- doublepage ausgegeben werden. -h ("no questions on hyphenation") Unterdrckt die Anfragen nach der richtigen Trennstelle. Dies kann fr Testl„ufe ntzlich sein, bei denen die richtige Trennung noch nicht wich- tig ist, sondern es nur nervt, wenn man andauernd RETURN drcken muž. -i ("alternative italic formatting") Normalerweise wird der italic-Font durch Einschliežen 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. St”rt jedoch dieses Verhalten von \it, so kann man mit der Option -i erreichen, daž \it dasselbe tut wie \em. -l ("leftmargin") Setzt den linken Rand auf Zeichen. Default: 0 -n ("no footnotes") Fužnoten unterdrcken, Texte hinter \footnote werden ignoriert. -o ("output") Die Ausgabe wird in die Datei geschrieben. Ist der Name leer, d.h. direkt hinter dem 'o' kommt ein Space, so erfolgt die Ausgabe auf stdout. Dies kann ntzlich sein, wenn man das Ergebnis z.B. in einer Pipe weiterverarbeiten will. -p ("parindent") Setzt die Breite des Einzugs am Beginn eines Absatzes auf Spaces. Funktioniert (fast) genauso wie bei TeX. Default: 2 -q ("alternative backquotes") Ich pers”nlich finde es unsch”n, 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 gew”hnt haben, kann man diese šbersetzung mit -q unterdrcken. -r ("no length rounding to zero") Unterdrckt das Abrunden zu Null der L„ngenangaben bei \vspace etc. Dann wird also bei jeden solchen Befehl mindestens eine Leerzeile ausgegeben. -s ("parskip") Setzt die Anzahl Leerzeilen nach einem Absatz auf . Default: 1, an- dere Werte produzieren meist keine besonders sch”nen Ergebnisse. -t ("titlewidth") Setzt die Mindestbreite der Titelumrahmung (\maketitle) auf . Ist der enthaltene Text breiter, so wird der Sternchenrahmen natrlich auch ver- gr”žert. Wird als Breite 0 angegeben, so wird nicht gerahmt. Default: 60 -u ("supress the "unknown..." messages") Unterdrckt die Meldungen ber unbekannte Kommandos, Environments etc., wenn diese st”ren. -w ("textwidth") Setzt die Zeilenbreite auf Zeichen. TeX2TXT geht genau bis zu diesem Rand, d.h. ein eventuell gewnschter rechter Rand ist bereits hier einzu- rechnen. Default: 78 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 tempor„re 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 tempor„res 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ž w„hrend der Ausgabe das TMP- und (bei Bedarf) das TTC/TAX-File ge”ffnet 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 m”glicher Umlenkungen. 5) Erkannte Kommandos und Environments ====================================== Am Anfang steht jeweils eine Auflistung in alphabetischer Reihenfolge. Wenn eine Erkl„rung n”tig ist, folgt sie darunter oder dahinter in Klammern. 5.1) Doublequote-Sequenzen des german.sty ----------------------------------------- "a, "A, "a, "o, "O, "s, "U, "u, "', "-, "<, ">, "`, "|, 5.2) Befehle, die einzelne Zeichen erzeugen ------------------------------------------- \backslash, \copyright, \dag, \dots, \geq, \ge, \LaTeX, \leftarrow, \Left- arrow, \leftrightarrow, \Leftrightarrow, \leq, \le, \Longleftarrow, \long- leftarrow, \Longleftrightarrow, \longleftrightarrow, \Longrightarrow, \long- rightarrow, \pm (ñ), \prime, \rightarrow, \Rightarrow, \space, \ss, \TeX, \TM, Zus„tzlich, wenn nicht Standard-Ascii gew„hlt wurde: \alpha, \beta, \delta, \Gamma, \infinity, \in, \mu, \Omega, \P (¼), \phi, \Phi, \pi, \S (Paragraphenzeichen), \sigma, \Sigma, \tau, \Theta 5.3) Formatierungsbefehle ------------------------- \\[*] (neue Zeile beginnen), \/ (italic correction, ignoriert), \author, \bf, \bigskip, \chapter[*], \cleardoublepage, \clearpage, \date, \em, \indent, \it, \maketitle, \medskip, \noindent, \paragraph[*], \par, \section[*], \smallskip, \subparagraph[*], \subsection[*], \subsub- section[*], \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... h„ngen 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 L„ngenangaben von TeX in Zeilen umrechnen. Als L„ngenmaže sind dabei pt, pc (pica, = 12pt), cm, mm, in und \baselineskip erlaubt. Die L„ngenangabe wird in Punkt umgerech- net, durch den (per Option -b einstellbaren) baselineskip geteilt und das ge- rundete 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. 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 L„ngenmaže nach 0 unter- drckt wurde. Andernfalls l”sen sie nur einen neuen Absatz aus, wenn man vor- her nicht schon im vertical mode war. 5.4) sonstige Befehle --------------------- \addtocounter, \footnote, \includeonly, \include, \input, \label, \new- counter, \newtheorem, \refstepcounter, \ref, \setcounter, \stepcounter, \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 geschweiften Klammern stehen, Slashes sind als Pfadtrenner erlaubt und die Extension ".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-Seiten-Prob- lem 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-Eintr„ge 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 m”glichst nicht von Hand editieren. Wie bei LaTeX sind die korrekten Referenzen beim ersten Durchlauf noch nicht bekannt und werden dann durch "??" ersetzt. Im Gegensatz dazu wird das Inhaltsver- zeichnis bei jeder šbersetzung aktualisiert und auch gleich in den Text einge- fgt. Die Fužnoten werden folgendermažen gehandhabt: Die Nummerierung erfolgt ber das ganze Dokument hinweg (nicht kapitelweise). Anstelle der hochstellten Zahl wird eine in eckigen Klammern eingeschlossene verwendet.[1] Da TeX2TXT ja keine Seitenunterteilung kennt, werden die Fužnoten am Ende eines Kapitels, Abschnitts ... Unterunterabschnitts ausgegeben und werden -- wie bei TeX -- durch einen Strich abgetrennt. Nach den Fužnoten kommt ein etwas gr”žerer Freiraum als blich. Die counter-Befehle funktionieren auch so wie bei LaTeX. TeX2TXTkennt auch die "abh„ngigen counter", die auf Null gesetzt werden, wenn der bergeordnete hochgez„hlt wird. Die Kapitel-, Theorem- und Fužnotennummerierung von TeX2TXT wird auch ber solche counters realisiert, so daž man bei Bedarf diese Z„hler ver„ndern kann. Ihre Namen sind die gleichen wie in LaTeX. Eine kleine Einschr„nkung existiert leider: \refstepcounter tut genau dasselbe wie \step- counter wegen der Einschr„nkungen 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 LaTeX-Beschreibung). Innerhalb eines solchen Environments funktioniert \label korrekt. Als Counter, von dem die Theoremnummerierung abh„ngig ist, sind nur chapter, ..., subsubsection erlaubt. --------------- [1] Dies ist ein Beispiel fr eine Fužnote. Fužnoten k”nnen auch mehrere Abs„tze 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. 5.5) LaTeX-Environments ----------------------- abstract, appendix, center, description, enumerate, itemize, quotation, quote, tabbing, tabular, verbatim, verse Das TeX2TXT-tabular ist ein noch recht unvollst„ndiger (und wahrscheinlich auch noch fehleranf„lliger) Nachbau seines LaTeX-Žquivalents. Man kann sich aber einfache Tabellen damit zusammenzimmern. Innerhalb des Formatstrings sind 'l', 'r', 'c', '|' und @-Ausdrcke erlaubt, 'p'-Spalten sind bis jetzt wegen technischer Schwierigkeiten noch nicht implementiert. Innerhalb des tabular- Texts sind die zus„tzlichen Befehle \hline, \vline und \multicolumn erlaubt. Die tabular-Angelegenheit ist wegen ihrer Komplexit„t relativ wenig getestet, daher kann es wohl gerne mal zu Fehlformatierungen kommen. Ich bitte hier um Bugreports. Im TeX2TXT-tabbing sind erlaubt: \=, \>, \<, \+, \-, \\[*], \kill, \pushtabs und \poptabs mit den blichen Funktionen. TeX2TXT erlaubt maximal 20 Tabs und 8 push/pop-Ebenen. 6) Die Trennung =============== TeX2TXT beinhaltet einen „užert simplen Trennalgorithmus, der aber besser funktioniert, als seine Einfachheit erwarten l„žt. Wenn es TeX2TXT praktisch erscheint, ein Wort zu trennen, so sucht es zun„chst nach Vortrennern, das sind die '\-'-Zeichen von TeX, Trennstriche ('-') und Slashes ('/'). Erm”g- licht eines von diesen eine passable Trennstelle, so wird sie benutzt. Ansonsten sucht sich TeX2TXT die Stelle im Wort, die ihm am plausibelsten erscheint, und fr„gt den Benutzer, ob es richtig geraten hat. Die Trennung muž mindestens 2 Zeichen auf der alten Zeile lassen und mindestens 3 Zeichen auf die neue Zeile setzen (wie bei TeX). Die Stelle wird folgendermažen 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 n„chsten Silbe"). Dabei werden aber Tren- nungen in "st", "ch" und "sch" bersprungen. Wenn eine solche Stelle gefunden wurde, erscheint auf dem Bildschirm "Hyphe- nation: ". 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 nicht implementiert. Die Trennstelle l„žt sich nur soweit verschieben, 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 grunds„tzlich das ganze "Wort" pr„sentiert. 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 w„re es ein normales Space. 7) History ========== V1.0: Erste ver”ffentlichte Version V1.1: Neue Option -n zum Unterdrcken der Fužnoten; Einrckungsfehler bei nur eine Zeile langen \item-Elementen beseitigt; Spaces werden neben '.', ',' und ':' nun auch hinter ';' bevorzugt eingefgt; neue Kommandos fr die arrow's; L„ngenangaben fr \vspace und \\[...] implementiert; \def, \[re]newcommand und \[re]newenvironment implementiert V1.2: Neue Optionen: -u zum Unterdrcken der "unknown..."-Meldungen, -o zum Umleiten der Ausgabe, -i und -q zur Beeinflussung, wie \it bzw. ein Back- quote gesetzt wird; Neue Environments: verbatim, tabular und tabbing; \vspace* und \\* erlaubt; \input/\include implementiert; Umrahmung des Ti- tels eingefhrt V1.3: (ver”ffentlicht am 24.12.92 als kleines Weihnachtsgeschenk) Meldungen bei Fehlern in Kommandozeile benutzerfreundlicher gemacht; Feh- ler mit mehrzeiligen Kommentaren behoben; \bigskip, \medskip und \small- skip eingefhrt; Weglesen der Argumente unbekannter Kommandos verbessert; Neue Optionen: -F zur Ausgabe der Fužnoten bei \clearpage und \clear- doublepage, -r zum Unterdrcken der Abrundung nach 0 bei vertikalem Frei- raum; neues Environment: verse; LaTeX-Counters implementiert; \label, \ref und \newtheorem implementiert; Zeilenz„hlung verbessert; Formatierung der \item's verbessert;