TEX-Draw 1.86 — Benutzerhandbuch

Jens Pirnay 21. August 1991 Vorabversion

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 . . . . . . . . . . . . . . . . . . . . . . 4

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

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

3.1 Die Menuleiste . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.1.1 TEXDRAW-Menu . . . . . . . . . . . . . . . . . . . . 8 3.1.2 Zeichnung-Menu . . . . . . . . . . . . . . . . . . . . . 8 3.1.3 Auswahl-Menu . . . . . . . . . . . . . . . . . . . . . . 11 3.1.4 Optionen-Menu . . . . . . . . . . . . . . . . . . . . . . 12 3.1.5 Sonstiges-Menu . . . . . . . . . . . . . . . . . . . . . . 14 3.2 Die Koordinatenanzeige . . . . . . . . . . . . . . . . . . . . . 15 3.3 Hilfe? Hilfe! . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.4 Die Iconleiste . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.4.1 Optionen . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.4.2 Texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.4.3 Boxen . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.4.4 Linien und Pfeile . . . . . . . . . . . . . . . . . . . . . 19 3.4.5 Kreise und Kreisbögen . . . . . . . . . . . . . . . . . . 19 3.4.6 Ovale . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.4.7 Bézier-Kurven . . . . . . . . . . . . . . . . . . . . . . . 20 3.4.8 Körper . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.4.9 EPIC-Linien . . . . . . . . . . . . . . . . . . . . . . . . 21 3.4.10 EPIC-Gitter . . . . . . . . . . . . . . . . . . . . . . . . 21 3.4.11 Auswahl von Objekten . . . . . . . . . . . . . . . . . . 21 3.4.12 Schnappen von Mausbewegungen . . . . . . . . . . . . 22 3.4.13 Sonstiges . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4 Einbindung von eigenen Bild-Zeichensätzen 23

5 Geplante Erweiterungen 23

6 TEX-Draw auf anderen Rechnern? 24

7 Tips 24

8 Programm-Fehler 24

9 Ehre, wem Ehre gebührt… 24

10 Der Quellcode 25

A Format der Datei texdraw.inf 26 Dies ist eine Vorabversion des endgültigen Handbuchs! Deswegen stimmen die Icon-Abbildungen noch nicht!

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, FTP-Server 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. Deswegen legen Sie bei Anfragen bitte Rückporto bei (normaler Brief 1,– DM, mit Diskette 1,70 DM).

! → Wichtig: Seit der Version 1.72 ist TEX-Draw Shareware. Die Registrierungs-Gebühr beträgt 20,– DM. Dazu war ich leider trotz gegenteiliger innerer Überzeugung aus den oben genannten Gründen gezwungen ¨⌢ .

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

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 der Version 1.85 werden weitergehende Möglichkeiten von PICTEX genutzt, die von LaTEX nur unter Verwendung der Erweiterung EEPIC (tpic- \special-Befehle) [6] bzw. unter Verwendung der Grafik-Befehle des Strunk-TEX’s (cs-\special-Befehle) [7] genutzt werden können.

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 dürfte die eierlegende Wollmilchsau für Grafikeinbindung mit TEX sein (ohne überheblich wirken zu wollen ¨⌣ ).

