Sie sind auf Seite 1von 4

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

______________________________________________________________________

1#1.#. E#Ei#in#nf#f�#�h#hr#ru#un#ng#g

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.

2#2.#. (#(N#Ni#ic#ch#ht#t-#-)#)F#F�#�h#hi#ig#gk#ke#ei#it#te#en#n

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.

2#2.#.1#1.#. T#Te#ei#il#lb#bi#il#ld#de#er#r

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.

2#2.#.2#2.#. E#EP#PS#S-#-E#Ei#in#nb#bi#in#nd#du#un#ng#g

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

3#3.#. H#Hi#in#nw#we#ei#is#se#e z#zu#ur#r B#Be#ed#di#ie#en#nu#un#ng#g

3#3.#.1#1.#. D#Da#as#s M#Me#en#n�#� A#An#nz#ze#ei#ig#ge#e

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.

3#3.#.2#2.#. D#Da#as#s M#Me#en#n�#�


T#Te#ei#il#lb#bi#il#ld#dk#kl#la#as#ss#se#en#n
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.

3#3.#.3#3.#. D#Da#as#s M#Me#en#n�#� D#Da#at#te#ei#i

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.