TEX-Draw 1.79 — Benutzerhandbuch

Jens Pirnay 21. April 1991

Inhaltsverzeichnis

1 Einleitung 3 1.1 Copyright . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Was TEX-Draw kann . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Was TEX-Draw nicht kann . . . . . . . . . . . . . . . . . . . . 4 1.4 Änderungen gegenüber Vorversionen . . . . . . . . . . . . . . 4 1.5 Die Adresse des Autors . . . . . . . . . . . . . . . . . . . . . . 7

2 Installation 7 2.1 Benötigte Dateien . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 Sytem-Voraussetzungen . . . . . . . . . . . . . . . . . . . . . . 8

3 Die Bedienung 8 3.0.1 Das Zeichenfenster . . . . . . . . . . . . . . . . . . . . 8 3.0.2 Der angezeigte Bildausschnitt . . . . . . . . . . . . . . 8 3.0.3 Größe des Pictures . . . . . . . . . . . . . . . . . . . . 9 3.0.4 Fly-Dials und Fly-Alerts . . . . . . . . . . . . . . . . . 9 3.0.5 Sonstiges . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.1 Die Menuleiste . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.1.1 TEXDRAW-Menu . . . . . . . . . . . . . . . . . . . . 10 3.1.2 Zeichnung-Menu . . . . . . . . . . . . . . . . . . . . . 10 3.1.3 Auswahl-Menu . . . . . . . . . . . . . . . . . . . . . . 12 3.1.4 Optionen-Menu . . . . . . . . . . . . . . . . . . . . . . 13 3.1.5 Sonstiges-Menu . . . . . . . . . . . . . . . . . . . . . . 15

3.2 Die Koordinatenanzeige . . . . . . . . . . . . . . . . . . . . . 16 3.3 Die Iconleiste . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.3.1 Optionen . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.3.2 Texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.3.3 Boxen . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.3.4 Linien und Pfeile . . . . . . . . . . . . . . . . . . . . . 19 3.3.5 Kreise . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.3.6 Ovale . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.3.7 Bézier-Kurven . . . . . . . . . . . . . . . . . . . . . . . 19 3.3.8 Dreiecke/Vierecke, Segmente und Kegel . . . . . . . . . 20 3.3.9 EPIC-Linien . . . . . . . . . . . . . . . . . . . . . . . . 20 3.3.10 EPIC-Gitter . . . . . . . . . . . . . . . . . . . . . . . . 21 3.3.11 Auswahl von Objekten . . . . . . . . . . . . . . . . . . 21 3.3.12 Sonstiges . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4 Einbindung von eigenen Bild-Zeichensätzen 23

5 Geplante Erweiterungen 23

6 TEX-Draw auf anderen Rechnern? 23

7 Tips 24

8 Programm-Fehler 24

9 Ehre, wem Ehre gebührt… 24

10 Der Quellcode 24

A Format der Datei texdraw.inf 25

\underline{Merke:} Diese Anleitung ist eigentlich für die Version 1.80 gedacht, daß heißt, daß manche der hier beschriebenen Optionen bzw. Möglichkeiten noch nicht bzw. unvollständig implementiert sind. Dies sind aber Ausnahmefälle, so daß man mit gutem Gewissen davon ausgehen kann, daß (fast) alles so klappt wie beschrieben.

1 Einleitung

1.1 Copyright

TEX-Draw beruht auf dem dem gleichnamigen Programm von Gregor Fritz. Diese Version steckte voller Unzulänglichkeiten (und Fehlern), so daß ich mich zu einer umfassenden Erweiterung und Korrektur des Programmes entschloß. Das Programm ist zwischenzeitlich auf etwa 720 kB Quellcode angewachsen (die MagicLib von P. Hellinger nicht mitgerechnet, dann wären es etwa 1.2 MB) und umfaßt etwa ein Jahr Arbeit.

Sowohl die Vorversion als auch die vorliegende Version dürfen frei weitergegeben werden, das Copyright am Quelltext und dem fertigen Programm bleibt aber weiterhin ausschließlich bei mir. Die Aufnahme in einen PD-Versand oder eine sonstige Verteilerliste (Mailboxen etc.) darf nur mit meiner ausdrücklichen Zustimmung erfolgen.

Grundvoraussetzung für eine Weitergabe ist, daß alle Dateien, die sich in diesem Ordner befinden (incl. dieser Anleitung) komplett und unverändert weitergegeben werden.

! → TEX-Draw wird von mir andauernd weiterentwickelt und entwanzt, deswegen wäre es ganz nett, mir nicht durch unnötige Kostenaufbürdung die Lust an der Arbeit an diesem Programm zu nehmen. Mein Arbeitsaufwand für’s Disketten-Kopieren, Telefonate-Führen, Briefe-Schreiben hat erheblich zugenommen. Um keine Mißverständnisse aufkommen zu lassen, ich bin gerne behilflich, wo immer ich nur kann, solange sich meine Aufwendungen dafür nicht in’s Astronomische entwickeln.

Aus diesem Grund, und um wenigstens einen Teil meiner Ausgaben wieder hereinzubekommen, würde ich mich freuen, wenn regelmäßige Benutzer dieses Programmes sich dazu aufraffen könnten, mir einen Umkosten-Beitrag von 10,– DM zukommen zu lassen. Wie gesagt, ich will kein Geld mit diesem Programm verdienen, aber auch keines damit verlieren…

Meine Adresse nebst Konto-Nummer befindet sich auf Seite 7.

1.2 Was TEX-Draw kann

TEX-Draw ist ein Zeichenprogramm für LaTEX, es ermöglicht das Zeichnen und Editieren der im LaTEX picture-Environment verfügbaren Objekte und erzeugt als Ausgabe entsprechende LaTEX Kommandos [1]. Die so erzeugten Bilder können dann in LaTEX-Dokumente eingebunden werden.

Als Erweiterung sind zusätzlich noch Bézier-Kurven (via das LaTEX-Style-File bezier.sty) und die erweiterten Möglichkeiten des EPIC-Styles von Sunil Podar (Linien und Gitter) vorhanden [2]. Weiterhin besteht die Möglichkeit, die Objekte als PICTEX-Datei abzuspeichern [3].

Weiterhin kann TEX-Draw auch die Grafik als -Datei [4] abspeichern, womit nunmehr auch kompliziertere und größere Grafiken problemlos mit jedem Treiber ausdruckbar sind.

Seit Version 1.80 kann TEX-Draw Grafiken auch im FIG^{1}-Format ablegen, einem in der Unix-Welt weitverbreiteten Grafik-Format.

Zudem können fertige Rastergrafiken in ein für jede TEX-Implementierung verständliches Format gewandelt werden, sei es nun als -Datei oder als Graphik-File für LaTEX.

Mit einem Wort: TEX-Draw ist die eierlegende Wollmilchsau für Grafikeinbindung mit TEX.

[1] Leslie Lamport: LaTEX-Manual, section 5.5, C.13

[2] Sunil Podar: Enhancements to the picture environment of LaTEX

[3] Michael J. Wichura: The PICTEX-Manual

[4] Donald E. Knuth: The -Book

[5] Micah Beck: TransFig: Portable Figures for LaTEX

1.3 Was TEX-Draw nicht kann

TEX-Draw kann nicht alle PICTEX-Befehle nutzen. Es erzeugt lediglich bei einer Übersetzung für die LaTEX-Kommandos die äquivalenten PICTEX-Befehle. Eine Erweiterung für die weitergehenden Befehle ist zwar für die Zukunft geplant, wird aber sicher noch auf sich warten lassen.

TEX-Draw kann nur das, was auch LaTEX und EPIC können, nicht mehr, aber auch nicht viel weniger.

Texte werden bei einer -Übersetzung ignoriert (wäre auch etwas viel verlangt, wenn man bedenkt, wofür eigentlich geschaffen wurde), wahlweise wird bei einer Übersetzung aber eine korrespondierende

→ 3.1.2 TEX-Datei mit den Texten erzeugt (vgl. Abschnitt 3.1.2). Bei einem HPGL-Import (s. ebenfalls Abschnitt 3.1.2) können eventuell Kreisabschnitte übernommen werden; diese werden bei einer Übersetzung für LaTEX ignoriert.

1.4 Änderungen gegenüber Vorversionen

