+ All Categories
Home > Documents > TEX Praxis || Was ist TEX?

TEX Praxis || Was ist TEX?

Date post: 09-Dec-2016
Category:
Upload: silvio
View: 219 times
Download: 0 times
Share this document with a friend
19
1 Was ist lEX? 1.1 Die Geburt von TeX T:8X wurde von Donald E. Knuth entwiekelt, einem Professor an der Stanford Univer- sitiit, der intemationalen Ruf als Mathematiker und Informatiker errungen hat. Er besitzt aueh ein flir sein Arbeitsgebiet seltenes Geflihl ftir Asthetik, und seine Sehaffenskraft ist wirklieh phiinomenal 1 . T:8X ist das Nebenprodukt von Knuths monumentalen Untemehmen, The Art of Com- puter Programming. Diese Reihe von Naehsehlagwerken, die eine ganze Skala von Pro- grammierteehniken und -konzepten abdecken solI, ist eine Conditio sine qua non flir aIle Infonnatiker. Drei Bfu1de sind in den siebziger lahren veroffentlicht worden, und nach ei- ner langen Pause, in der sich Knuth mit elektronisehem Satz beschiiftigte, solI ein vierter folgen. Hier ist, nach Knuths eigenen Worten, die Gesehiehte, wie T:8X geboren wurde 2 : Warum begann ieh 1977 mit der Arbeit an T:8X? Das Ganze fing eigentlieh viel frtiher an, im Zusammenhang mit meinen Btiehem The Art of Computer Pro- gramming. leh bereitete gerade eine zweite Ausgabe des 2. Bandes vor. Aber als ieh die Druekfahnen erhielt, sahen diese sehlimm aus - weil sieh die Druekteeh- nik seit der ersten Ausgabe drastiseh geandert hatte. Die Bucher wurden nun im 1 Dies ist nicht iibertrieben. Wir kennen sein Buch gut, haben einige seiner theoretischen Artikel studiert und verwenden TEX nun schon eine ganze Weile - er ist einfach erstaunlich! The TEXbook [1], veroffentlicht bei Addison-Wesley, wurde von Knuth selbst geschrieben und gesetzt - natiirlich in TEX. Man kann sich keine bessere Darbietung der vielen Talente dieses Mannes vorstellen. 2 Aus "Remarks to celebrate the publication of Computers and Typesetting," GruBwort an das Computer Museum in Boston am 21 Mai 1986. Der gesamte Text kann im TUGboat, 7 (1986), 95-98 [6] nachgelesen werden. (TUGboat ist das Informationsblatt der TEX Users Group in den USA.) R. Séroul et al., TEX Praxis © Birkhäuser Verlag 1998
Transcript
Page 1: TEX Praxis || Was ist TEX?

1 Was ist lEX?

1.1 Die Geburt von TeX T:8X wurde von Donald E. Knuth entwiekelt, einem Professor an der Stanford Univer­

sitiit, der intemationalen Ruf als Mathematiker und Informatiker errungen hat. Er besitzt aueh ein flir sein Arbeitsgebiet seltenes Geflihl ftir Asthetik, und seine Sehaffenskraft ist wirklieh phiinomenal1 .

T:8X ist das Nebenprodukt von Knuths monumentalen Untemehmen, The Art of Com­puter Programming. Diese Reihe von Naehsehlagwerken, die eine ganze Skala von Pro­grammierteehniken und -konzepten abdecken solI, ist eine Conditio sine qua non flir aIle Infonnatiker. Drei Bfu1de sind in den siebziger lahren veroffentlicht worden, und nach ei­ner langen Pause, in der sich Knuth mit elektronisehem Satz beschiiftigte, solI ein vierter folgen. Hier ist, nach Knuths eigenen Worten, die Gesehiehte, wie T:8X geboren wurde2 :

Warum begann ieh 1977 mit der Arbeit an T:8X? Das Ganze fing eigentlieh viel frtiher an, im Zusammenhang mit meinen Btiehem The Art of Computer Pro­gramming. leh bereitete gerade eine zweite Ausgabe des 2. Bandes vor. Aber als ieh die Druekfahnen erhielt, sahen diese sehlimm aus - weil sieh die Druekteeh­nik seit der ersten Ausgabe drastiseh geandert hatte. Die Bucher wurden nun im

1 Dies ist nicht iibertrieben. Wir kennen sein Buch gut, haben einige seiner theoretischen Artikel studiert und verwenden TEX nun schon eine ganze Weile - er ist einfach erstaunlich! The TEXbook [1], veroffentlicht bei Addison-Wesley, wurde von Knuth selbst geschrieben und gesetzt - natiirlich in TEX. Man kann sich keine bessere Darbietung der vielen Talente dieses Mannes vorstellen.

2 Aus "Remarks to celebrate the publication of Computers and Typesetting," GruBwort an das Computer Museum in Boston am 21 Mai 1986. Der gesamte Text kann im TUGboat, 7 (1986), 95-98 [6] nachgelesen werden. (TUGboat ist das Informationsblatt der TEX Users Group in den USA.)

R. Séroul et al., TEX Praxis© Birkhäuser Verlag 1998

Page 2: TEX Praxis || Was ist TEX?