[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

[6] Conrad Kwok: EEPIC: Extensions to epic and LaTEX-picture environment

[7] Christoph Strunk: Die CS-Treiber-Familie

1.3 Was TEX-Draw nicht kann

TEX-Draw kann nicht alle PICTEX-Befehle nutzen (insbesondere gefüllte Flächen und gedrehte Koordinatensysteme). 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, eher mehr als 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

Wen dies interessiert sollte sich die Datei changes.dvi ansehen.

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
                               email: hru003y@djukfa11.bitnet

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 das verbesserte Hilfs-System haben möchte, braucht die Hilfs-Texte.

In der Original-Verteilung wird bereits eine lauffähige, angepasste Ordnerstruktur mitgeliefert, so daß man sich normalerweise keine Gedanken über diese Dateien machen muß.

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 ist TEX-Draw aber auch auf Großbildschirmen und unter GDOS lauffähig. Benutzt werden aber im jeden Fall nur 2 Farben, so daß der Farbmodus relativ witzlos sein dürfte.

Angeblich gibt es mit Multi-GEM ein paar Probleme mit der Icon-Leiste, da mir dieses Programm aber nicht vorliegt, kann ich da im Moment wenig machen.

In punkto Speicherbedarf sollte TEX-Draw auf jedem Rechner lauffähig sein.

Seit der Version 1.60 läuft TEX-Draw nunmehr auch auf dem Atari TT.

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:

Koord.- anzeige

Icon- Leiste Zeichenfläche Fenstertitel & Hilfe-Zeile

Menuleiste

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 Alt -Taste zu drücken.

Übrigens bewirkt die Undo -Taste in den meisten Fällen den Abbruch des Dialogs.

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. So bedeutet z.B. ˆ U, daß die Taste U zusammen mit der Ctrl -Taste zu drücken ist, ♢U würde bedeuten, daß die Taste U zusammen mit der Alt -Taste zu drücken ist.

3.1.1 TEXDRAW-Menu

TEXDRAW  Zeichnung  Auswahl  Optionen  Sonstiges
über TeXDraw     ˆ     Ü

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, die maximale Schachteltiefe von Subbildern sowie der momentane Anzeigemaßstab dem geneigten Benutzer mitgeteilt werden.

3.1.2 Zeichnung-Menu

TEXDRAW  Zeichnung  Auswahl  Optionen  Sonstiges
Laden  ♢L
Hinzuladen          ˆ L
-------------------------
Sichern  ♢S
Sichern als         ˆ S
-------------------------
Fremdformat Import. ♢I
-------------------------
Übersetzen           ˆ           Ü
-------------------------
Programmende        ˆ Q

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, nichtsdestoweniger 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^{1}-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.

1Hewlett Packard Graphics Language

– FIG^{2}-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:

– 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.

Ist unter der Option Specials für LaTeX (Menueintrag Optio-

→ 3.1.4 nen, vgl. 3.1.4) ein Special-Paket angewählt, so werden die weitergehenden Möglichkeiten dieser Pakete genutzt (i.A. werden alle Linien ersetzt und spezielle Kurven (Bezier, Kreis- und Ellipsenbögen, Splines etc.) simuliert, sofern sie nicht direkt unterstützt werden). Werden cs-Specials genutzt, so wird hierzu eine Zusatzdatei kreiert, um das DVI-File möglichst kurz zu halten.

– 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.

2FIG = Facility for interactive generation of graphics

3.1.3 Auswahl-Menu

TEXDRAW  Zeichnung  Auswahl  Optionen  Sonstiges
alles auswählen  ♢W
Auswahl aufheben      ˆ W
Auswahl invertieren   ˆ I
---------------------------
Grösse ändern  ♢Ä
---------------------------
in Vordergrund  ♢V
in Hintergrund        ˆ V
Auswahl anordnen  ♢D
---------------------------
Polyline <-> Spline ♢P
Polylinien auflösen   ˆ P
Polyl. zusammenfassen ˆ Z
---------------------------
Auswahl speichern  ♢A
Auswahl hinzuladen    ˆ A

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.4.11 verändert werden (s. Abschnitt 3.4.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.4.11 Referenzobjekt (vgl. 3.4.11) angeordnet. Die Anordnung kann an den vier Ecken, den Seitenmitten oder dem Zentrum erfolgen.

• Polyline <-> Spline – Bei den ausgewählten Objekten werden Polylinien und Polygone zu Splines und umgekehrt.

• Polylinien auflösen – Bei den ausgewählten Objekten werden Polylinien in Einzellinien zerlegt (ganz brauchbar um aus den 3D-Körpern Hidden-Lines zu entfernen).

• Polylinien auflösen – Bei den ausgewählten Objekten werden Polylinien zu größeren Linien zusammengefasst (bringt i.A. eine Beschleunigung des Bildaufbaus und eine Verringerung des Speicherplatzbedarfs).

• 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össe beschränkt ♢K
               Béziers als Linien     ˆ B
               Gitterweite festlegen  ˆ G
             ----------------------------
               HPGL-Text simulieren ♢F
               Vektorfont auswählen   ˆ F
             ----------------------------
               nur Zeichenfl. zeigen ♢N
             ----------------------------
               Specials für Latex     ˆ C
               Metafont-Optionen      ˆ M
             ----------------------------
               Systemeinstellungen ♢Y

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.

• Béziers als Linien – Bei der Überstzung von Bézier-Kurven unter Benutzung des LaTEX-Styles bezier.sty werden diese durch Punktfolgen dargstellt, ansonsten jedoch immer als durchgezogene Kurve. Zwischen diese zwei Darstellungs-Formen lässt sich über diesen Menupunkt auch am Bildschirm umschalten. Dies gilt wohlgemerkt nur für die Darstellung am Bildschirm und beeinflußt nicht die Übersetzung.

• Gitterweite festlegen – In diesem Menu-Eintrag wird der Abstand

→ 3.4.12 des Rasters für das Hintergrundgitter bzw. die Snap-Option in Vielfachen der \unitlength festgelegt. Zudem kann angegeben werden, in welchen Richtungen (X, Y) die Snap-Option, sofern aktiviert, wirkt.

• 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.

• Specials für LaTeX – Diese Option bietet die Möglichkeit, bei der Übersetzung ins LaTEX-Format, die Fähigkeiten diverser Treiber-Fami-lien zur Grafik-Erzeugung zu nutzen. Diese Fähigkeiten werden über sogenannte \special-Befehlssätze ausgenutzt:

1. tpic-Specials: In der Unix-Welt weit verbreitet, demnächst auch von den Lindner-Treibern unterstützt. Enthält Linien, Kreisbögen, Ellipsen, Splines, gefüllte Flächen.

2. CS-Specials (Level 1): Von den Strunk-Treibern unterstützte Grafik-Möglichkeiten, nur simple Linien-Primitiven.

3. CS-Specials (Level 2): Von den neuen Strunk-Treibern unterstützte Grafik-Möglichkeiten. Enthält Linien, Kreisbögen, Ellipsen, Bézier-Kurven.

4. em-Specials: In der MsDos-Welt weit verbreitet, nur simple Linien-Primitiven.

\underline{Vorsicht:} Durch diese Option haben die DVI-Dateien bei Benutzung anderer Treiber-Familie eventuell nicht die gleichen Ausgaben zur Folge (Grafik-Elemente fehlen). Die prinzipielle Portierbarkeit der DVI-Da-teien ist damit aufgehoben.

• 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).

3.1.5 Sonstiges-Menu

TEXDRAW  Zeichnung  Auswahl  Optionen  Sonstiges
                         unitlength ändern  ♢U
                         Bildgrösse festlegen ♢G
                         Überblick (Overview) ♢O
                         Overview-Faktor       ˆ O
                       ---------------------------
                         Undo-Möglichkeit      ˆ U
                       ---------------------------
                         Grafik konvertieren   ˆ K

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.

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

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.

• Undo-Möglichkeit – Bei sehr umfangreichen Bildern kann es vorkommen, daß das Arbeiten durch das andauernde Anlegen einer Kopie des Arbeitspeichers durch den Undo-Algorithmus verlangsamt wird. Wen dies stört, kann mit diesem Punkt das Undo-Feature ausschalten.

• 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 wird versucht, immer möglichst große Rechtecke zu finden, die dann durch ein Konglomerat von \rule-Befeh-len dargestellt werden.

Man sollte 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.

Wird auf die Anzeige mit der linken Maustaste geklickt und es sind zur Zeit Objekte selektiert, so kann man in einem Dialog die linke untere Position und die Größe der Vereinigung aller Objekte festlegen.

Ein Druck auf das Feld mit der rechten Maustaste bring wie üblich einen Hilfsbildschirm zum Vorschein (s.u.).

3.3 Hilfe? Hilfe!

Sie können (sofern Sie nicht gerade eine Zeichenoperation vornehmen) jederzeit durch Drücken der Taste Help einige Hilfs-Seiten aufrufen. Eine spezifischere Hilfe zu den Icons erhalten Sie, wenn Sie über dem Sie interessierenden Icon die Help -Taste zusammen mit einer Shift -Taste drücken oder das interesssierende Icon mit der rechten Maustaste anklicken.

Sofern unter der Zeile ”Querverweise” Icons erscheinen, können Sie durch Druck auf das gewünschte Icon die dazugehörige Hilfe-Seiten aufrufen.

3.4 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.

3.4.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 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 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.

Zur Zeit sind drei verschiedene Liniendicken möglich, bei denen die dritte und dickste Einstellung von und PICTEX voll unterstützt wird, von LaTEX nur in Zusammenarbeit mit dem EEPIC-Style bzw. unter Ausnützung der CS-Specials (Level 2).

• Das Fillstatus-Icon bestimmt, ob Ellipsen, 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 3D-Körper-Icon legt fest, ob der Typus des gezeichneten Körpers

?? ein Kegel (alle Punkte der Grundfläche werden mit ein und demselben Punkt, der Kegelspitze, verbunden) oder eine Art Zylinder (Grundfläche und Deckfläche des Körpers sind kongruent, analoge Punkte werden miteinander verbunden) sein soll.

– Hier muß noch eine Abbildung hin –

• Das Linientyp-Icon legt fest, welchen Typ die (EPIC-) Geraden haben

??

sollen: durchgezogen, gestrichelt oder gepunktet.

– Hier muß noch eine Abbildung hin –

• 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.4.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.4.1 bender Box unterschieden (s. Abschnitt 3.4.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 Polygonen (s.u.).

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

3.4.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.4.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.4.5 Kreise und Kreisbögen

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.4.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.4.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-Be-fehle, so daß hier echtes Waissiwaidschi^{4} vorherrscht.

3.4.8 Körper

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.

4WYSIWYG = What you see is what you get

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.4.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.

3.4.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.4.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 Vektor-

→ 3.1.3 graphikprogrammen ü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.4.12 Schnappen von Mausbewegungen

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.

Zur Erleichterung von massgenauen Zeichnungen läßt sich zudem eine Snap-Option aktivieren, bei der Mausbewegungen wie durch einen Magneten zum nächstgelegenen Gitterpunkt gezogen werden. Dieses Schnappen kann für beide Hauptachsen (X, Y) unabhängig voneinander eingestellt werden (ver-

→ 3.1.4 gleiche hierzu Abschnitt 3.1.4).

Das Schnappen kann durch Drücken Ctrl -Taste unterdrückt werden.

3.4.13 Sonstiges

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.

6 TEX-Draw auf anderen Rechnern?

Es ist geplant, TEX-Draw auch auf MsDos-Rechnern unter Windows 3.0 zu implementieren. Die Umsetzung wurde von mir bislang noch nicht vorgenommen, da ich immer noch auf meinen Turbo-Pascal-Compiler für Windows warte. Sobald ich ihn erhalten habe, werde ich die Umsetzung in Angriff nehmen.

Momentan bin ich allerdings durch meine Doktorarbeit (Physik) sehr eingespannt, so daß ich keinen Termin 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 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 Free Software Foundation (=GNU^{5}).

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

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, Ulrich Kaiser für seine crystal-Bibliothek und seine diversen Tips, Jens Decker für den -Fehler, Karsten Sievert für seine Fehler-Liste, Stephan Gerle für den Icon-Leisten-Fehler, Christoph Strunk für die Beta-Version der Level-2-Treiber, Ulrich Sellner für seine Bug-Reports.

5GNU=Gnu is Not Unix

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, zwischenzeitlich auf den Megamax-Modula-2-Compiler (was für ein Wort!) umgesetzt. Der Code kann mit entsprechendem Aufwand sicherlich aber auch nach 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 30,– 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 standardmäßig mitgeliefert wird:

TD186 (C) 1991 by Jens Pirnay
EXAMPLES\                                           PicturePath
OUTPUT\                                             LaTeXPath
OUTPUT\                                             PiCTeXPath
OUTPUT\                                             MetaPath
INPUT\                                              IMGPath
INPUT\                                              STADPath
INPUT\                                              TeXPath
OUTPUT\                                             HPGLPath
BGIFONTS\                                           FontPath
OUTPUT\                                             GFPKPath
INPUT\                                              GEMPath
INPUT\                                              PSPath
INPUT\                                              FIGPath
HELP\                                               HelpPath
OUTPUT\                                             CSGPath
TRUE                                                DialCentered
FALSE                                               WholeArea
TRUE                                                HPGLFont
TRUE                                                LimitedDisk
TRUE                                                UseUndo
TRUE                                                BeziLine
3                                                   InternalRes
0                                                   Unitlength
360                                                 XSize
300                                                 YSize
20                                                  MetaThin
40                                                  MetaThick
60                                                  MetaVThick
65                                                  MetaAscii
5                                                   SnapX
5                                                   SnapY
3                                                   SpecialSet

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
FIGPath  Standardpfad für Fig-Grafiken  [FIG] In-Out
HelpPath  Standardpfad für Hilfe-Texte  In

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.

[

Index

] \special, 4, 10, 13, 17, 24

Bézier-Kurven, 3, 10, 12, 20 Beck, Micah, 4

EPIC, 3, 4, 16–19, 21, 24 Eigenlob, 4 Ellipsen, 10

FIG, 10 Fritz, Gregor, 3

Hilfestellungen, 16 HPGL, 9

Knuth, Donald E., 4 Kopieren von Objekten, 22 Kreise, 10, 12, 14, 17, 19 Kwok, Conrad, 4

LaTEX, 3, 6, 9, 10, 12, 13, 19, 21, 23 Lamport, Leslie, 4 Lindner, Stefan, 13

MagicLib, 3, 25 Megamax-Modula, 25 Metafont, 3–5, 10, 12, 13 Modula, 25

Objektselektion, 21

PICTEX, 10, 12, 14, 17 Pirnay, Jens, 4 Podar, Sunil, 3

Rastergrafiken, 4 Raumliche Korper, 20 Referenzobjekt, 21

Selektion von Objekten, 21 Shareware, 3 Sperren von Objekten, 22 Splines, 10 Strunk, Christoph, 4

TDI-Modula, 25 tpic, 4

Verandern von Objekten, 16, 22 Verschieben von Objekten, 16, 22

Wichura, Michael J., 4 Wollmilchsau, 4