Dem Ur-Programm von Gregor Fritz wird die Versionsnummer 0.1 zugewiesen. – Die von Version 0.1 abgespeicherten *.LTD-Dateien sind nicht kompatibel zu den ab Version 1.0 abgespeicherten Files. Eine Übernahme von alten Zeichnungen ist nur über den Umweg des TEX-Quellcodes und anschließendem Imports möglich (dabei gehen aber keinerlei Informationen verloren).

Grundsätzlich gilt, daß alle Dateien von früheren Versionen ohne Probleme eingelesen werden können (Abwärtskompatibilität), während es bei Dateien aus späteren Versionen zu unvollständigen Bildern kommen kann.

1FIG = Facility for interactive generation of graphics

Von älteren Versionen erzeugte Parameterdateien texdraw.inf sind zumeist nicht kompatibel zu dem von der aktuellen Version erzeugten Format. TEX-Draw warnt aber, falls diese Datei von einer älteren Version stammt.

Ver. Änderungen

0.10 Ur-Programm von Gregor Fritz; hatte diverse Macken und war insbesondere bei der Selektion von Objekten äußerst unkomfortabel.

Alle folgenden Versionen stammen von mir (JP). Die Versionen 0.2 bis 0.99 waren Entwicklungsstufen, die nur intern Verwendung fanden und die nie das Licht der Öffentlichkeit erblickten.

1.00 Erste veröffentlichte Version; Erweiterung um Oval-Box, Bézier-Kurve bzw. -Ellipse, EPIC-Befehle; Redraw des Fensters vollkommen neu geschrieben; endlich korrekter Bildaufbau. Großbildschirmfähigkeit; vollkommen neue Selektion von Objekten incl. Subbilder-Verwaltung; Import von TEX-Quelldateien; Beseitigung diverser kleiner Fehler; verbesserte Texteingabe; Beseitigung eines Fehlers beim Redraw von Text-Boxen.

1.05 Einführung von Hilfstexten und (nahezu) freie Wahl der \unitlength; Einblenden der aktuellen Bildgröße in die Menuleiste; Verbesserung der Eingabe der Punkt-Anzahl bei Bézier-Kurven.

1.10 Einführung von weiteren Füllmöglichkeiten bei Rechtecken und Kreisen.

1.11 Schöneres Copy und Berücksichtigung des momentanen Wertes der \unitlength beim Zeichnen von Kreisen.

1.20 Zentrieren, Drehen und Spiegeln der selektierten Objekte hinzugefügt. Neue Anordnung der Icons. Linien/Pfeile bei konstantem X-/Y-Wert entfernt.

1.30 Drei schlimme Bugs behoben (beim Auflösen von Subbildern wurden bislang sämtliche Objekte hinter dem ersten aufgelösten gelöscht; in der Info-Anzeige wurde statt der maximalen Schachteltiefe die Summe aller Subbilder angezeigt; Zeilenumbruch bei Textausgabe wurde nicht in die entsprechenden TEX-Befehle umgesetzt); Größenänderung und Absperren der selektierten Objekte hinzugefügt. Neue Zeichenfunktionen (Halbkreise; Dreieck, Viereck: eben und dreidimensional). Wegen der neuen Funktionen mußte Umschaltmechanismus zwischen Selektionsund Options-/EPIC-Icons eingeführt werden.

1.35 Hilfestellung eingebaut; Text in (nahezu beliebiger) Figur hinzugefügt.

1.40 PICTEX-Übersetzung eingebaut.

1.41 Fehler mit der Original-TOS 1.4-Fileselect-Box beseitigt.

1.42 Icon-Leiste zur Arbeitserleichterung vergrößert. Dafür entfallen die Me-

nupunkte Auswahl zusammenfassen/auflösen.

1.45 HPGL-Import und definite Größenänderung hinzugefügt.

1.50 -Übersetzung hinzugefügt.

1.60 Ein ganzer Schwall an Änderungen bzw. Erweiterungen: Änderung der internen Auflösung von \frac{1}{3} auf \frac{1}{4} einer \unitlength; neue \unitlength-Werte (Vielfache bzw. Bruchteile der Standardgrößen); Bildausschnitt verschiebbar (endlich); HPGL-Import erweitert und auf Original-Auf-lösung (\frac{1}{40}mm) umgestellt; Größenbegrenzung bei Kreisen abschaltbar (wegen ); Wandlung von GEM-IMG- und STAD-Bildern in -Dateien. Umstellung auf die Magic-Lib und die Magic-Tools von Peter Hellinger.

1.65 TEX-Draw läuft ab sofort auch auf dem Atari-TT; Menu-Einträge sind durch Tastatur-Shortcuts anwählbar; die Werte der internen Auflösung sind von 1 bis 5 frei wählbar; Voreinstellungen können abgespeichert werden; Kommandozeile wird ausgewertet; Wandlung von GEM-IMG-und STAD-Bildern in TEX-Dateien; Vorbereitung für -Ma-kros zum Zeichnen spezieller Linien.

1.66 Nun sind die Vektorzeichensätze auch direkt verfügbar. Explizite Bildgrößeneinstellung hinzugefügt. Umschaltmechanismus (rechte Maustaste) eingeführt. Ein Schwall von Fehlern, die sich bei der Umstellung auf die Magic-Lib/Tools eingeschlichen haben, wurden beseitigt (zu 97% in diesen Bibliotheken, das hat man nun von β-Versionen…): \shortstack-Fehler, EPIC-Grid etc. Ein Sorry an alle geplagten Benutzer.

1.67 Der Menupunkt IMG -> TeX läßt sich nun auch wieder per Maus anwählen und nicht nur per Tastatur.

1.69 Rechtecke mit runden Ecken werden nun so dargestellt, wie es auch LaTEX tut, auch die Übersetzung nach klappt nun; Tastaturshortcuts erweitert, so daß nun auch Kombinationen mit Ctrl-Alt zulässig sind.

1.70 Nun wird auch GEMINI 1.2 voll unterstützt (ARGV-Parameter-Über-gabe); ein ärgerlicher Bug in der -Übersetzung entfernt (jetzt stimmen die Werte in der TFM-Datei endlich); Cursor-Tasten verschieben Bildausschnitt; bei -Übersetzung wird bei vorhandenem Text auf Wunsch eine überlagerte TEX-Datei erzeugt; Abfrage-Fehler bei Warnmeldungen (Kreisabschnitte) beseitigt.

1.71 HPGL-Übersetzung robuster; Tasten auf numerischen Zahlenblock verschieben Bildausschnitt.

1.75 -Übersetzung intelligenter (vermeidet enormous numbers), spezielle Linien endlich vorhanden; Überblickmodus eingebaut, in dem man die ganze Zeichnung sehen und auch arbeiten kann; diverse kleinere Bugs entfernt; letztes erzeugtes Objekt wird bei der Selektion jetzt zuerst erkannt; HPGL-Import entschärft.

1.76 Der 40-Character-Bug wurde endlich entlarvt; diverse kleinere Bugs wurden entfernt (die β-Version dieses Release war dafür allerdings unbrauchbar).

1.77 -Parameter einstellbar; Vektorfont schneller und Fehler bei \makebox beseitigt; Pfad-Auswertung in der Info-Datei korrigiert; Menupunkte zur Grafik-Konvertierung zusammengefaßt.

1.78 Der lästige ”;“-Fehler bei der -Übersetzung entfernt; Pfad-Auswertung bei Info-Datei nochmals (und endgültig) korrigiert; mehrere Menupunkte wurden zusammengefaßt; Füllmuster von links oben nach rechts unten klappt wieder; Undo-Mechanismus in Ansätzen vorhanden.

1.79 Generelle Überprüfung auf Fehler vorgenommen und sehr viele beseitigt (man sollte halt korrekt optimieren…); erweiterte Anordnungsmöglichkeit von selektierten Objekten hinzugefügt.

1.5 Die Adresse des Autors

Korrespondenz aller Art (Lob-, Schmäh- und sonstige Briefe) bitte an:

Jens Pirnay

Würmstraße 1 8400 Regensburg Tel.: 0941/45952

                        email: pirnay@vax1.rz.uni-regensburg.dbp.de

Kto-Nr. 5 19 95 83 Sparkasse Regensburg (BLZ 750 500 00)