2 Kapitel 1. Was ist T 8(?

Fotosatz hergestellt, anstatt mit Bleisatz in Monotype Maschinen, und sie wurden mit Hilfe eines Computers (leider!) anstatt von Hand gesetzt. Das Resultat war eine schlechte Verteilung des Leerraums, besonders im Mathematiksatz, und die Fonts waren im Vergleich zum Original schrecklich. Ich war ziemlich entmutigt und wuBte nicht, was tun. Addison-Wesley bot mir an, alles wieder nach der alten Monotype-Methode zu setzen, aber ich wuBte, daB diese bald aussterben wtirde. Wenn ich dann meinen 4. Band beendigt hatte, wtirde dasselbe Problem wieder auftauchen, und ich wollte kein Buch schreiben, das aussehen wtirde wie die letz­ten Druckfahnen.

Dann ... erhielten wir Druckfahnen von Pat Winstons Artificial Intelligence, die mit einer neuen Maschine in Stidkalifomien gemacht worden waren, alles dis­kretisiert mit einem Raster hoher Auflosung ... Die digitale Schrift sah viel bes­ser aus als das, was auf meinen eigenen Druckfahnen zu sehen war . .. Binnen einer Woche, nachdem ich die Druckfahnen von Winstons Buch gesehen hatte, entschied ich mich, alles liegen zu lassen und mich mit digitaler Typographie zu befassen ....

Seit seinen Anfangen im Jahre 1977 verfolgte das TJYC-Projekt, dem ich mich verschrieben hatte, zwei Hauptziele. Das erste war Qualitiit: Wir wollten Doku­mente erstellen konnen, die nicht nur ganz gut sind, sondem tatsachlich die be­sten . .. Urn 1977 gab es einige Systeme, die sehr attraktive Dokumente herstellen konnten. Mein Ziel war es den letzten Schritt zu tun, hin zur besten Qualitat, die je ftir gedruckte Dokumente erreicht wurde.

Es zeigte sich, daB es nicht schwer war, dieses Niveau, was das Formatieren des Textes anbetraf, nach zwei Jahren Arbeit zu erreichen. Zum Beispiel machten wir Experimente mit dem Time-Magazin urn zu zeigen, daB Time, in TJY( gesetzt, viel besser aussieht. Aber es zeigte sich, daB das Design der Schriftarten viel schwieri­ger war, als ich gedacht hatte: Sieben Jahre brauchte ich, urn eine Schriftgestaltung zu erhalten, mit der ich mich anfreunden konnte.

Das zweite Hauptziel war Archivierbarkeit: ein System, das so weit wie mog­lich unabhangig von den Fortschritten in der Drucktechnik ist. Ich wollte auch beim Aufkommen einer neue Generation von Druckmaschinen die gleiche, schon erreichte Qualitat erhalten, anstatt dieselben Probleme noch einmallOsen zu mtis­sen. Ich wollte etwas schaffen, das auch in 100 Jahren noch zu gebrauchen ist. In anderen Worten, mein Ziel war es, daB unsere Nachfahren fahig sein sollen, aus heute gespeicherten Daten auch im Jahre 2086 ein aquivalentes Buch zu produzie­ren ...

Page 3: TEX Praxis || Was ist TEX?

1.2 Wie T EK arbeitet 3

1.2 Wie TEX arbeitet Grob gesprochen fallen Textverarbeitungssysteme in zwei Kategorien:

• WYSIWYG Systeme: what you see is what you get3. Sie sehen am Bildschirm je­derzeit, wie das gedruckte Dokument aussehen wird, und was Sie eingeben, hat sofort Wirkung auf das Erscheinungsbild des Dokuments .

• Markup-Systeme, in denen Sie Ihren Text mit Formatierungsanweisungen eingeben. Diese Anweisungen haben zunachst keinen Effekt. Sie mtissen erst ein Programm laufen lassen, welches das endgiiltige Bild, entweder fUr den Bildschirm oder den Drucker, be­rechnet. In der Sprache der Informatiker: Markup-Systeme mtissen den Quelltext, den Sie eingeben, compilieren.

WYSIWYG Systeme haben den offensichtlichen Vorteil augenblicklichen Feedbacks, aber sie arbeiten nicht sehr prazise: Was in einer Auflosung von 300 Punkten pro Inch akzeptabel ist, fUr eine kurzlebige Publikation wie ein Informationsblatt oder einen Hand­zettel, ist es nicht mehr ftir ein Buch, das im Fotosatz mit hoher Auflosung produziert wird. Das menschliche Auge ist auBerordentlich empfindlich: Etwas kann Sie am Er­scheinungsbild eines Textes storen, ohne daB Sie sagen konnen, was es ist - genauso wie Sie hOren konnen, wenn in einem Orchester jemand falsch spielt, ohne daB Sie den Schuldigen identifizieren konnen. Man lernt im Buchdruck schnell, daB Schonheit, Les­barkeit und angenehmes Lesen eines Textes von kleinsten Details abhangen: Jedes Ele­ment muB genau richtig plaziert werden, bis auf Tausendstel Millimeter. Ftir diese Art Arbeit verschwindet der Vorteil, den ein sofortiges Feedback hat: Feine Details beztiglich Leerraume, Ausrichtung und so weiter sind viel zu klein, urn sie mit der relativ geringen Auflosung des Bildschirms wahrnehmen zu konnen. Und selbst wenn dies nicht der Fall ware, so ware es doch eine monumentale Aufgabe, aIle Details per Hand zu regeln.

Deshalb ist es nicht erstaunlich, daB in der Welt des professionellen Schriftsetzens Markup-Systemen der Vorzug gegeben wird. Diese automatisieren das prazise Plazie­ren eines jeden Zeichens. Nattirlich ist fUr einen Anfanger dieser Weg weniger attraktiv, weil man nicht direkt das Resultat seiner Eingabe sehen kann, und man ein GefUhl da­fUr entwickeln muB, was das System tun wird. Aber Sie konnen heute schon die Vorteile beider Systeme genieBen: indem Sie ein Markup-System zusammen mit einem WYSIWYG

Frontend verwenden; wir werden spater noch tiber solche Frontends fUr TJY( reden.

TJY( wurde in den spaten Siebzigern und fruhen Achtzigern entwickelt, zu einer Zeit, als WYSIWYG System noch nicht we it verbreitet waren. Aber wenn es jetzt tiberarbeitet werden mtiBte, wtirde es immer noch eine Markup-Sprache sein. Urn Ihnen eine Idee zu geben, mit welcher Prazision TJY( arbeitet: Die interne Einheit, mit der TJY( arbeitet, ist ungefiihr ein hundertstel der Wellenlange des sichtbaren Lichtes! (In Zahlen: 1/100.) Mit anderen Worten, jeder Rundungsfehler in den Rechnungen ist fUr das bloBe Auge nicht zu bemerken.

Das Resultat dieser pedantischen Arbeit ist nicht das komplette Bild einer Druckseite, sondern eher eine abstrakte Beschreibung davon. Diese Beschreibung ist unabhangig von

3 Dieses Motto ist nur dann 100% korrekt, wenn Bildschirrn und Drucker die gleiche Aufl6sung und Seiten­beschreibungssprache verwenden.

Page 4: TEX Praxis || Was ist TEX?

4 Kapitel 1. Was ist T[5X?

der Maschine, auf der Sie TJYC haben laufen lassen, und vom Drucker, der den Ausdruck erzeugen wird - mit anderen Worten, sie ist vollstandig iibertragbar. Hier ist eine deko­dierte Version eines winzigen Teils einer Seite, die das TJYC-Logo enthalt:

level 1: (h=0,v=655360,w=0,x=0,y=0,z=0,hh=0,vv=42) 109: fntdefl 0: cmrl0---loaded at size 655360 DVI units 130: fntnumO current font is cmrl0 [T] level 2: (h=1784036,v=655360,w=0,x=0,y=0,z=0,hh=113,vv=42) 137: down3 141084 v:=655360+141084=796444, vv:=51 [E] level 2: (h=1784036,v=655360,w=0,x=0,y=0,z=0,hh=113,vv=42) [ X]

1.3 Die guten und die schlechten Nachrichten Ober TEX Die guten Nachrichten

Zunachst einmal produziert TJYC-Dokumente in ungewohnlich hoher Qualitiit, insbe­sondere im Mathematikmodus. Wie wir schon bemerkten, ist Knuth ein Asthet, und er nahm das Wissen von Generationen von Setzern mit in sein Programm auf. Hier einige Beispiele, die zeigen, wie auBerordentlich sorgfiiltig TJYC Ihren Text behandelt:

• TJYC verwendet Ligaturen automatisch, in bester Schriftsetzer-Tradition. Kombina­tionen bestimmter Zeichen - fl - werden durch extra designte Sonderzeichen - fi - er­setzt, siehe Abschnitt 2.3.

• TJYC fiihrt automatisch ein Kerning (eine optische Angleichung der Buchstaben­abstiinde) durch, d. h. Zeichen, deren Formen zueinander "passen", werden dichter zu­sammen gesetzt - AV statt A V -, so daB die visuelle Wirkung der Zeichen einheitlich ausfallt.

• TJYC verwendet einen komplizierten Mechanismus fUr den Randausgleich und trennt, wenn notig, Worter. Die Regeln der Silbentrennung seIber konnen geandert werden, so daB TEX verschiedenen Sprachen angepaBt werden kann.

• Das EinfUgen von Leerraum zwischen den verschiedenen Komponenten einer ma­thematischen Formel wird von TEX nach den traditionellen Regeln der besten, den Ma­thematiksatz betreibenden Hauser durchgefUhrt. Eine mathematische Formel in TEX ein­zutippen ist so einfach, natiirlich und logisch, daB man sich dabei ertappt, es urn seiner selbst willen zu tun ...

Ein gut geschriebenes TEX-Dokument ist vermittels Makros formatiert, die angeben, wie jeder Bestandteil gesetzt werden solI. Ein Makro ist ein kurzes Programm, das es Ihnen erspart, die Formatierungsanweisungen explizit eingeben zu miissen. Zum Beispiel konnen Sie mit \footnote eine FuBnote generieren, ohne daB Sie sich Gedanken dariiber machen miissen, wie Sie den Text ans Ende der Seite bewegen oder wie Sie kleine Zahlen iiber der Zeile eingeben. Makros sind in Termen von Basiseinheiten, wie \indent oder \par (fUr Absatze) geschrieben, die den Grundwortschatz von TEX bilden.

Page 5: TEX Praxis || Was ist TEX?

1.3 Die guten und die schlechten Nachrichten Ober Tg< 5

Makros machen T}3X enorm flexibel. Urn das Erscheinungsbild eines Dokuments zu iin­dem, reicht es aus, die Definitionen einiger Makros zu iindem, ohne den Text anzutasten. Es gibt Bemiihungen, Standards flir das Codieren der Strukturen von on-line Dokumen­ten zu entwickeln. T}3X wird diesen Standards entsprechen konnen, da es eine hohere Dokument-Beschreibungssprache ist.

T}3X Dokumente sind iibertragbar. Ein Dokument, das in T}3X geschrieben wurde, Ihren Text und Ihre Makros zur Formatierung enthiilt, kann ganz mit den druckbaren Zeichen des ASCII-Satzes - also aus dem Bereich 32-126 (sowie dem Wagenriicklaufzeichen)­eingegeben werden, selbst wenn es Zeichen aus fremden Alphabeten enthiilt, die einen ho­heren Code haben. Falls das Chinesisch flir Sie ist, hier ein Beispiel aus der Praxis: Urn einem Freund irgendwo auf der Welt Ihren Text zu zeigen, schalten Sie einfach Ihr Modem ein, senden den Text und - fertig! Es sind keine spezielle Dekodierungen oder Konver­tierungen notig4 . Mit den Computemetzen, die die ganze Erde umspannen, eroffnet die Fiihigkeit, formatierte Texte zu versenden, viele Moglichkeiten. Und selbst der kompli­zierteste wissenschaftliche Text kann in T}3X geschrieben werden, indem ausschlieBlich ASCII-Zeichen verwendet werden.

Urn nur ein Beispiel zu nennen: Die Datenbank, die von der American Mathematical Society, AMS, unterhalten wird, basiert auf T}3X. Sie enthiilt alle mathematischen Artikel, die auf der Welt verOffentlicht werden. Wenn Sie auf diese Datenbank zugreifen, konnen Sie Abstracts jedes Artikels, der Sie interessiert, erhalten und entweder als T}3X-Quelltext oder formatiert, nach einem T}3X-Lauf, lesen.

