1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
|
TkTeXCAD -- Kurzbeschreibung
Hilmar Straube, hilmstr@web.de
13. August 2001
Kurzbeschreibung zu TkTeXCAD, einem Python/Tkinter Programm zum
Erstellen von picture-Umgebungen für LaTeX.
______________________________________________________________________
Inhaltsverzeichnis
1. Einführung
2. (Nicht-)Fähigkeiten
2.1 Teilbilder
2.2 EPS-Einbindung
3. Hinweise zur Bedienung
3.1 Das Menü Anzeige
3.2 Das Menü Teilbildklassen
3.3 Das Menü Datei
______________________________________________________________________
11.. EEiinnffüühhrruunngg
TkTeXCAD soll die Erstellung von picture-Umgebungen für LaTeX
vereinfachen. Es kennt deren Einschränkungen und versucht, die Ausgabe
von TeX möglichst getreu schon vor dem Export darzustellen. Es kann
Dateien im eigenen Format (realisiert mit dem Python-Modul pickle)
laden und speichern, LaTeX-Code aber nur exportieren. Es ist vor allem
auf die Verarbeitung von wiederverwendbaren Teilbildern hin ausgelegt.
22.. ((NNiicchhtt--))FFäähhiiggkkeeiitteenn
Das Programm rechnet grundsätzlich in pt und benutzt nur die picture
Umgebung ohne Erweiterungspakte (außer graphicx für das einfügen von
EPS-Dateien).
Das Programm erzeugt also nur folgendes: \circle (leerer Kreis;
abgestuft bis 40 pt), \circle* (ausgefüllt, nur bis 15 pt), Linien und
Pfeile (eingeschränkte Neigungswinkel; verdickte waagerechte Linien
als gefüllte Rechtecke gebraucht), verschiedene Textboxen, die
quadratischen \qbezier-Kurven, \includegraphics (benötigt die Angabe
von \usepackage{graphicx} im Vorspann) und natürlich Befehle zum
Einfügen ggf. skalierter Teilbilder.
Weiterhin lassen sich mehrere gleiche Objekte im jeweils gleichen
Abstand mittels \multiput erzeugen.
22..11.. TTeeiillbbiillddeerr
Das Programm unterscheidet zwischen Teilbildklassen und
Teilbildinstanzen. Eine Teilbildklasse besteht aus einigen Objekten
mit bestimmten Eigenschaften. Eine Instanz der Klasse ist dann wieder
ein Objekt einer oder mehrerer anderer Teilbildklassen und erscheint
dort als benutzerdefiniertes Objekt. Ändert sich die innere
Teilbildklasse, ändert sich die Darstellung in allen Instanzen.
Das Objekt "Instanz einer Teilbildklasse" lässt sich auch skalieren
(\unitlength). Dabei können sich die Rundungen von Ovalen und die
Durchmesser von Kreisen unproportional ändern. Auch dies dürfte
korrekt dargestellt werden.
Ein Bild besteht damit für TkTeXCAD aus einigen Bildklassen, deren
erste das Hauptbild darstellt und Instanzen aller anderen ggf.
indirekt enthält. Beim Exportieren erzeugt jede Bildklasse eine
picture-Umgebung, auf die vom Hauptbild zugegriffen wird. Deren Name
ist auch der Dateiname. Sie müssen also dafür Sorge tragen, dass
dieser Name auf ihrem Rechnersystem legal ist.
22..22.. EEPPSS--EEiinnbbiinndduunngg
Wie schon erwähnt, können Sie EPS-Bilder einfügen. Das Programm kann
auch den Inhalt dieser Bilder in der Vorschau anzeigen, braucht dazu
aber die Hilfe der Python Imaging Library (PIL). Diese ihrerseits
greift auf Ghostscript zurück, kann das aber nur auf UNIX-Derivaten
mit installiertem Ghostscript. Falls Sie Python mit der PIL auf einer
anderen Plattform benutzen, hängen Sie an die Zeile "import Image"
einige Buchstaben an, so dass ein "ImportError" hervorgerufen wird,
der dem Programm das Nichtvorhandensein der EPS-Unterstützung anzeigt.
Das äußert sich dadurch, dass jegliche eingefügten EPS-Dateien als
durchgestrichenes Rechteck erscheinen und für das Programm dessen
Breite/Höhe-Verhältnis unbekannt ist. Es nimmt daher (meist
fälschlicherweise 1 zu 1 an).
Weder in den für den Eigengebrauch gespeicherten .pic-Dateien, noch in
den exportierten Dateien werden die EPS-Dateien gespeichert. Sie
sollten also sicher stellen, dass Sie alle verwendeten Grafikdateien
mitkopiert werden. (In den exportierten .tex-Dateien stehen absolute
Pfade.)
33.. HHiinnwweeiissee zzuurr BBeeddiieennuunngg
33..11.. DDaass MMeennüü AAnnzzeeiiggee
Jede Eingabe eines Koordinatenpunktes wird in LaTeX-Koordinaten
umgerechnet und außerdem noch auf den nächsten Netzpunkt gesetzt. Das
Netz kann angezeigt oder versteckt sein, ist aber immer aktiv. Ist
seine Wirkung unerwünscht, stellen sie einfach den Netzabstand klein
genug.
Zur Umrechnung in LaTeX-Koordinaten wird die Angabe im oberen Teil
dieses Menüs benutzt. Sie gibt an, wieviele Bildschirmpunkte einer
Einheit (pt) entsprechen.
33..22.. DDaass MMeennüü TTeeiillbbiillddkkllaasssseenn
Eine neue Teilbildklasse wird aus den gerade markierten (Elemente/...
markieren) Objekten erstellt. Diese Objekte werden entfernt und an
ihre Stelle wird dann eine (erste) Instanz der neu erstellten Klasse
an Stelle der alten Objekte eingefügt.
Darunter werden geladenen Teilbildklassen angezeigt; die Klassen, die
gerade nicht eingefügt werden können, sind deaktiviert. Mit dem
untersten Menüpunkt können alle bisher erzeugten Teilbildklassen zur
Bearbeitung aufgerufen werden.
Das passt vielleicht nicht ganz so gut hier her, ist aber wohl doch
ein wenig erklärungsbedürftig: Mit \multiput wiederholten
Bildelementen kann man von einem Multielement zu mehreren
Einzelelement zerlegen (Multi auflösen). Dann sind die Bildelement
nicht mehr verbunden und können für sich geändert werden. Bildinstanz
auflösen zerlegt eine Bildinstanz in ihre Einzelteile, das in einem
\multiput dann gleich mehrfach. Dadurch ist dieser Bildteil von der
Klasse getrennt; es hat aber keinen Einfluss auf andere Instanzen der
Klasse.
33..33.. DDaass MMeennüü DDaatteeii
Laden, Speichern und Importieren beziehen sich auf die von TkTeXCAD
erzeugten .pic-Dateien. Importieren funktioniert nur, wenn die Namen
der Klassen in der zu importierenden Datei keine Überscheidungen mit
den gerade geladenen Klassen haben. Von den so importierten Klassen
können dann Instanzen erzeugt werden.
Der Export erstellt zu jeder Klasse eine .tex-Datei gleichen Namens.
Diese beziehen sich aufeinander und ihre Hauptdatei kann mit
\import{_n_a_m_e} in ihre LaTeX-Datei eingefügt werden.
|