2 Installation

2.1 Benötigte Dateien

Die Installation gestaltet sich denkbar einfach: Man kopiere die Dateien texdraw.prg und texdraw.rsc in ein beliebiges Verzeichnis.

Die eventuell vorhandenen Parameter-Dateien texdraw.inf (Systemeinstellungen) und texdraw.fnt (Liste der einzubindenden Zeichensätze) müssen

→ 3.1.4 im selben Verzeichnis wie das Hauptprogramm stehen (vgl. Abschnitt 3.1.4).

Für die -Übersetzung wird die Datei linmacros.mf benötigt, diese sollte man in ein Verzeichnis kopieren, das die jeweilige - Implementierung nach Include-Dateien absucht.

Wer will, kann im Desktop (sei es nun GEMINI oder das Original) noch vermerken, daß diesem Programm die Dateien mit der Endung LTD zugeordnet sind; damit kann durch Doppelklick auf diese Bilddateien TEX-Draw gestartet werden, wobei das jeweilige Bild gleich mitgeladen wird.

2.2 Sytem-Voraussetzungen

TEX-Draw läuft nur unter Bildschirmmodi mit mindestens 640 × 400 Pixel Auflösung (egal ob Farbe oder SW). Dies dürfte im Normalfall lediglich der SW-Modus des Atari ST sein. Prinzipiell sollte TEX-Draw aber auch auf Großbildschirmen (nicht getestet) und unter GDOS (getestet) lauffähig sein. Benutzt werden aber im jeden Fall nur 2 Farben, so daß der Farbmodus relativ witzlos sein dürfte.

In punkto Speicherbedarf sollte TEX-Draw auf jedem Rechner lauffähig sein. Die benutzte TOS-Version ist ebenfalls egal (TOS 1.0, 1.4 und 1.6 getestet).

Seit der Version 1.60 läuft TEX-Draw nunmehr auch auf dem Atari TT (herzlichen Dank an Martin Wunderli).

3 Die Bedienung

Der Bildschirm teilt sich auf in vier Teile: der GEM-Menuleiste ganz oben, einer Koordinatenanzeige links oben, einer Icon-Leiste unmittelbar darunter und dem eigentlichen Zeichenfenster.

3.0.1 Das Zeichenfenster

Das Zeichenfenster beinhaltet die eigentliche Zeichnung. Im Fenstertitel wird der Name der gerade bearbeiteten Zeichnung angezeigt, während in der Infozeile die momentane Größe und eventuelle Hilfstexte angezeigt werden.

Die Größe einer Zeichnung ist standardmäßig auf ein Format von 120 × 100 mm festgesetzt (was sich aber ändern läßt: siehe unten). Dieser Arbeitsbereich (’Papier‘) ist weiß gefüllt. Der Rand ist grau unterlegt. Es ist möglich (wie bei LaTEX auch), über das Papier hinaus zu zeichnen. Dieser Rand kann

→ 3.1.4 wahlweise ausgeblendet werden (Menupunkt im Submenu Optionen).

Die Anzahl der Pixel, die einer \unitlength-Einheit entsprechen, kann im

→ 3.1.4 Menupunkt Systemeinstellungen (s. Abschnitt 3.1.4) eingestellt werden.

3.0.2 Der angezeigte Bildausschnitt

Gerade bei einem kleinen Zeichenmaßstab, wie er z.B. nach einem HPGL-Import (s.u.) automatisch eingestellt ist, ist auf dem Bildschirm oft nur ein kleiner Teil des Gesamtbildes zu sehen. Um diesen sichtbaren Bereich zu verschieben, muß man – wie bei GEM-Fenstern allgemein üblich – im Fensterrollbalken die Pfeile, bzw. das graue Feld anklicken, bzw. den weißen Teil bei gedrückter Maustaste verschieben.

Um den Standard-Ausschnitt wiederzuerlangen (Punkt (0,0) in der linken unteren Ecke) genügt es den Knopf rechts oben im Fenster (den sogenannten Fuller) zu betätigen.

Der Bildausschnitt kann auch mit den Cursor-Tasten verschoben werden; normale Betätigung entspricht dem Anklicken der Pfeile, während sie bei gedrückter CTRL-Taste dem Anklicken des grauen Bereichs entspricht.

Seit neustem kann auch sehr einfach an die vier Ecken bzw. die vier Seitenmitten sowie die Mitte einer Zeichnung gesprungen werden; hierzu sind die entsprechenden Tasten auf dem numerischen Zahlenblock zu drücken (7 enstpricht links oben, 3 rechts unten usw.).

3.0.3 Größe des Pictures

Standardmäßig wird die Größe des Picture Environments auf 120 × 100 mm

→ 3.1.4 voreingestellt (dies ist aber änderbar, siehe Abschnitt 3.1.4). Die momentane Größe wird ständig in der Info-Zeile des Fensters angezeigt, bzw. kann unter dem Menupunkt über TeXDraw im TEXDRAW-Menu erfragt werden.

Die Größe kann wie folgt verändert werden: Klickt man auf die Pfeile der Fenster-Rollbalken und hält dabei gleichzeitig die CTRL-Taste gedrückt, so wird der Ausschnitt um 1 \unitlength vergrößert bzw. verkleinert; klickt man den grauen Teil des Rollbalkens an (wieder gleichzeitig mit der CTRL-Taste), so ändert sich die Größe um 10 \unitlength. Der sogenannte Slider des Rollbalkens hat keine Bedeutung.

Alternativ dazu kann man auch den Menupunkt Bildgröße festlegen im

→ 3.1.5 Sonstiges-Menu anwählen (vgl. Abschnitt 3.1.5).

3.0.4 Fly-Dials und Fly-Alerts

Ein grundsätzliche Bemerkung zu den hier benutzten Alert- und Dialog-Boxen: diese sind als sogenannte fly-dials implementiert, d.h. sie können frei auf dem Bildschirm verschoben werden. Hierzu klickt man auf das ”Eselsohr“ in der rechten oberen Ecke, hält die linke Maustaste gedrückt und verschiebt dann die Box an die gewünschte Position.

Weiterhin lassen sich die meisten Funktionen auch per Tastatur anwählen, hierzu ist der unterstrichene Buchstabe bei der jeweiligen Funktion (Button, Feldtaste o.ä.) zusammen mit der Alternate-Taste zu drücken.

3.0.5 Sonstiges

Klickt man den sogenannten Closer des Zeichenfensters an (versucht also, das Fenster zu schließen), so wird nach einer Sicherheitsabfrage das gesamte Bild gelöscht.

3.1 Die Menuleiste

TEXDRAW    Zeichnung    Auswahl    Optionen   Sonstiges

Nahezu alle Menueinträge lassen sich alternativ auch per Tastatur aufrufen. Die entsprechenden Tastenkombinationen (oder shortcuts) stehen am Ende des jeweiligen Menueintrages. Ein kleines Schmankerl am Rande: wem die Zuordnung nicht gefällt, kann sie auf eigene Faust und Verantwortung im RSC-File ändern. Sie wird dann beim nächsten Start automatisch ausgewertet.

3.1.1 TEXDRAW-Menu

TEXDRAW        Zeichnung    Auswahl    Optionen    Sonstiges

über TeXDraw

eventuelle Accessories

Hier sind die (eventuell geladenen) Accessories zugänglich. Weiterhin existiert der Menupunkt über TeX-Draw, der außer der Copyright-Meldung noch eine Statistik anzeigt, bei der die Bildgröße, die Zahl aller Objekte (auch die in Subbildern (s.u.) vorhandenen), die Anzahl der (Basis-) Objekte, die Anzahl der selektierten Objekte, sowie die maximale Schachteltiefe von Subbildern dem geneigten Benutzer mitgeteilt werden.

3.1.2 Zeichnung-Menu

TEXDRAW  Zeichnung             Auswahl    Optionen    Sonstiges

Laden
Hinzuladen
Sichern
Sichern als
Fremdformat Import.
Übersetzen
METAFONT-Ausgabe
Programmende

Im Zeichnung-Menu sind alle Operationen, die sich mit dem Laden, Speichern und Übersetzen der Bilder befassen, zusammengefasst. Zusätzlich findet sich hier noch der Menupunkt zum Verlassen des Programmes.