T}3X kann auch auf andere Computer iibertragen werden, weil es nicht von den Beson­derheiten des Zeichensatzes eines Computers abhiingt und weil seine Berechnungen in einer vollkommen maschinenunabhangigen Weise durchgeflihrt werden. Ein in T}3X ge­schriebener Text (ignorieren wir einmal die Unterschiede in der Qualitiit der Drucker) hat immer die gleiche Gestalt, ob er nun auf einem Macintosh, einem PC, einer UNIX Work­station, einem IBM GroBrechner oder gar auf einer Cray erstellt worden ist. Wir haben es ausprobiert: Ein Artikel, der auf einem PC der UniversiUit von StraBburg geschrieben worden war, wurde in die USA geschickt, wo der Fotosatz dann problemlos von der AMS erstellt wurde. Das Ergebnis sah aus wie die Korrekturabziige, die auf unserem beschei­denen Matrixdrucker ausgedruckt worden sind.

T}3X erzeugt kein Bild, sondem nur eine Seitenbeschreibung. Urn ein Dokument zu drucken, geben Sie die T}3X-Ausgabedatei an ein Treiberprogramm weiter, das die enthal­tene Beschreibung in Befehle umwandeln kann, die der Drucker oder ein anderes Aus­gabegeriit versteht. Auf diese Weise ist T}3X auch unabhangig von der Technologie der Drucker; iindert sich die Technologie, muB man nur einen neuen Treiber, ein relativ ein­faches Programm, schreiben.

4 1m Idealfall. In der Praxis kann es bei nichtenglischen Texten noch vorkommen, daB einige Zeichen verun­staltet werden, wenn si~ iiber gewisse Netze gehen: Umlaute, das B, aber auch der Backslash sind besonders anfallig. Eine SicherheitsmaBnahme ist es, den gesamten AscII-Zeichensatz am Textanfang oder -ende aufzuli­sten. Der Empfanger erkennt dann, bei welchen Zeichen Schwierigkeiten auftreten. Auf jedem Fall taucht das Problem heutzutage immer seltener auf.

Page 6: TEX Praxis || Was ist TEX?

6 Kapitel 1. Was ist T g<?

T£X ist viel mehr als ein Textverarbeitungssystem - es ist eine Programmiersprache! Es laBt sich leicht Ihren Bedurfnissen anpassen. Sie konnen neue Befehle schaffen oder T£X's Verhalten modifizieren, indem Sie seine Variablen andem. Mit mehr Erfahrung konnen Sie neue Stile definieren oder ausgefeilte Makros fUr spezielle Zwecke schreiben - oder Sie konnen diese Dinge von anderen kopieren. Weil T£X iibertragbar und weitverbreitet ist, durften die meisten Dinge, die Sie benotigen, schon irgendwo geschaffen worden sein; Sie mussen sie nur finden. Das ist nattirlich nicht immer einfach, aber ein guter Startpunkt fUr die Suche ist TUGboat, der T£X Users Group Newsletter.

T£X ist sehr gut erweiterbar - wie wir gesehen haben, hat Knuth auch an die Zukunft gedacht, als er T£X entwickelte. Aus diesem Grunde hat er es in mehreren Schichten auf­gebaut, wie eine Zwiebel: In der Mitte sind T£X's ca. 300 ,,Basiseinheiten", die Bausteine von T£X. Die Basiseinheiten sind sehr elementar, sie werden deshalb als "primitivs" be­zeichnet. Sie wurden es nicht mogen, sie die ganze Zeit anwenden zu mussen. Ais nach­stes kommen Befehle auf hoherer Ebene oder Makros, definiert in einer Format-Datei. Die ublichste Format-Datei heiBt plain. tex, und in ihr sind ca. 600 Befehle definiert. (Kein Grund zur Panik, Sie werden weniger als hundert Befehle kennen mussen, urn selbst ziemlich komplizierte Dokumente zu setzen, und die meisten haben recht naheliegende Namen.) Die Kombination der primitivs mit den Befehlen, die in plain. tex definiert sind, wird allgemein mit Plain-T£X bezeichnet. Dazu konnen Sie noch eins von mehre­ren Makropaketen verwenden; sie stellen noch benutzerfreundlichere Befehle zur Verfu­gung, wie etwa \chapter oder \theorem, die ganz die Formatierung ubemehmen5. Und schlieBlich konnen Sie sich Ihre eigenen Befehle schreiben. Sind Sie sehr vertraut mit T£X, so konnen Sie sogar Ihr eigenes Format schreiben, urn Plain-T£X zu erganzen oder ganz zu ersetzen.