Das Zeichnung-Menu besteht aus den folgenden Menupunkten:

• Laden – Eine im programminternen Format abgespeicherte Zeichnung wird geladen. Bereits vorhandene Objekte werden hierbei gelöscht.

• Hinzuladen – Entspricht Laden, nur daß hier bereits vorhandene Objekte nicht gelöscht werden.

• Sichern – Die vorhandene Zeichnung wird in einem programminternen Format abgespeichert. Der Name, unter dem die Datei gesichert werden soll, ist hierbei der gleiche wie beim Laden der Zeichnung.

• Sichern als – Die im Speicher vorhandene Zeichnung wird in einem programminternen Format abgespeichert. Der Name, unter dem die Datei gesichert werden soll, ist hierbei frei wählbar.

• Fremdformat Importieren – Dieser Menupunkt bewirkt, daß versucht wird, aus Zeichnungen, die in einem fremden Format abgespeichert wurden, die dort vorhandenen Bild-Informationen zu interpretieren und zu übernehmen.

Zur Zeit werden die folgenden Formate unterstützt:

– LaTEX-picture-Environment – diese Funktion ist alles andere als perfekt, nichstdestoweniger aber auch besonders nützlich, wenn es darum geht, Objekte aus bereits (sei es von Hand oder von ähnlichen Programmen) erstellten Zeichnungen zu Übernehmen.

Merke: Eine eventuell vorhandene \unitlength-Anweisung wird ignoriert. Sie ist immer auf 1 mm festgelegt.

– HPGL – eine sogenannte HPGL^{2}-Befehlsdatei für Hewlett-Packard kompatible Plotter wird interpretiert.

Dies klappt auch in den meisten Fällen ganz gut, so daß hier eine weite Brücke aufgeschlagen wird zu CAD-Programmen aller Art (bei einem Blick über den Gartenzaun des Atari-ST kommen hier weiter auch Programme wie ASYST oder MATHCAD aus der MsDos-Welt in Betracht, die ebenfalls HPGL-Ausgaben vorsehen). Da die meisten Programme oft nur einen Bruchteil des Befehlsumfanges eines HP7475A-Plotters verwenden, sind die Chancen recht groß, daß nur sehr wenig Bildinformation verloren geht.

Es kann vorkommen, daß TEX-Draw Zeichnungen mit der Bemerkung ablehnt, daß es sich hierbei um keine HPGL-Datei handeln würde. Dieses Problem liegt oft an irgendwelchen ESC-Sequenzen am Anfang der Datei. In einem solchen Fall ignorieren Sie einfach die Warnmeldung; in den meisten Fällen wird dieses Vorgehen zum gewünschten Erfolg führen.

– Fig-Format – hierbei handelt es sich um das Format des in der Unix-Welt weitverbreiteten Fig-Grafikeditors. TEX-Draw unterstützt den größten Teil des Befehlssatzes des Release 2.0.

• Übersetzen – Hinter diesem Menupunkt verbirgt sich die Möglichkeit, die aktuelle Zeichnung in eine Befehlsdatei für verschiedene Programme bzw. Makropakete zu übersetzen.

Zur Zeit werden die folgenden Formate unterstützt:

2Hewlett Packard Graphics Language

– LaTEX-picture-Environment – Die im Speicher vorhandene Zeichnung wird in das entsprechende LaTEX-File übersetzt. Dieses kann dann in eigene Dokumente via \input{<name>} oder durch direktes Einfügen in den Quelltext übernommen werden. Ist im vorausgegangenen Dialog das Feld Komplettdatei selektiert worden, so wird zusätzlich ein entsprechendes Rahmenfile erzeugt, das direkt von TEX übersetzt werden kann.

– PICTEX-Ausgabe – Die im Speicher vorhandene Zeichnung wird in das entsprechende PICTEX-File übersetzt. Dieses kann dann in eigene Dokumente via \input{<name>} oder durch direktes Einfügen in den Quelltext übernommen werden. Analog wie bei der LaTEX-Übersetzung kann auch hier ein Rahmenfile miterzeugt werden.

– -Ausgabe – Diese Funktion erlaubt es, Zeichnungen in das -Format zu übersetzen. Damit können dann auch größere und kompliziertere Zeichnungen (die z.B. durch den HPGL-Import entstanden sind, s.o.) in maximaler Qualität ausgegeben werden. Ist im Bild Text vorhanden, so wird dieser bei der Übersetzung ignoriert. Wahlweise kann allerdings eine TEX-Datei erzeugt werden, die lediglich die Text-Information enthält, so daß eine Überlagerung mit dem ”Bildbuchstaben“ möglich wird. Zur

→ 4 Einbindung einer solchen Zeichnung siehe auch Abschnitt 4.

– Fig-Format – hierbei handelt es sich um das Format des in der Unix-Welt weitverbreiteten Fig-Grafikeditors. TEX-Draw unterstützt den größten Teil des Befehlssatzes des Release 2.0.

• Programmende – Nach einer Sicherheitsabfrage wird das Programm beendet. Noch vorhandene Daten werden nicht gesichert.

3.1.3 Auswahl-Menu

TEXDRAW    Zeichnung  Auswahl               Optionen    Sonstiges

 alles auswählen
 Auswahl aufheben
 Auswahl invertieren
 Größe ändern
 in Vordergrund
 in Hintergrund
 Auswahl anordnen
 Auswahl speichern
 Auswahl hinzuladen

Im Auswahl-Menu sind alle Operationen, die sich mit selektierten Objekten befassen, zusammengefasst. Sie sind bis auf wenige Ausnahmen nur dann anwählbar, wenn auch wirklich selektierte Objekte vorhanden sind.

Das Auswahl-Menu besteht aus den folgenden Menupunkten:

• alles auswählen – Damit werden alle Objekte selektiert.

• Auswahl aufheben – Damit werden alle Objekte deselektiert.

• Größe ändern – Zwar kann die Größe von Objekten auch interaktiv

→ 3.3.11 verändert werden (s. Abschnitt 3.3.11), doch zur maßgenauen Vergrößerung/Verkleinerung können die Ausmaße der geänderten Objekte auch als Prozentsatz der ursprünglichen Größe angegeben werden.

• in Vordergrund – Die ausgewählten Objekte werden in den Vordergrund geholt.

• in Hintergrund – Die ausgewählten Objekte werden in den Hintergrund verfrachtet.

• Auswahl anordnen – Die Gesamtheit der ausgewählten Objekte (nicht

jedes Einzelobjekt für sich) wird relativ zum Gesamtbild oder zu einem

→ 3.3.11 Referenzobjekt (vgl. 3.3.11) angeordnet. Die Anordnung kann an den vier Ecken, den Seitenmitten oder dem Zentrum erfolgen.

• Auswahl speichern – Die ausgewählten Objekte werden in einem programminternen Format abgespeichert.

• Auswahl hinzuladen – Entspricht dem Menupunkt Hinzuladen im

Zeichnung-Menu, nur daß hier die geladenen Objekte selektiert werden. Eine bereits bestehende Selektion wird dabei aufgehoben.

3.1.4 Optionen-Menu

TEXDRAW    Zeichnung    Auswahl  Optionen                 Sonstiges

                Kreisgröße  beschränkt
                HPGL-Text simulieren
                Vektorfont auswählen
                nur Zeichenfl. zeigen
                METAFONT-Optionen
                Systemeinstellungen

Das Optionen-Menu besteht aus den folgenden Menupunkten:

• Kreisgröße beschränkt – Ist diese Option aktiv, (erkennbar am abgehakten Menu-Eintrag), so wird beim Zeichnen von Voll- und Teil-Kreisen, die von LaTEX vorgegebene Obergrenze berücksichtigt. Es ist aber beispielsweise bzw. PICTEX möglich, weitaus größere Kreise zu zeichnen, so daß auf Wunsch diese Einschränkung bzgl. der Kreisradien aufgehoben wird.

• HPGL-Text simulieren – Diese Option erlaubt es, Text in einer HPGL-Datei durch einen eigenen Vektorfont zu simulieren, damit dieser a) auch bei der -Ausgabe erscheint und b) in den beim Plotter möglichen beliebigen Richtungen erscheint.

• Vektorfont auswählen – In diesem Menu-Eintrag wird der Name des aktiven Vektorfonts (im übrigen Borland-BGI-kompatibel) angegeben. Dies ist für die eventuelle Text-Ersetzung beim HPGL-Import von Bedeutung. Wird im sich anschließenden Dialog eine Nummer angewählt, die noch nicht besetzt ist, so kann ein BGI-Font nachgeladen werden.

Bei Programmstart wird im aktuellen Verzeichnis nach einer Parameter-Datei namens texdraw.fnt gesucht. Diese enthält pro Zeile einen Dateinamen eines BGI-kompatiblen Vektorfonts, der dann automatisch geladen wird. Diese Datei muß mit einem Editor von Hand erzeugt bzw. verändert werden. (Merke: Ist kein Pfad im Namen vorhanden, so wird zunächst im Vektorfont-Verzeichnis (ist in der Datei texdraw.inf festgelegt, s.u.) und dann im aktuellen Verzeichnis gesucht.

• nur Zeichenfläche zeigen – Ist diese Option aktiv (erkennbar am abgehakten Menu-Eintrag), so wird nur der eigentliche Bereich des Pictures angezeigt; der äußere Bereich wird grau hinterlegt.

• METAFONT-Optionen – Hier können die Linienstärke sowie der ASCII-Code^{3} des Bild-Buchstabens bei einer -Übersetzung angegeben werden.

• Systemeinstellungen – Im sich anschließenden Dialog kann die interne Auflösung (d.h. die Anzahl der Pixel pro \unitlength) sowie die Position der Alert-Boxen und Dialoge festgesetzt werden (für TT- und Großbildschirm-User interessant).

Wird die Speicher-Option aktiviert, so werden die aktuellen Zugriffspfade für alle relevanten Dateitypen (TEX, MF, IMG, PAC, CHR) sowie die momentane Fenstergröße, die \unitlength- und die interne Auflösungs-Einstellung abgespeichert und beim nächsten Programmstart automatisch gesetzt. Hierzu wird eine Parameterdatei namens texdraw.inf angelegt, die, damit sie berücksichtigt werden kann, sich im gleichen Verzeichnis wie das Haupt-Programm befinden muß.

Insbesondere können hier auch die Verzeichnisse, in denen die erzeugten LaTEX-, PICTEX- und -Dateien abgelegt werden, bestimmt und geändert werden (mit einem Editor); Änderungen erfolgen auf ei-

→ A gene Verantwortung (das Format dieser Datei wird in Anhang A beschrieben).

3Ja ich weiß, daß dies doppelt gemoppelt ist: American Standard Code of Information Interchange-Code ist zwar nicht schön, aber gängig…

3.1.5 Sonstiges-Menu

TEXDRAW    Zeichnung    Auswahl    Optionen  Sonstiges

                            \unitlength ändern
                            Bildgröße festlegen
                            Überblick (Overview)
                            Overview-Faktor
                            Grafik konvertieren

Das Sonstiges-Menu besteht aus den folgenden Menupunkten:

• \unitlength ändern – Damit wird die \unitlength eingestellt. Im Moment sind nur feste Größen einstellbar. Eine Veränderung der Standardgröße von 1 mm ist normalerweise unbedenklich; die einzige Ausnahme sind hierbei Kreise und Kreisviertel, da unter LaTEX nur wenige diskrete Kreisgrößen verfügbar sind.

Man beachte ferner, daß bei LaTEX Linien eine Mindestlänge besitzen müssen, um dargestellt werden zu können. Zu kurze Linien werden sonst beim späteren Ausdruck unterdrückt.

Aus diesem Grund wird wahlweise eine automatische Umrechnung in die neue Einheit angeboten. Dabei wird aufgrund der internen Darstellung der Koordinaten als INTEGER-Zahl gerundet!!

• Bildgröße festlegen – Hiermit kann die Bildgröße auch direkt festge-

legt werden. Eine alternative, interaktive Methode wurde in Abschnitt

→ 3.0.3 3.0.3beschrieben.

• Überblick (Overview) – Bei großen Zeichnungen ist ein Arbeiten nicht mehr sehr angenehm. Deswegen kann mit diesem Menupunkt ein Modus eingeschaltet werden, bei dem die gesamte Zeichnung angezeigt wird (gleichgültig wie groß). Innerhalb dieses Modus kann vollkommen normal weitergearbeitet werden. Nochmaliges Anwählen schaltet diesen Modus wieder aus.

• Overview-Faktor – Mit diesem Punkt kann der relative Maßstab im Überblicks-Modus festgelegt werden.

• Grafik konvertieren – Mittels dieses Menupunktes können fertige Grafiken in ein für TEX verständliches Format gewandelt werden:

– Rastergrafiken (GEM-IMG- bzw. STAD-Format) können entweder in Quellcode in - bzw. TEX-Format oder aber direkt in TEX-Zeichensätze gewandelt werden.

Bei der Umwandlung werden nahezu keinerlei Optimierungen vorgenommen, sondern das Bild wird Zeile für Zeile in Punkt-/Linien-Befehle bzw. in ein Konglomerat von \rule-Befehlen gewandelt.

So sollte man sich insbesondere vor Grafiken mit großflächigen Graumustern hüten: die - bzw. TEX-Dateien werden schnell riesig groß!

→ 4 Zur Einbindung von derart erzeugten Fonts siehe Abschnitt 4.

– Vektorgrafiken (GEM-Metafile, Calamus-Vektorgrafik, Postscript-Subset) können in -Quellcode gewandelt werden. Dies ist zur Zeit noch Zukunftsmusik, wird es wohl aber nicht bleiben (in Version 10.0 klappt’s dann sicher…)

3.2 Die Koordinatenanzeige

Während der Bewegung des Mauszeigers über dem Zeichenfenster werden ständig die aktuellen Koordinaten an der Zeigerposition in der X- und Y-Anzeige mitprotokolliert.

Zudem existiert eine dx- und dy-Anzeige, die immer dann aktiv wird, wenn bei einer Zeichenoperation ein zweiter (oder folgender) Punkt ausgewählt werden soll. Dann wird hier der X- und Y-Abstand zum ersten (bzw. unmittelbar vorhergehenden) Punkt angezeigt. Dies ist vor allem zum maßgenauen Zeichnen sehr nützlich.

3.3 Die Iconleiste

Die Icon-Leiste sitzt auf der linken Seite des Bildschirms direkt unterhalb der Koordinatenanzeige und besteht aus insgesamt 40 Icons, die die Zeichenoperationen symbolisieren.

Die Vorgehensweise zum Erstellen eines Objekts sieht normalerweise wie folgt aus: erst entsprechendes Icon anklicken und selektieren (sofern nicht bereits selektiert) und dann gewünschte Position auf dem ’Papier‘ ansteuern und ersten Punkt durch Mausklick bestimmen.

Bei einer Vielzahl von angewählten Zeichenoperationen lassen sich während des Aufenthalts im Zeichenbereich (und nur dort!) durch Druck der rechten Maustaste die für diese Operation relevanten Optionen ändern. So wird für Linien und Boxen die Liniendicke umgeschaltet, für Texteingaben die Textposition, für EPIC-Linien das Stützpunktsymbol und bei den drei Auswahloperationen Selektieren, Verschieben/Ändern und Kopieren wird zyklisch auf die nächste Operation weitergeschaltet.

Die Zeichenicons lassen sich in die im folgenden besprochenen Untergruppen aufteilen.

3.3.1 Optionen

Klickt man die folgenden Icons an, so bewirken diese eine Veränderung gewisser Zeichenfunktionen; der momentan aktive Status wird im Aussehen des Icons angezeigt. (Normalerweise wird die nächstfolgende Option angewählt, bei gedrückter Shift-Taste wird die vorhergehende Option angewählt.)

• Das Textmodus-Icon bestimmt, ob der Text mit oder ohne umgebendes Rechteck gezeichnet werden soll, und wie ein solches aussehen soll. Je nach angewähltem Modus wird die umgebende Box dann weggelassen (\makebox) oder entsprechend gezeichnet (\framebox und \dashbox). Die jeweilige Textposition (s.u.) bezieht sich auf eben dieses Rechteck.

• Das Texttyp-Icon bestimmt, ob ein Text vollkommen regulär als TEX-Text gezeichnet und erzeugt werden soll, oder ob der eingegebene Text durch einen Vektorfont (Borland-BGI-kompatibel) simuliert werden soll

→ 3.1.4 (vgl. Abschnitt 3.1.4).

• Das Liniendicken-Icon bestimmt die Dicke der Linien bei Boxen, dem EPIC-Gitter sowie allen Linien und Pfeilen (entspricht den LaTEX-Be-fehlen \thicklines und \thinlines). Dicke gerasterte bzw. gepunktete Linien werden leider wie dicke durchgezogene Linien gezeichnet (das liegt an GEM, die korrekten Aufrufe erfolgen; vielleicht klappt das ja in der einen oder anderen TOS-Version). Bei den meisten angewählten Linien-orientierten Zeichenoperationen wird diese Option durch Druck der rechten Maustaste umgeschaltet.

• Das Textposition-Icon bestimmt die Postionierung von Texten in Boxen; dabei sind insgesamt 9 Positionierungen möglich. Bei angewähltem Text-Icon wird diese Option durch Druck der rechten Maustaste umgeschaltet.

• Das Fillstatus-Icon bestimmt, ob Kreise und normale (keine gepunkteten oder gestrichelten) Rechtecke ausgefüllt gezeichnet werden oder nicht. Insgesamt sind 7 verschiedene Füllmöglichkeiten vorhanden, wobei bis auf die voll ausgefüllte Version alle Füllungen durch \line’s realisiert sind. (Es kann vorkommen, daß beim endgültigen Ausdruck zu kurze Linien verschluckt werden, da auch hier LaTEX eine Mindestlänge erwartet, sorry.)

• Das Symbol-Icon bestimmt, ob bei den EPIC-Linien an den einzelnen Punkten des Linienzuges Symbole gezeichnet werden oder nicht (insgesamt 5 verschiedene Symbole möglich).

3.3.2 Texte

Texte werden immer auf dieselbe Art erzeugt: Zunächst wird die umgebende Box festgelegt (s. Boxen weiter unten) und dann der Text via Tastatur eingegeben.

Es wird zwischen zwei unterschiedlichen Texttypen, nämlich normalem und vektoriellem Text, sowie vier unterschiedlichen Textmodi, nämlich Text ohne umgebende Box, sowie mit normaler, gestrichelter bzw. unsichtbarer umge-

→ 3.3.1 bender Box unterschieden (s. Abschnitt 3.3.1).

Für normalen Text besteht die Möglichkeit, einen Text bestehend aus mehreren Zeilen eingegeben. Zeilenumbrüche durch \\ werden erkannt und simuliert. Sie können entweder direkt durch Eingabe von \\ oder bequemer durch die Tastenkombination <CTRL><RETURN> erfolgen. Je nach angewähltem Modus wird die umgebende Box dann weggelassen (\makebox) oder entsprechend gezeichnet (\framebox und \dashbox). Die Ausrichtung der einzelnen Zeilen zueinander kann verändert werden. Dies geschieht mittels der Funktionstasten F1 (zentriert), F2 (linksbündig) und F3 (rechtsbündig).

Bei vektoriellem Text, ist ein mehrzeiliger Text nicht möglich. Stattdessen kann der Zeichensatz, die Größe, der Winkel mit der Horizontalen sowie die interne Textneigung interaktiv verändert werden. Dies geschieht wie folgt:

• Zeichensatz: mit den Funktionstasten F1-F10 wählt man den entspre-

→ 3.1.4 chenden Vektorfont aus (vgl. auch Abschnitt 3.1.4).

• Textgröße: Mit den Cursor-Tasten ↑ ↓ wird die Textgröße in 10%- Schritten verändert. Bei gleichzeitig gedrückter Shift-Taste geschieht dies in 50%-Schritten.

• Textwinkel: Mit den Cursor-Tasten ← → wird der Winkel des Textes mit der Horizontalen in 5^{∘}-Schritten verändert. Bei gleichzeitig gedrückter Ctrl-Taste geschieht dies in 45^{∘}-Schritten.

• Textneigung: Mit den Cursor-Tasten ← → sowie gleichzeitig betätigter Shift-Taste wird der interne Neigungs-Winkel des Textes verändert.

• Voreinstellungen: Mit der Help-Taste lassen sich die momentanen Einstellungen (Größe, Winkel, Neigung) abspeichern und jederzeit mit der Undo-Taste abrufen.

Zusätzlich zu den genannten Möglichkeiten einen Text in die Zeichnung einzufügen, gibt es eine weitere, sehr universelle Art der Texteingabe. Drückt man während der Selektion einer Zeichenfunktion die CTRL-Taste, so wird nach Abschluß der Zeichenoperation ein Text im Umgebungsrechteck der soeben erschaffenen Figur erzeugt. Für die Orientierung des Textes innerhalb des Umgebungsrechtecks und der Ausrichtung der einzelnen Zeilen zueinander gelten die oben gemachten Anmerkungen. Dieser Modus wird durch ein T ganz links in der Infozeile gekennzeichnet.

Dies ist bei nahezu allen Zeichenoperationen mit Ausnahme der folgenden beiden Gruppen möglich:

• Normale Linien und Vektoren (da leuchtete mir der Sinn nicht ein); wohl aber bei EPIC-Linien und bei Drei-/Vierecken (s.u.).

• Standard-Textfunktionen (was soll eine doppelte Texteingabe?)

3.3.3 Boxen

Boxen, egal welcher Art, werden wie folgt erzeugt: Zunächst wird ein Eckpunkt angeklickt und dann die Box zur gewünschten Größe aufgezogen. Die momentan gültigen Maße der Box werden dann in der Koordinatenanzeige unter dx und dy angezeigt.

3.3.4 Linien und Pfeile

Nach Anklicken des Startpunktes wird die Gerade aufgezogen. Da LaTEX nur bestimmte Steigungen bei Geraden und Pfeilen zulässt, treten beim Zeichnen Sprünge auf.

3.3.5 Kreise

Kreise (ob gefüllt oder nicht) werden wie folgt erzeugt: Man bestimmt zunächst den Mittelpunkt des Kreises durch Mausklick und zieht dann den Kreis zur gewünschten Größe auf. Dabei ist die maximal mögliche Größe beschränkt (LaTEX kennt nur Kreise bis zu einer bestimmten Radius-Ober-grenze), abhängig von der aktuellen \unitlength-Einstellung

3.3.6 Ovale

Viertelkreise und Halbkreise werden genau wie Kreise erzeugt (Mittelpunkt und dann aufziehen), während Rechtecke mit abgerundeten Ecken wie Boxen erzeugt werden (s.o.). Einzige Besonderheit: zum Aufziehen eines Halbkreises muß die Shift-Taste gedrückt werden, ansonsten wird ein Viertelkreis erzeugt.

3.3.7 Bézier-Kurven

Es existieren zwei unterschiedliche Kommandos: eines zum Erzeugen einer normalen Bézier-Kurve und eines zum Erzeugen eines geschlossenen Kurvenzugs (aus vier einzelnen Bézier-Kurven), der sich einer umgebenden Raute innen anschmiegt.

Die einfachen Bézier-Kurven werden wie folgt erzeugt: Man bestimmt zunächst die Endpunkte der Kurve (Gerade aufziehen) und dann die Form durch Aufziehen des Kontrollpunktes. Hierbei werden zur Kontrolle außer der Kurve auch die Verbindungsgeraden Eckpunkt-Kontrollpunkt gezeichnet.

Die Bézier-’Ellipsen‘ werden ganz analog erzeugt: Man zieht zunächst eine und danach die zweite Diagonale der umgebenden Raute auf; die sich ergebende Kurve wird dabei immer angezeigt.

Beiden Kommandos gemeinsam ist die darauf folgende Bestimmung der Anzahl der Punkte, aus der sich eine einzelne Bézier-Kurve zusammensetzen soll. Ausgehend von 50 Einzel-Punkten wird die Anzahl durch Bewegen der Maus in X-Richtung verändert. Dabei wird die momentane Punktanzahl in der Koordinaten-Anzeige im dx-Feld angezeigt. – Die Schrittweite beträgt im Normalfall 1 Punkt, bei gedrückter rechter Maustaste 10 und bei gleichzeitig gedrückter rechter und linker Maustaste 100 Punkte. Der Vorgang wird durch Drücken der linken Maustaste beendet.

Während des ganzen Vorgangs wird die sich aus der momentanen Punktanzahl ergebende Bézier-Kurve angezeigt, so daß eine gute Kontrolle des sich tatsächlich ergebenden Aussehens der Kurve gegeben ist. Der im Programm verwendete Algorithmus ist eine Übertragung der entsprechenden TEX-Befehle, so daß hier echtes Waissiwaidschi^{4} vorherrscht.

3.3.8 Dreiecke/Vierecke, Segmente und Kegel

Es können zur Arbeitserleichterung öfters benötigte geometrische Figuren wie Drei-/Vierecke, Drei-/Vierecks-Segmente und Drei-/Vierecks-Kegel gezeichnet werden. Die ebenen Versionen dürften wohl selbsterklärend sein.

Bei den Segmenten wird eine Figur erzeugt, deren Grund- und Deckfläche identisch sind und deren Eckpunkte jeweils durch Geraden verbunden sind.

Bei den Kegeln bzw. Pyramiden wiederum werden die Eckpunkte der Grundfigur mit einem einzigen Punkt (dem Kegelursprung bzw. der Pyramidenspitze) verbunden. Merke: hier ist Vorsicht geboten, da es wegen der beschränkten Auswahl an LaTEX-Geraden vorkommen kann, daß sehr extreme Kegel nicht korrekt erzeugt werden (Verfehlen der Pyramidenspitze).

Zunächst wird in allen Fällen die ebene Figur erzeugt (eine Grundlinie und dann Aufziehen der Figur) und danach eventuell der gewünschte Körper aufgezogen.

3.3.9 EPIC-Linien

Es kann ein Linienzug gebildet werden, wobei die Steigung der einzelnen Segmente im Gegensatz zu den normalen LaTEX-Geraden keinen Beschränkungen unterliegt. Je nach Aussehen des Symbol-Icons (s.o.) werden an der Einzelpunkten der Kurve gewisse Symbole (Raute, Kreuz etc.) gezeichnet (s. Optionen). Durch Druck der rechten Maustaste wird diese Option verändert.

4WYSIWYG = What you see is what you get

3.3.10 EPIC-Gitter

Zunächst wird die Größe und Lage des Gitters durch Aufziehen der entsprechenden Box bestimmt. Danach wird die Auflösung der X- und Y-Gitterlinien durch Bewegen der Maus festgelegt. Das Aussehen des Gitters wird dabei ständig auf dem laufenden gehalten. Dieser Vorgang wird durch Betätigen der linken Maustaste abgeschlossen. Auf eine Beschriftung des Gitters wurde verzichtet (die Integer-Werte, die EPIC vorschlägt, sind meist ungeeignet), dies muß, falls gewünscht, durch späteres hinzufügen im TEX-Quellcode erfolgen (via \multiputlist o.ä.).

3.3.11 Auswahl von Objekten

Jedes Objekt kann durch Einfachklick selektiert werden. Hierzu wird überprüft, ob der Klick innerhalb des das Objekt umgebenden Rechtecks liegt. Ist dies der Fall, so wird das erste Objekt selektiert, daß diese Bedingung erfüllt. Diese Reihenfolge kann durch die Menupunkte in Vordergrund bzw. in Hintergrund verändert werden (wie man es von diversen Vektor-Zeichen-programmen her gewohnt ist). Erfolgt der Einfachklick auf einen Bereich, wo kein Objekt liegt, so werden alle Objekte deselektiert. Selektierte Objekte erhalten ein Umgebungsrechteck mit sogenannten Änderfeldern an den vier Ecken bzw. Seitenmitten (s. Abbildung weiter unten).

Bei gedrückt gelassener linken Maustaste kann aber auch ein Rahmen aufgezogen werden, wobei dann alle Objekte selektiert werden, deren Umgebungsrechteck gänzlich innerhalb des Rahmens liegt. Alle anderen Objekte werden deselektiert.

Wird bei der Selektion eines Objektes die CTRL-Taste gedrückt, so wird das ausgewählte Objekt zu einem sogenannten Referenzobjekt gemacht. Dieses Referenzobjekt wird bei der Anordnung von Objekten von Bedeutung (vgl.

→ 3.1.3 3.1.3). Ein Referenzobjekt wird durch Rauten an den Ecken bzw. Seitenmitten gekennzeichnet. Ansonsten gelten sinngemäß die gleichen Angaben und Möglichkeiten wie bei der normalen Selektion.

Dieses Verhalten wird bei gedrückter Shift-Taste modifiziert. Der Selektionsstatus des/der angewählten Objekts/Objekte wird umgeschaltet. Der Selektionsstatus aller anderen Objekte bleibt unverändert.

Wählt man das Schlüsselsymbol an, so wird damit bei allen selektierten Objekten ein Flag gesetzt, daß diese gegenüber allen Veränderungen an selektierten Objekten immunisiert (Anordnen, Kopieren, Verändern, Verschieben, Drehen, Spiegeln, Zusammenfassen, Auflösen, Löschen). Dies kann mittels des schattierten Schlüsselsymbols aufgehoben werden. Geschützte Objekte weisen helle Änderfelder am Umgebungsrahmen auf:

Sind Objekte selektiert, so lassen sich diese, nach Anwahl der entsprechenden Icons, verändern, verschieben bzw. kopieren: Klickt man eines der Änderfelder an, so kann die Größe des Objekts neu bestimmt werden (wie in Vek-

→ 3.1.3 torgraphikprogrammen üblich, s. auch Abschnitt 3.1.3). – Klickt man innerhalb des Bereichs des/der selektierten Objekts/Objekte, so erscheint ein Rechteck, das alle selektierten Objekte umschließt. Dieses verschiebt man dann bei gedrückter linken Maustaste an die gewünschte Position. (Dies ist bei der kombinierten Änder-/Verschieb-Operation bei sehr kleinen Objekten problematisch, da man praktisch immer ein Änderfeld erwischt; deswegen wird eine Änderung bei gedrückter Shift-Taste unterdrückt, so daß auch sehr kleine Objekte problemlos verschoben werden können.)

Merke: Durch Druck der rechten Maustaste wird zwischen den drei Auswahloperationen Selektieren, Verschieben/Ändern und Kopieren zyklisch umgeschaltet.

Die selektierten Objekte lassen sich auf Wunsch auch horizontal bzw. vertikal spiegeln. Hierzu sind die entsprechenden Icons anzuklicken. Auf dem Kopf stehende Texte sind leider unmöglich; so wird nur die Orientierung innerhalb der umgebenden Box verändert.

Weiterhin lassen sich die selektierten Objekte um 90^{∘} nach links bzw. rechts drehen. Hierfür sind die entsprechenden Icons anzuklicken. Auch hier sind gedrehte Texte leider prinzipiell unmöglich.

Selektierte Objekte können zu einem Subbild zusammengefaßt werden. Diese Subbilder werden bei der Übersetzung als geschachteltes picture-Environ-ment abgespeichert. Mittels dieser Icons werden die Subbilder erzeugt bzw. in ihre Komponenten zerlegt.

Wählt man das Papierkorb-Icon an, so werden alle selektierten Objekte gelöscht.

3.3.12 Sonstiges

Zur besseren Übersicht beim Entwurf von Objekten läßt sich im Zeichenbereich ein Raster im 5 \unitlength-Abstand einblenden und zwar wahlweise ein Punkt- oder ein Linienraster.

Die gesamte Zeichnung läßt sich mit dem erweiterten Papierkorb-Icon löschen. Nach einer Sicherheitsabfrage wird das gesamte Bild (auch geschützte Objekte, s.o.) gelöscht.

4 Einbindung von eigenen Bild-Zeichensätzen

Ich hatte es wohl bisher offensichtlich unterlassen, genau zu erklären, wie die -Dateien in TEX-Dokumente eingebunden werden. Zunächst einmal müssen die MF-Dateien von übersetzt werden. Damit werden dann ganz normale TEX-Zeichensätze erzeugt (wie die CMR-Familie), die aber nur ein einziges Zeichen, nämlich den Buchstaben A (Ascii 65), enthal-

→ 3.1.4 ten (dies ist änderbar, vergleiche hierzu Abschnitt 3.1.4). Dieser Buchstabe enthält dann die Bildinformation.

Damit dieses Zeichen von TEX benutzt werden kann, muß zunächst irgendwo zu Anfang des Dokumentes (bei LaTEX sinnigerweise vor \begin{document}) dieser Zeichensatz geladen werden. Dies geschieht z.B. mittels

\font\picture = test

wobei test in dem Fall der Name des zu ladenden Fonts angibt. Das Bild kann dann überall im Dokument mit der Anweisung:

{\picture A}

ausgegeben werden.

5 Geplante Erweiterungen

Wer seinerseits noch Anregungen und Vorschläge für eine Erweiterung hat, schreibe mir doch einfach mal. Vielleicht läßt sich ja der eine oder andere Wunsch noch implementieren.

Es ist geplant, den mühsamen Umweg über bei der Konvertierung von Rastergrafiken zu umgehen, und diese direkt in GF- bzw. PK-Zeichensatzdateien zu wandeln.

Eine Umsetzung von EPIC für die TEX-Implementierung von Chr. Strunk (CSG-Befehle) wird demnächst wohl fertig werden.

Einfach mal anrufen, ob eine neue Version schon fertig ist.

6 TEX-Draw auf anderen Rechnern?

Es ist geplant, TEX-Draw auch auf MsDos-Rechnern zu implementieren. Die Umsetzung wurde von mir bislang noch nicht vorgenommen, da ich mich nicht entschließen konnte, welche Benutzeroberfläche ich hierfür verwenden soll (MS-Windows, GEM oder was auch immer).

Insofern wäre es mir sehr recht, wenn MsDos-Anwender sich mit mir deswegen in Verbindung setzen würden. Eine eventuelle Umsetzung mache ich auch davon abhängig, welche Resonanz mein Vorhaben auslöst.

Momentan bin ich allerdings durch meine Doktorarbeit (Physik) sehr eingespannt, so daß ich hier nichts versprechen kann und werde.

7 Tips

Es gibt mittlerweile einige DVI-Treiber, die eigene Linien-Befehle verstehen, so z.B. die Treiber der MSDOS-Implementierung emTEX oder diverse Treiber in der UNIX-Welt, die den TPIC-Standard unterstützen. Für diese Treiber gibt es ein modifiziertes EPIC-File namens emepic.sty bzw. eepic.sty, welches die Linienerzeugung über eben diese \special-Befehle abwickelt.

Derart erzeugte DVI-Dateien sind zumeist kürzer, und liefern ein schöneres Ergebnis. Dafür sind sie dann aber auch nicht mehr geräteunabhängig, wohl aber immer noch der Quelltext, da die eigentlichen EPIC-Kommandos dieselben sind.

Um die Vorteile dieser Treiber zu nutzen, ist also lediglich beim \documentstyle-Befehl die Option epic durch emepic bzw. eepic zu ersetzen.

8 Programm-Fehler

Solche sind bestimmt noch irgendwo versteckt. Dementsprechend übernehme ich keine Verantwortung für irgendwie geartete Schäden, die durch das Programm hervorgerufen worden. Genaueres entnehme man dem Lizenz-Vertrag der Open Software Foundation (=GNU).

Anregungen und Fehlermeldungen werden hingegen gerne entgegengenommen. Meine Adresse befindet sich auf Seite 7.

9 Ehre, wem Ehre gebührt…

Den folgenden Personen gebührt mein Dank:

Donald E. Knuth für TEX und , Gregor Fritz für sein Urprogramm (alleine hätte ich mich sonst wohl nicht aufgerafft), Martin Wunderli für sein TT-Testing, Lutz Birkhahn für seine -Makros und den Fileselector-Fehler, Peter Hellinger für seine Magic-Lib, Jens Decker für den -Fehler, Karsten Sievert für seine Fehler-Liste, Stephan Gerle für den Icon-Leisten-Fehler.

Wer meint, in der obigen Aufstellung zu fehlen, wende sich vertrauensvoll an mich. Gegen eine geringe Gebühr kann auch sein Name hier erscheinen.

10 Der Quellcode

TEX-Draw wurde mit TDI-Modula-2 und den Magic-Tools von Peter Hellinger entwickelt und zwischenzeitlich auf den neuen Megamax-M2-Compiler umgestellt, kann mit entsprechendem Aufwand aber auch in C o.ä. konvertiert werden (haha, viel Spaß! ¨⌣ ). Der Quellcode kann nur von registrierten Benutzern gegen Einsendung einer Diskette und eines adressierten und (ausreichend) frankierten Rückumschlag sowie eines (eher symbolisch zu verstehenden) Obulus von 10,– DM bei mir angefordert werden. Ich hätte dann nur gerne Nachricht über vorgenommene Änderungen am Programm; vielleicht sind diese ja so gut, daß man sie der Allgemeinheit zuteil werden lassen sollte. Die Magic-Tools sind bei der Verteilung aber nicht dabei, da es sich hierbei um ein kommerzielles Produkt handelt.

A Format der Datei texdraw.inf

Die Datei TEXDRAW.INF enthält im wesentlichen Standard-Pfade, in denen Dateien gesucht bzw. abgelegt werden. Diese Pfade sollten Sie gemäß Ihrer eigenen System-Konfiguration anpassen.

Es folgt jetzt die Datei, wie sie für meine Konfiguration angepasst ist:

TD180 (C) 1991 by Jens Pirnay
F:\EXAMPLES\                                                 PicturePath
F:\EXAMPLES\                                                 LaTeXPath
F:\EXAMPLES\                                                 PiCTeXPath
C:\METAFONT\MFINPUTS\IMAGES\                                 MetaPath
E:\TEX\GRAPHICS\                                             IMGPath
E:\TEX\GRAPHICS\                                             STADPath
E:\TEX\TEXINPUT\                                             TeXPath
F:\EXAMPLES\                                                 HPGLPath
F:\BGIFONTS\                                                 FontPath
C:\METAFONT\GF\                                              GFPKPath
C:\VEKTOR\                                                   GEMPath
C:\POSTSCRIPT\                                               PSPath
C:\DTP\                                                      CVGPath
F:\FIG\                                                      FigPath
TRUE                                                         DialCentered
FALSE                                                        WholeArea
TRUE                                                         HPGLFont
TRUE                                                         LimitedDisk
4                                                            InternalRes
0                                                            Unitlength
400                                                          XSize
280                                                          YSize
40                                                           MetaThin
80                                                           MetaThick
65                                                           MetaAscii

Die Bedeutung der einzelnen Zeilen, wird durch das Kennwort am Ende der Zeile verdeutlicht.

Wichtig: Jede Zeile muß in der ersten Spalte beginnen, führende Leerzeichen führen zu Mißinterpretationen! Die Reihenfolge der Zeilen darf nicht verändert werden!!

!! Änderungen erfolgen auf eigene Gefahr !! ¡¡

Kennwort  Bedeutung  Ext.  Mode
PicturePath Standardpfad für Zeichnungen  [LTD] In-Out
LaTeXPath Standardpfad für LaTeX-Quelltexte  [TEX] Out
PiCTeXPath Standardpfad für PiCTeX-Quelltexte  [TEX] Out
MetaPath  Standardpfad für METAFONT-Quelltexte [MF ] Out
ImgPath  Standardpfad für GEM-IMG-Bilder  [IMG] In
StadPath  Standardpfad für S.T.A.D.-Bilder  [PAC] In
TeXPath  Standardpfad für LaTeX-Import  [TEX] In
HPGLPath Standardpfad für HPGL-Import  [PLO] In
FontPath Standardpfad für BGI-Vektorfonts [CHR] In
GFPKPath Standardpfad für TeX-Zeichensätze  [CHR] Out
GEMPath  Standardpfad für GEM-Metafiles  [GEM] In
PSPath  Standardpfad für Postscript-Files  [PS ] In-Out
CVGPath  Standardpfad für Calamus-Grafiken  [CVG] In
FIGPath  Standardpfad für Fig-Grafiken  [FIG] In-Out

Die nun folgenden Werte sollten möglichst nicht von Hand verändert werden und sind deswegen auch nicht weiter dokumentiert; sie werden bei der Option Systemeinstellungen [Sichern aktiv] aus den gerade gültigen Werten ausgelesen und gesichert.