TIY( ist sorgfaltig nach Fehlem durchkammt worden. Naturlich wird es wie jedes Pro­gramm nie ganz fehlerfrei sein; aber da Knuth einen Preis flir jeden gemeldeten neuen Fehler anbietet, gibt es eine Armee von Fehlersuchenden, die jede Zeile des Codes durch­gegangen ist. Die verbleibenden Fehler mussen sehr absonderlich sein und werden wohl kaum spontan auftreten. Wenn Sie einen finden, werden Sie Ihren Preis erhalten und einen Eintrag auf der offiziellen Liste der (frtiheren) Fehler von T£X, die regelmaBig im TUGboat erscheint.

T£X ist Gemeingut, "public domain": Knuth teilt es kostenlos mit der Welt. Sie konnen T£X von irgend jemandem kopieren. Kaufen Sie T£X, so zahlen Sie nur flir die Imple­mentation auf einer bestimmten Maschine und flir die Umgebung, die typischerweise aus Treiber, Texteditor, Previewer und so weiter besteht. Kommerzielle Software, die mit T£X vergleichbar ist, wird fUr das Zehn- oder Zwanzigfache verkauft.

Das T£X-Logo und das Copyright von The T£Xbook gehoren der AMS, die den T£X­Standard pflegen muB. Damit sich neue Implementierungen T£X nennen durfen, mussen sie einen sogenannten "torture-Test" uberstehen, der von Knuth selbst geschaffen und jedes Jahr verbessert wurde.

5 Die Pakete sind normalerweise mit dem unterliegendem Format kombiniert, so daB es verschiedene Dialekte von TEX gibt: Jb.TPC, AMS-TEX, und so weiter. Jb.TPC ist wahrscheinlich am bekanntesten und am vollstan­digsten.

Page 7: TEX Praxis || Was ist TEX?

1.3 Die guten und die schlechten Nachrichten Ober rEX 7

Der Pascal Quelltext von TJ3X wurde, mit allen Erklarungen, als Band B von Computers and Typesetting (es gibt flinf Bande, Band A ist The TJj(book [1)) veroffentlicht. Das ist an sich schon bemerkenswert: Nicht viele Quelltexte haben es in ein Buch geschafft! Falls Sie die Moglichkeit haben, so sehen Sie sich TEX: The Program [2] an. Sie werden sehen, wie innovativ Knuth wieder war: Anstatt eine trockene Auflistung zu prasentieren, verband er Code und Kommentar in einem sehr schOn gesetzten Dokument.

Die schlechten Nachrichten Nun kommen wir zu den Mangeln von TJ3X. Wie Sie sehen werden, konnen die mei­

sten umgangen werden, gewohnlich vermittels Erweiterungen oder durch zusatzliche Pro­gramme zur Untersttitzung. Diese sind implementationsabhangig und nicht eigentlicher Teil von TJ3X. Dennoch ist es eben erst durch die Starke des Designs von TJ3X moglich, daB es in so viele Richtungen erweiterbar ist.

TJ3X Programmierung ist subtil, und es braucht Zeit, urn sie zu meistem. Keine Sorge: Das ist kein Problem flir gewohnliche Anwender. Ein Makro anzuwenden oder selbst ein einfaches Makro zu definieren, ist nicht schwieriger, als ein Radio einzustellen. Aber komplizierte Makros oder ein Paket zu schreiben, ist eher wie ein Radio zusammenzu­bauen: keine Aufgabe flir Anfanger.

TJ3X besitzt einen begrenzten Speicherumfang, der flir jede Implementierung festge­setzt ist - also nicht dynamisch wachst. Auf Computem mit wenigstens 4 Megabyte Speicherplatz konnen Sie eine in C geschriebene Version laufen lassen, deren (Speicher-) Grenzen weit genug sind, urn sie als irrelevant zu bezeichnen; aber auf Rechnem mit we­niger Speicherplatz konnen Sie, wenn Sie nicht gewisse VorsichtsmaBnahmen treffen, in Schwierigkeiten kommen.

TJ3X verwendet seine eigenen Fonts, die bereit gehalten werden miissen. Das ist nicht eigentlich eine Begrenzung des Designs, weil TJ3X tatsachlich alle Fonts, dessen Metrik­Informationen bekannt sind (s. Abschnitt 1.5), verwenden kann; aber bis in die '90er Jahre war es schwierig, diese Informationen fiir Nicht-TJ3X-Fonts zu erhalten. Neuerdings kon­nen viele Installationen von TJ3X, sowohl auf dem PC wie auch auf groBeren Systemen, PostScript Fonts verwenden. Mit der weiteren Verbreitung von TJ3X, insbesondere auf kleinen Rechnem, ist damit zu rechnen, daB die Zahl der verfiigbaren Fonts schnell an­wachsen wird. (Tatslichlich ist dies der Fall. Seit 1992 wurde deshalb ein ganzlich neuer Mechanismus zur Auswahl von Fonts entwickelt. Dieses als NFSS - New Font Selection Scheme - bekannte Verfahren wird in Abschnitt 4.8 vorgestellt.)

TJ3X kann keine schrliggestellten Zeilen und keine Grafik verarbeiten. Es gibt Makro­Pakete, die einfache Grafikkommandos definieren, aber sie neigen dazu, viel Speicher zu belegen. Giinstiger ist es wohl, einen Notausgang zuverwenden, den Knuth in TJ3X flir solche Situationen eingebaut hat: den \special-Befehl. Dieser Befehl laBt Sie in TJ3X's Ausgabedatei alles einschmuggeln, womit TJ3X seiber nichts anfangen kann, wohl aber die Treiberprogramme: z. B. der Name einer Datei, die eine Grafik enthalt, oder so­gar PostScript-Befehle. Natiirlich sind diese Dinge von der Implementierung der Treiber abhangig. Aber gerade die Integration von PostScript-Code ist heute auf nahezu allen Systemen ohne besondere Schwierigkeiten moglich.

Page 8: TEX Praxis || Was ist TEX?

8 Kapitel 1. Was ist T EX?

TEX arbeitet nicht interaktiv6• Dies ist wohl die am meisten geauBerte Kritik an TEX. Wie erwiihnt, gibt es Griinde dafiir; es gibt aber auch Wege, diese Schwierigkeit zu umge­hen. Es sind jetzt viele benutzerfreundliche Frontends verfiigbar; fiir den Macintosh z. B. bietet das kommerzielle Programm "TEXtures" eine sehr interessante Schnittstelle. Von diesem Programm aus haben Sie Zugriff auf

• einen Multi-Window Texteditor;

• TEX selbst; • einen Previewer, der auf dem Bildschirm zeigt, wie der Ausdruck sein wird; • einen Druckertreiber.

Und Sie konnen sogar von anderen Programmen erstellte PostScript-Grafiken in den Text einfUgen.

Auf pes konnen Sie zu einer Zeit nur ein Programm laufen lassen (zumindest unter DOS): Sie miissen erst eine Datei editieren, dann TEX laufen lassen und sich schlieBlich das Ergebnis mit dem Previewer auf dem Bildschirm ansehen. Sie miissen sich alle Fehler notieren, den Previewer verlassen und Ihren Text erneut editieren, urn ihn zu korrigieren. Dies wiederholen Sie so oft, bis der ProzeB konvergiert. Was gabe man nicht fiir eine Maus und ein Window Interface!

Da Mikrocomputer immer leistungsfahiger werden, werden die drei letzten Mangel, von denen wir sprachen, wahrscheinlich verschwinden. SchlieBlich werden wir auch auf Mikrocomputern sehr benutzerfreundliche Systeme haben, wie sie schon auf Workstations verfiigbar sind. Solche Systeme verwenden einen TEX-"Motor", aber sie arbeiten, als wa­ren sie WYSIWYG Systeme: Sie konnen mit Hilfe der Maus eine mathematische Formel eingeben oder andern, ohne den TEX-Quelltext zu editieren, ja sogar ohne viel iiber TEX zu wissen!

1.4 TEX: FOr wen und wofOr?

TEX ist kein Textverarbeitungssystem. Es wurde fiir einen bestimmten Zweck entwor­fen: wissenschaftliche Texte zu schreiben. Wissenschaftliche Texte sind, typografisch ge­sehen, paradox. Sie konnen ungemein haarige Formeln enthalten, sind aber im Seitenlay­out sehr einfach: Eine Anzahl von Rechtecken - die Absatze - werden einfach iibereinan­dergestapelt. Deshalb ist TEX unschlagbar im Mathematiksatz oder fiir naturwissenschaft­liche Artikel im allgemeinen; aber es stockt und stottert, wenn es einen Newsletter oder ein kompliziertes Seitenlayout bearbeiten muB.

TEX wurde fiir Naturwissenschaftler von einem Naturwissenschaftler (und Astheten) entworfen. Aber einige seiner Leistungsmerkmalesind auch fUr Geisteswissenschaftler interessant: Akzente in Fremdsprachen, FuBnoten, Indizieren, anpassungsfahige Silben­trennung, Prograrnmiermoglichkeiten. Knuth hat selbst eine Erweiterung von TEX pro-

6 Es gibt aber einen Betriebsmodus, in dem TEX ohne einen Quelltext gestartet wird, Kapitel 13 unter In­teraktion mit TEX. AuJ3erdem gibt es Befehle fur die interaktive BeeinfluBung des Ubersetzungslaufs, siehe Kapitel 13 unter dem Stich wort \read

Page 9: TEX Praxis || Was ist TEX?

1.5 Arbeiten mit T 8<: ein Uberblick 9

grammiert (die, damit der Standard gewahrt bleibt, nicht TEX sondern tex-xet7 heiBen soll), die sowohl von links nach rechts geschriebenen Texte wie im Deutschen als auch von rechts nach links geschriebenen Texte wie im Arabischen oder Hebraischen setzen konnen solI.

Zusammenfassend laBt sich sagen, daB Knuth sein Wort gehalten hat. Die "scientific community" besitzt jetzt ein professionelles Werkzeug zum Schriftsatz von hoher Qua­litat, das jeder bezahlen kann. Mit dem Fortschritt der Technik erwarten wir eine kon­tinuierliche Evolution der Schnittstellen fUr TEX, wahrend der Kern von TEX derselbe bleiben wird, weil dieser maschinen- und implementierungsunabhangig ist. Die Prazision von TEX's internen Berechnungen garantiert, daB ein Buch, das heute mit TEX hergestellt wird, auch in hundert lahren noch unverandert gedruckt werden kann.

TEX ist das qualitativ hochwertigste wissenschaftliche Schriftsatz-Programm, das es heutzutage auf Mikrocomputern gibt. Es !auft natiirlich auch auf groBeren Rechnern.

Ein letztes Argument fUr TEX: Wie die Erfahrung zeigt, ist das Schreiben eines solchen Programms ein monumentales Unterfangen. Wei 1 der Markt fUr diese Produkte nicht so groB ist, wird es noch eine Weile dauern bis es jemandem gelingt, Knuths Werk zu ver­drangen8.

1.5 Arbeiten mit leX: ein Oberblick

Welchen Befehl Sie nun genau eingeben mussen, oder welchen Knopf Sie drucken mussen, urn ein TEX-Dokument zu erstellen, hangt von Ihrem System ab; es sind aber immer drei Schritte, die Sie durchfUhren mussen. Hier erklaren wir die Bedeutung der Schritte; fUr die Details mussen Sie die Dokumentation Ihrer TEX-Implementierung oder Kollegen zu Rate ziehen.

1. Schritt: Den Quelltext vorbereiten Angenommen, Sie wollen einen Brief, einen Artikel oder ein Buch mit TEX erstellen.

Der erste Schritt ist es, den Text mit Hilfe eines Texteditors in eine Datei zu schreiben. Zusammen mit dies em Text geben Sie TEX-Formatierungsbefehle oder Kontrollsequen­zen ein:

Text + Datei

Kontroll-Texteditor

auf der )

sequenzen Platte

Sie sollten den Unterschied zwischen einem Texteditor und einem Textverarbeitungssy­stem kennen. Letzteres ist ein Texteditor zusammen mit einer Software zum Formatieren; diese erlaubt Ihnen, Fonts zu wechseln, zweispaltig zu schreiben, einzuziehen und so weiter. Ein Texteditor schreibt Ihren Text in eine Datei auf Diskette (bzw. Festplatte) und

7 Eine verbreitete Variante des Programms ist unter dem Namen tex--xet (mit --) auf den CTAN-Servern vorhanden.

8 Dieser Aspekt zeigt eine interessante Parallele zwischen TEX und Fortran ...

Page 10: TEX Praxis || Was ist TEX?

10 Kapitel 1. Was ist T £X?

zeigt einen Ausschnitt davon auf dem Bildschinn. Der Text wird dabei tiberhaupt nicht fonnatiert.

Wir besprechen diesen Unterschied, wei I viele, die an WYSIWYG Systeme gewohnt sind, sich dessen nicht bewuBt sind: Sie kennen nur Textverarbeitungssysteme. Wo konnen Sie einen Texteditor finden? Fast tiberall. Jedes Textverarbeitungssystem beinhaltet einen Texteditor, den Sie verwenden konnen. Falls Sie das tun, mtissen Sie sicherstellen, daB Sie Ihre Datei mit "save" oder "save text only" speichem, so daB die Fonnatierungsan­weisungen des Textverarbeitungssystems nicht mit abgespeichert werden. Falls Sie ohne diese VorsichtsmaBnahme eine Datei an TJ3X weitergeben, erhalten Sie Unsinn, da TJ3X mit den Fonnatanweisungen des Textverarbeitungssystems nichts anfangen kann9.

2. Schritt: Der eigentliche TEX-Lauf TJ3X's Aktionen konnen schematisch folgendennaBen dargestellt werden:

Quelltext Seiten-

(Text + Kontroll-TJ3X

beschreibung )

sequenzen) r (dvi-File)

Font-Metrik

(tfm-File)

Setzt TJ3X Ihren Text, so ersetzt es zuerst die Zeichen in Ihrem Text durch ihre Abmes­sungen. Einem Zeichen sind drei Dimensionen zugeordnet: Hohe, Tiefe, und Breite lO.

Nattirlich hangen diese GroBen yom Font ab, den Sie verwenden. Ein "a" ist unterschied­lich breit, je nachdem ob es fett gesetzt ist oder nicht. Die Abmessungen der Zeichen sind in einer speziellen Datei, dem tfm-File (TFJ( font metrics), gespeichert. Dieselbe Datei enthalt weitere Infonnationen, z. B. tiber die Ligaturen (sie werden automatisch von TJ3X gesetzt) und Korrekturen in der Kursivschrift (nach einem kursiv geschriebenem Wort wird ein winziger Leerraum eingefligt, so daB es besser aussieht) betreffen.

Nachdem TJ3X einen ganzen Absatz gelesen und in diese Dimensionen umgewandelt hat, addiert, subtrahiert, multipliziert und dividiert TJ3X diese Zahlen mit Vollgas und kommt mit einer abstrakten Beschreibung dessen, wie der Absatz auf der Seite aussehen wird, raus. Diese Beschreibung wird in eine sogenannte dvi-Datei (flir device indepen­dent, d. h. gerateunabhangig, die gleiche Datei wird auf allen Ausgabegeraten dargestellt, unabhangig von deren Auflosung) geschrieben.

3. Schritt: Die Ausgabedatei erstellen TJ3X arbeitet nur mit Dimensionen: Es ignoriert vollkommen die Fonn der Zeichen.

Wenn die dvi-Datei erstellt ist, muB ein anderes Programm gestartet werden, urn die

9 Es existieren einige Konverter, mit denen aus mit einem Textverarbeitungssystems formatierten Texten U\Tp<:-Dokumente erstellt werden konnen. Die Umsetzung vom u\TP<: nach TJY( ist durch Redefinition von Makros moglich.

10 Hohe (Tiefe) ist die vertikale Ausdehnung des Zeichens oberhalb (unterhalb) der Grundlinie

Page 11: TEX Praxis || Was ist TEX?

1.6 Eine Vorschau 11

Seite wirklich darzustellen: ein Treiber, der die Seite zu einem Drucker schickt, oder ein Previewer, der die Seite auf Ihrem Bildschirm zeigt.

Folgendes passiert dabei:

Seiten- ausgegebene Seite

beschreibung Treiber oder Previewer

(auf dem Schirm )

(dvi-File) r oder auf Papier)

Pixel-

Files

(pk-Files)

Der dvi-Treiber (oder Previewer) sucht in einer anderen Art von Dateien, den soge­nannten Pixel Files, nach der Form der Zeichen. Mit dieser Information erzeugt er dann das richtige Pixelmuster auf Ihrem Blatt Papier bzw. Bildschirm.

Dieser Uberblick liber die Arbeitsweise von TEX erkHirt, warum Sie (nicht) jeden be­liebigen Font mit TEX verwenden konnen: Sie mlissen die metrischen Informationen in ei­nem tfm-File vorratig haben. Mehr und mehr Fonts werden heutzutage mit tfm-Dateien vertrieben. Es gibt auch Programme, urn tfm-Files flir PostScript-Fonts zu erzeugen -ausgehend von Metrik-Files (afm-Files), die mit diesen Fonts ausgeliefert werden.

1.6 Eine Vorschau Wir haben gerade die Vor- und Nachteile von TEX diskutiert. Es ist nun an der Zeit, daB

Sie es ausprobieren. Dazu sollten Sie einen oder beide der zwei folgenden kurzen Texte in Ihren Computer eingeben. (Lassen Sie den zweiten aus, wenn Sie nicht an Mathematiksatz interessiert sind.)

Vergleichen Sie zuerst den Quelltext mit der Ausgabe. Versuchen Sie die Wirkung jeder control sequence (Kontrollsequenz: das ist ein Wort, das mit einem umgekehrten Schrag­strich beginnt) zu erraten. Dann schreiben Sie mit einem Texteditor Ihrer Wahl den ersten Text in eine Datei hobbi t. tex und den zweiten in eine Datei math. tex.

TEX unterscheidet sich von den meisten WYSIWYG Systemen in der Behandlung der zwei "unsichtbaren" Zeichen Leerzeichen und Wagenrlicklauf, die wir im folgenden kurz mit SP (space) und CR (carriage return) bezeichnen. (Die Wagenrlicklauftaste drlicken Sie, wenn Sie im Quelltext eine neue Zeile beginnen wollen.) Normalerweise konnen Sie bei TEX nach Belieben eine neue Zeile beginnen: Auch wenn Sie nur ein Wort pro Zeile schreiben, wird das Ergebnis immer das gleiche bleiben, wei I TEX bei der Formatierung den Rand ausgleicht, so daB alle Zeilen gleich lang sind. Flir TEX hat ein einzelnes CR

die gleiche Wirkung wie ein SP. Mehrere SP in Folge haben die gleiche Wirkung wie ein einziges. Flir den Beispieltext wird es allerdings das Beste sein, wenn Sie ihn wie unten angegeben eintippen, damit Sie Ihre Datei mit der Vorgabe vergleichen konnen, falls Fehler auftreten.

Page 12: TEX Praxis || Was ist TEX?

12 Kapite/ 1. Was ist T g<?

Es gibt eine Ausnahme flir die Regel der Aquivalenz von SP und CR: Wenn TJY( min­destens zwei CR hintereinander sieht - also eine oder mehrere Leerzeilen findet - beginnt es automatisch einen neuen Absatz. Sie sollten also auch die Leerzeilen beachten, wenn Sie die Beispieltexte eintippen. (Normalerweise werden Quelltexte aber ohnehin nach der oben beschriebenen Regel erstellt.)

Raben Sie einen oder beide Texte eingegeben, sollten Sie T}3X laufen lassen und die Ausgabe zum Drucker schicken oder auf einem Bildschirmtreibem darstellen lassen. Fur die meisten Implementierungen lautet der Befehl urn die entsprechende Datei, (die hier hobbi t. tex heiBt,) formatieren zu lassen, tex hobbit.

Der Befehl, urn die resultierende dvi-Datei, (die die Seitenbeschreibung des Quelltex­tes enthalt), drucken zu lassen, ist vollkommen systemabhangig. Sie mussen also jeman­den fragen oder in der Dokumentation nachsehen urn zu wissen, was zu tun ist.

Bei der auf PC's sehr verbreiteten emTJY(-Implementation wird z. B. zur Bildschirm­darstellung v hobbit (unter DOS) bzw. dvipm hobbit (unter OS/2) angegeben. Zum Ausdrucken auf einem Laserjet4 kompatiblen Drucker wird prthplj hobbit angege­ben. (Fur andere gangige Drucker stehen entsprechende Dateien zur Verfligung.)

Unter Unix ist die Konvertierung nach PostScript-Standard. (Sie ist unter DOS und OS/2 ebenfalls moglich.) Dort wird mit dvips hobbit die Datei hobbit. ps erzeugt, die dann mit ghostview hobbit dargestellt und ausgedruckt werden kann.

Wenn Sie TJY( laufen lassen, konnen Fehlermeldungen erscheinen, die anzeigen, daB in Ihrem Quelltext Druck- oder Satzfehler sind. Anworten Sie auf jede Fehlermeldung mit CR, danach editieren Sie wieder Ihre Datei, urn die Druckfehler zu korrigieren. SchlieB­lich wird TJY( ohne Fehlermeldung laufen, und Sie konnen die dvi-Datei zum Drucker schicken und sich dann den Ausdruck ansehen. (Wie Sie vielleicht bemerken, entsprechen die Anfiihrungszeichen im folgendem Text nicht den ublichen deutschen Konventionen. Das Thema Anfiihrungszeichen behandeln wir erst spater, Abschnitt 2.2.)

Erster Text \hsize=115mm

"Guten Morgen!" sagte Bilbo schlie{\ss}lich. "Wir wollen hier keine Abenteuer, vielen Dank! lhr k\" onnt es hinter dem Berg oder jenseits des Wassers versuchen!" Damit meinte er, die Unterhaltung w\" are beendet.

"Was lhr nicht alles unter einem {\it guten Morgen\/} versteht", sagte

Gandalf. "Jetzt meint lhr, da{\ss} lhr mich damit loswerden k\" onntet, da{\ss} es gut w\ II are , wenn ich verschw\" ande."

"Keineswegs, keineswegs, mein bester Herr -- wie hei{\ss}t lhr eigentlich?' ,

"Ja, freilich, mein bester Herr! lch wei{\ss} sehr gut, wie lhr hei{\ss}t, Mister Bilbo Beutlin. Und lhr kennt auch meinen Namen,

Page 13: TEX Praxis || Was ist TEX?

1.6 Eine Vorschau

obgleich lhr nicht ahnt, da{\ss} ausgerechnet ich dazu geh \ "ore: lch bin Gandalf, und Gandalf, denkt nur, das bin ich! Reizend, da{\ss} Belladonnas Sohn mich mit einem ,Guten Morgen' wegscheuchen will, als ob ich Kn\"opfe an der T\"ur verkaufte!"

"Gandalf, Gandalf! Du lieber Himmel, doch nicht der wandernde Zauberer, der dem alten Tuk ein Paar magischer Diamantenklammern verehrte, die sich von selbst schlossen und

13

sich niemals ohne Befehl l\"osten? Keiner verst and es wie er, beim Kaffeetrinken solch wunderbare Geschichten \"uber Drachen zu erz\"ahlen, \"uber Kobolde und Riesen, \"uber gerettete Prinzessinen und \"uber das unvorhergesehene Gl\"uck von S\"ohnen armer Witwen \dots\ Der Himmel sei mir gn\"adig, so ein Leben schien aber -- ich meine, lhr habt in dieser Gegend allerhand angerichtet. lch bitte urn Verzeihung, aber ich hatte keine Ahnung, da{\ss} lhr noch immer solchen Unfug macht.' '\footnote *{J. R. R. Tolkien, {\it The Hobbit}. \"Ubersetzt von Walter Scherf}

\bye

"Guten Morgen!" sagte Bilbo schlieBlich. "Wir wollen hier keine Abenteuer, vielen Dank! Ihr konnt es hinter dem Berg oder jenseits des Wassers versuchen!" Damit meinte er, die Unterhaltung ware beendet.

"Was Ihr nicht alles unter einem guten Morgen versteht" , sagte Gandalf. "Jetzt meint Ihr, daB Ihr mich damit loswerden konntet, daB es gut ware, wenn ich verschwande."

"Keineswegs, keineswegs, mein bester Herr - wie heiBt Ihr eigentlich?" "Ja, freilich, mein bester Herr! Ich weiB sehr gut, wie Ihr heiBt, Mister Bilbo

Beutlin. Und Ihr kennt auch meinen Namen, obgleich Ihr nicht ahnt, daB ausge­rechnet ich dazu gehore: Ich bin Gandalf, und Gandalf, denkt nUT, das bin ich! Reizend, daB Belladonnas Sohn mich mit einem ,Guten Morgen' wegscheuchen will, als ob ich Knopfe an der Tur verkaufte!"

"Gandalf, Gandalf! Du lieber Himmel, doch nicht der wandernde Zauberer, der dem alten Tuk ein Paar magischer Diamantenklammern verehrte, die sich von selbst schlossen und sich niemals ohne Befehl lost en? Keiner verst and es wie er, beim Kaffeetrinken soleh wunder bare Geschichten uber Drachen zu erzahlen, uber Kobolde und Riesen, uber gerettete Prinzessinen und uber das unvorhergesehene Gluck von Sohnen armer Witwen ... Der Himmel sei mir gnadig, so ein Leben schien aber - ich meine, Ihr habt in dieser Gegend allerhand angerichtet. Ich bitte urn Verzeihung, aber ich hatte keine Ahnung, daB Ihr noch immer solehen Unfug macht.*"

* J. R. R. Tolkien, The Hobbit. Ubersetzt von Walter Scherf

Page 14: TEX Praxis || Was ist TEX?

14 Kapitel 1. Was ist T e<?

Zweiter Text

\hsize=115mm

\center1ine{\bf 3. Endomorphismus eines $A$-Modu1s endlichen Typs}

\medskip \noindent Theorem 3.1. {\it Sei $M$ ein $A$-Modu1 end1ichen Typs und $u:M\rightarrow M$ ein Endomorphismus von $M$. Dann gilt: $$ u \hbox{ ist surjektiv }\iff u \hbox{ ist bijektiv.} $$}% Ende der Kursivschrift

Die Richtung $\Leftarrow$ ist k1ar. Wir beweisen die Richtung $\Rightarrow$. Seien $(x_1,x_2,\ldots,x_n)$ Erzeugende von $M$. Da $u$ surjektiv ist, existiert ein $y_i\in M$, so da{\ss}\ $x_i- \hbox{f\"ur $1\le i\le n$}. \leqno(3.1.1) $$ Versieht man $M$ mit der durch $u$ induzierten $A[T]$-Modu1 Struktur, so fo1gt daraus $$ x_i=\sum_{j=1}-n (a_{ij}T)x_j\qquad\hbox{in $M$}. \leqno(3.1.2) $$

Weiter versehen wir den $A[T]$-Modu1 $M-n$ mit der Mat$_n(A[T])$-Modu1 Struktur, die in (2.2.4) beschrieben wurde. Nun ist es 1eicht zu sehen, da{\ss}\ aus (3.1.2) in $M-n$ fo1gt $$ \pmatrix{ 1-Ta_{11} & -a_{12} & \ldots& -a_{1n} \cr -a_{21} & 1-Ta_{22}& \ldots& -a_{2n} \cr \vdots & \vdots & \ddots& \vdots \cr -a_{n1} & -a_{n2} & \ldots& 1-Ta_{nn}\cr }

\pmatrix{x_1 \cr x_2 \cr \vdots \cr x_n \cr} O. \leqno\rm (3.1.3) $$ \bye

Page 15: TEX Praxis || Was ist TEX?

1.7 Eine Manteldatei erzeugen 15

3. Endomorphismus eines A-Moduls endlichen Typs

Theorem 3.1. Sei M ein A-Modul endlichen Typs und U : M ---+ M ein Endomo'T'­phismus von M. Dann gilt:

u ist sU'T'jektiv -¢::::::} U ist bijektiv.

Die Richtung {::= ist klar. Wir beweisen die Richtung =? Seien (Xl, X2, ... ,Xn )

Erzeugende von M. Da u surjektiv ist, existiert ein Yi E M, so daB Xi = U(Yi). Weil die Xi M generieren, existieren aij E A (1 ::; i ::; n) mit Yi = 2:7=1 aijXj, weshalb

(3.1.1) n

Xi = LaijU(Xj) j=l

fUr 1 ::; i ::; n.

Versieht man M mit der durch u induzierten A[T]-Modul Struktur, so folgt daraus

(3.1.2) n

Xi = L(aijT)xj j=l

inM.

Weiter versehen wir den A[T]-Modul Mn mit der Matn(A[T])-Modul Struk­tur, die in (2.2.4) beschrieben wurde. Nun ist es leicht zu sehen, daB aus (3.1.2) in Mn folgt

(3.1.3) =~~: ) (~~) = O.

1- ~ann X:n

Einige Variationen Nachdem Sie beide Dateien ohne Fehler haben laufen lassen, sollten Sie die folgenden

Variationen versuchen:

• Ersetzen Sie \hsize=115mm am Dateianfang durch \hsize=3in. Dies andert die Breite der Seite, d. h. die Lange der Zeilen.

• Fiigen Sie \ vsize=5cm an den Dateianfang hinzu. Dies setzt die Hohe der Seite auf fiinf Zentimeter zuriick, so daB Sie einen Seitenumbruch erhalten.

• Fiigen Sie \parindent=25mm oder (ein anderes Mal) \parindent=-25mm am Da­teianfang ein. Dies bestimmt den Einzug am Absatzanfang.

• Fiigen Sie \baselineskip=15pt am Dateianfang ein, so bestimmen Sie den Zei­lenabstand per Hand. (Ein Punkt, abgekiirzt pt, ist eine im Buchdruck oft verwendete Einheit; 28,5pt entsprechen ungefahr einem Zentimeter.)

• Fiigen Sie \parskip=5pt am Dateianfang ein, urn den Abstand zwischen den Ab­satzen zu andem.

Page 16: TEX Praxis || Was ist TEX?

16 Kapitel 1. Was ist T eX?

1.7 Eine Manteldatei erzeugen

Wenn Sie ein groBes Dokument zu setzen haben, ist es am besten, nicht den ganzen Text in einer Datei unterzubringen, denn groBe Dateien sind recht unhandlich. Eine gute Faustregel ist es, eine Datei auf nicht mehr als 500 Zeilen anwachsen zu lassen. Sie sollten also etwa ein Kapitel oder einen Abschnitt in einer Datei haben.

Angenommen, Ihr Dokument ist auf vier Dateien verteilt, zum Beispiel doc1. tex, ... , doc4. tex. Es ist nicht notwendig, die einzelnen Dateien und die Makro-Datei in einer Datei zu vereinen, urn sie zusammen laufen zu lassen. Stattdessen ist es giinstiger, eine kleine Manteldatei (master file) zu schreiben, die Sie z. B. master. tex nennen. In ihr steht einfach:

\input doc1. tex \input doc2.tex

\input doc3.tex \input doc4.tex \bye

Wenn Sie nun tex master eingeben (oder wie immer Sie Tpc auf Ihrem System zum Laufen bringen), wird Tpc die Dateien doc 1. tex, ... , doc4. tex nacheinander lesen und sich verhalten, als ob die vier eine groBe Datei waren.

Angenommen, Sie wollen auch mehrere Optionen setzen so wie am Ende des letzten Unterkapitels, z. B. \hsize, \ vsize, oder \parindent. Sie ki:innten dies am Anfang jeder der vier Dateien doc1. tex, ... , doc4. tex tun, aber da diese Befehle das ganze Dokument betreffen, ist es das beste, nicht die einzelnen Dateien damit zu belasten - es gibt keinen Grund, warum die Befehle viermal gelesen werden sollten. Stattdessen ki:innen Sie alle in eine Makro-Datei (macro File oder options File oder style File) schreiben und diese z. B. doc. mac nennen. Die Datei sieht dann etwa so aus:

\hsize=4.5in \vsize=6in \parindent=lin

Jetzt fiigen Sie noch \input doc. mac an den Anfang der Manteldatei ein, so daB diese Datei noch vor docl. tex gelesen wird.

1.8 Fehlermeldungen und Warnungen

Probleme bei der Eingabe von Quelltexten

Selten gelingt einem ein Quelltext gleich beim ersten Mal richtig, besonders wenn man ein Anfanger ist. Wenn Tpc einen Fehler entdeckt, wird eine Fehlermeldung auf dem Terminal ausgegeben. Die Fehlermeldung wird ebenfalls in die sogenannte log-Datei geschrieben, so daB Sie sich die Meldungen nicht aufschreiben miissen; Sie ki:innen, nach­dem der Tpc-Lauf beendet wurde, in der Datei nachschauen.

TPC unterscheidet zwei Klassen von Problemen: zum einen sind dies syntaktische Feh­ler, die also fehlerhaft angewendete Tpc-Makros. Oft werden z. B. die ein Argument be­grenzenden geschweiften Klammem vergessen. T:W( kann in einer solchen Situation nicht ohne exteme Hilfe weiter arbeiten. Die Ubersetzung wird angehalten. Unten zeigen wir, wie auf diese Fehler reagiert werden kann.

Page 17: TEX Praxis || Was ist TEX?

1.8 Fehlermeldungen und Warnungen 17

Weiter gibt es kleinere Probleme, die nicht unmittelbar mit der Abarbeitung und Aus­wertung von Makros zusammenhangen, sondem die den erzeugten Umbruch (Drucksatz) betreffen. Diese werden als Wamungen bezeichnet.

Wamungen werden auf dem Terminal und in der log-Datei ausgegeben, sie stoppen die Bearbeitung des Quelltextes jedoch nicht, siehe unten.

Fehler und ihre Behandlung Oftmals konnen Sie einen Fehler nicht zur Laufzeit korrigieren, und das Beste ist es

dann, TEX zu sagen, daB es trotz des offensichtlichen Unsinns weitermachen soIl. Dies tun Sie, indem Sie die Eingabetaste driicken, wenn TEX Fragezeichen auf dem Bildschirm ausgibt. Andererseits konnen diese Meldungen Ihnen auch viel Zeit ersparen - wenn Sie nach und nach deren Bedeutungen und Ursachen lemen.

Hier ist eine Fehlermeldung, der Sie anfangs oft begegnen werden:

! Undefined control sequence 1.27 xxxxxx \hvill

yyyyyy ?

Hier stehen xxxxxx und yyyyyy fUr den direkt vor und nach dem Fehler stehenden Text, und TEX sagt, daB es gerade in Zeile 27 einen Befehl \hvill gelesen hat, dessen Bedeutung es nicht kennt. TEX wird den Befehl ignorieren, stoppt aber hier, urn Ihnen die Moglichkeit zu geben, noch etwas zu reparieren.

Das Fragezeichen bedeutet, daB TEX auf Antwort wartet. Hier sind fUnf mogliche Ant­worten:

• H oder h eintippen (gefolgt von einem CR). TEX bietet Hilfe in Form einer etwas langeren Darstellung des Problems an. Diese Moglichkeit ist oft fUr Anfanger niitzlich.

• Nur CR eingeben (nur die Eingabetaste driicken). Das bedeutet, daB Sie TEX nichts mitzuteilen haben und daB es weitermachen soIl, so gut es kann. Wenn der Fehler nicht schwerwiegende Folgen hat, wird sich TEX im allgemeinen recht schnell wieder fangen, und nachfolgende Absatze sind vom Fehler meistens nicht beeintrachtigt. Aber es gibt Fehler, von denen TEX sich nicht so schnell erholen kann, und Sie miissen dann mehrere Male hintereinander CR eingeben. In diesem Fall konnen Sie sich Arger ersparen, indem Sie Q oder q (fUr "quiet") eintippen, was das gleiche ist, als ob Sie bei allen Fehlermel­dungen CR bis ans Ende des Laufes eintippen.

• Text vor yyyyy eingeben. Dies geschieht, indem Sie I oder i gefolgt von dem, was immer Sie auch eingeben wollen, eintippen und mit CR abschlieBen. 1m obigen Beispiel war \hvill ein falsch getipptes \hfill, so daB Sie Ihr urspriingliches Ziel durch die Eingabe von i \hfill erreichen. Achtung: Was Sie interaktiv eingeben, wird nicht in Ihren Quelltext geschrieben! Sie werden dart die Korrektur nicht finden, wenn Sie den Text wieder editieren. Aber die log-Datei enthalt alles, was Sie in TEX eintippen; so konnen Sie also eine lange Definition von dart mit Ihrem Editor in den Quelltext kopieren.

• Die nachste Moglichkeit ist es X oder x (fUr "exit") einzugeben. TEX stoppt dann, aber aIle bisher bearbeiteten Seiten sind in der dvi-Datei gesichert und konnen zu einem Drucker oder Previewer geschickt werden.

Page 18: TEX Praxis || Was ist TEX?

18 Kapitel 1. Was ist T EX?

• In extremen Hillen miissen Sie die Unterbrechungs- oder Reset-Taste (auf PC's ist es oft die Tastenkombination CTRL-C) driicken, urn den Lauf abzubrechen, und dann im Quelltext nachsehen, urn zu erraten, was derart schiefgelaufen ist. Gliicklicherweise ist eine solche Situation sehr selten ...

Wie man am \hvill-Beispiel sieht, zeigt TEX die Zeile, in der der Fehler auf tritt, an - oder vielmehr ein Zeilenpaar, da die Zeile, an dem Punkt, wo der Fehler gefunden wird, umgebrochen wird. Fehler kannen nicht nur dann gefunden werden, wenn neues Material eingelesen wird, sondem auch, wenn TEX mit Befehlen arbeitet, die schon ein­gelesen sind (wie etwa beim "Expandieren von Makros", siehe Kapitel 12). In diesem FaIle werden mehrere Zeilenpaare ausgegeben; nur das letzte Paar gibt an, was gerade eingelesen worden ist. Falls Ihnen die unverstandlichen "Kontextzeilen", die jedesmal, wenn ein Fehler auf tritt, den Bildschirm fiillen, lastig werden, dann beginnen Sie Ihre Datei mit \errorcontextlines=O. Dies wird die Ausgabe aller Kontextzeilen, bis auf die erste (wo die unmittelbare Ursaehe des Problems liegt) und die letzte (die Zeile, iiber die TEX stolperte) unterdriicken. (Bemerkung: TEX -Versionen, die alter als Version 3.0 sind, kennen \errorcontextlines nieht.)

! Runaway argument?

Sie haben mehr als einen Absatz einem Makro (wie etwa \centerline) iibergeben, das nur einen Absatz oder weniger auf einmal verarbeiten kann.

! Missing $ inserted.

TEX ging gerade von alleine in den Mathematikmodus, wei I es etwas fand, das es nur im Mathematikmodus erwartet: einen Exponenten oder einen grieehisehen Buehstaben zum Beispiel. Deshalb tut es so, als ob vor dem Objekt des AnstoBes ein Dollarzeichen stande. Aber Achtung: TEX mag zwar wissen, wann es in den Mathematikmodus wechseln muB, aber nieht, wann es ihn wieder zu verlassen hat! Deshalb werden Sie im allgemeinen eine oder mehrere Overfull \hbox-Meldungen erhalten, weil TEX nun Text im Mathema­tikmodus setzt und dabei Leerzeiehen ignoriert. Keine Sorge, der Fehler ist im Quelltext schnell behoben, indem Dollarzeiehen an den richtigen Stellen eingefiigt werden.

Warnungen

Haufige treten Wamungen folgender Form auf:

! Overfull \hbox (gefolgt von einer GraBenangabe)

Das ist nieht sehr sehlimm: Das Programm halt nicht einmal an. TEX schreibt gerade auf den Rand, weil es den Text nieht in eine normale Zeile hineinkriegt. Wenn der Uberhang sehr groB ist (in der GraBenordnung von 100 pt oder mehr), sollten Sie nachsehen, ob Sie etwa \line oder \centerline mitten in einem Absatz verwendet haben. Es kann auch sein, daB TEX schon vorher verwirrt wurde und versehentlich in den Mathematikmodus geraten ist.

Page 19: TEX Praxis || Was ist TEX?

1.8 Fehlermeldungen und Warnungen 19

Underfull \hbox (oderUnderfull \vbox)

TEX mag weder iiber- (wie im vorigen Beispiel) noch unterbelegte Boxen. Sie konnen auch diese Mitteilungen ignorieren, und machen Sie sich keine Sorgen urn das Seitenlay­out; das behandeln wir spater.

Ein Tip: Wenn TEX eine iibervolle Box findet, markiert es diese mit einem dicken ver­tikalen Balken am rechten Seitenrand. Die Breite des Balkens wird durch den Wert der Variablen \overfullrule bestimmt, so daB Sie diesen unsichtbar machen konnen, in­dem Sie \overfullrule=Opt am Anfang Ihres Quelltextes eingeben. Sie konnen auch bestimmen, wie streng TEX die Meldung handhabt. Wenn Ihr Text den Seitenrand nur urn einen winzigen Betrag, z.B. Ipt, iiberschreitet, sollten Sie \hfuzz=lpt (das sind etwa 0.3 mm) am Anfang Ihres Quelltextes - oder besser in der Makrodatei, die wir in Ab­schnitt 1.7 eingefiihrt haben - schreiben.

Entsprechendes gilt fiir die vertikalen Oberschreitungen: Die Wamung

! Overfull \vbox

weist auf eine zu groBe vertikale Box hin. Durch Angabe eines Grenzwertes \ vfuzz=2pt werden nur noch Boxen gemeldet, die diesen Wert iiberschreiten.

Normalerweise sind iibergroBe vertikale Boxen die Ausnahme. Meistens wurde ir­gendwo weiter yom - z. B. in der Makrodatei - versehentlich eine Definition so ungiinstig verandert, daB diese Wamung auftritt.

Die Eingabe beenden Wenn Ihre Datei nicht mit einem \bye- oder einem \end-Befehl endet, wird TEX diese

abarbeiten und Ihnen dann die Moglichkeit geben, mehr Material einzugeben. TEX fordert Sie durch ein auf dem Bildschirm angezeigtes *-Zeichen zur Eingabe von Text und/oder Befehlen auf. Wenn Sie nichts einzugeben haben, tippen Sie \bye ein. Ein CR an dieser Stelle wiirde TEX ziemlich frustrieren und folgende Fehlermeldung erzeugen:

(Please type a command or say '\end')

Falls die Eingabe von \bye oder \end nicht den Lauf beendet, dann hat die Quelltext­datei TEX in einen konfusen Zustand versetzt. Wie man in diesem Falle TEX stoppt, hangt von Ihrer Maschine ab: Die meisten Betriebssysteme haben ein Dateiendezeichen - auf PC's ist dies oft CTRL-Z (DOS, OS/2, etc.) oder CTRL-D (Linux) -, das Sie eingeben konnen, urn zu signalisieren, daB nun wirklich keine weitere Eingabe mehr erfolgt. Fra­gen Sie dazu Ihren Systemadministrator, oder konsultieren Sie die Dokumentation Ihres TEX-Systems.


Recommended