|
|
Unterabschnitte
Die Idee
Einleitung
Ich habe für Linux bis jetzt noch keinen Wysiwyg-Editor für Struktogramme1.1 gefunden (DIA kann zwar Flow-Charts und UML-Diagramme erzeugen, aber eben keine Nassi-Shneiderman Diagramme.). Zum Anderen gibt es die grundsätzliche Vorgabe, dass die Ausgabe mit LATEX und dem Style StrukTEX erzeugt wird, d.h. ich muss die graphisch erzeugten Struktogramme weiter verarbeiten können1.2. Deswegen musste ich mir etwas einfallen lassen, um eine ansprechende, einfache und sichere Benutzerführung bei der Erzeugung von Struktogrammen zu entwickeln.
Nach kurzem Besinnen bin ich auf die Idee gekommen, dass das Basisformat XML sein sollte und meine graphische Eingabe mit dem Emacs durchgeführt wird. Ich habe mich für den Emacs entschieden, weil der XML-Mode psgml eine einfache und sichere Schnittstelle zur Eingabe von XML-Dokumenten darstellt1.3.
Zwar braucht man/frau im Grunde bei der Entwicklung von Struktogrammen keine Layoutkontrolle, doch wie ich die meisten Anwender kenne, möchten sie sehen, wie schön ihre Struktogramme aussehen. Zudem musste ich sowieso eine Konvertierung der XML-Dateien nach LATEX programmieren, darum habe ich einen kleinen Emacs-Mode zur Anbindung der PHP-Anwendung php4nsd2ltx bzw. C++Anwendung nsd2ltx geschrieben, der On-The-Fly DVI- oder PDF-Dokumente erzeugt und die farbliche Gestaltung der XML-Dateien übernimmt.
- Vorteile
- Emacs, (PHP) und LATEX ist bald überall verfügbar
- Einfache und validierte Eingabe der Struktogramme
- Nachteile
- Auch wenn On-the-Fly DVI-Dateien erzeugt werden können, den richtigen Überblick bei komplexen Struktogrammen bekommt man nicht (BTW: Wer komplexe Struktogramme hat, macht IMHO sowieso etwas falsch...)
- Komplexe Installation mit den Komponenten Emacs, (PHP,) (PDF)LATEX und StrukTEX
Generelle Voraussetzungen
- LATEX-Installation mit den Styles StrukTEX und Float. Je nach Ausgabeart müssen noch
- pdfLATEX
- psLATEX
- dvips
- ghostscript
- dvipdfm
- epstopng1.4
- epstopdf
installiert sein.
- Es sollte der Emacs-Mode psgml installiert sein
Beispiele
In dem Verzeichnis docs/examples finden sich zwei Beispiele, deren Ausgabe findet sich unter docs/examples/output. Eine Beschreibung der XML-Syntax finden Sie in Abschnitt A.1.
Einfaches Beispiel
|
Ausgabe in LaTeX
|
Ausgabemodi
Es gibt die nachfolgenden Möglichkeiten zur Ausgabe der Struktogramme, die mit (*) gekennzeichneten Modi sind in der PHP-Anwendung nicht implementiert.
- tex
- Es werden nur die Dateien der Struktogramme erzeugt.
- dvi
- Es wird zum Modul eine Hauptdatei angelegt, die einzelnen Struktogramme werden als separate TEX-Dateien angelegt. Anschliessend wird LATEX und der DVI-Viewer xdvi aufgerufen.
- pdf
- Ähnlicher Ablauf wie bei dvi, nur das eine PDF-Datei erzeugt und acroread aufgerufen wird.
- Voraussetzung
- Installiertes pdfLATEX.
- dvi2pdf
- Es wird zuerst eine DVI-Datei erzeugt, anschliessend mit dvipdfm die PDF-Datei generiert.
- Voraussetzung
- Installiertes dvipdfm.
- ps4dvi (*)
- Es wird eine DVI-Datei mit psLATEX erzeugt.
- Voraussetzung
- Installiertes psLATEX.
- pdf4ps (*)
- Es wird eine DVI-Datei mit psLATEX erzeugt, anschliessend mit dvips -Ppdf die PS-Datei, daraufhin mit epstopdf die PDF-Datei.
- Voraussetzung
- Installiertes dvips, epstopdf.
- eps
- Die einzelnen Struktogramme werden als EPS-Dateien exportiert.
- Voraussetzung
- Installiertes dvips.
- png
- Die einzelnen Struktogramme werden als PNG-Dateien exportiert (Auflösung 100dpi).
- Voraussetzung
- Installiertes GhostScript, Perl und das Script epstopng.
- png150
- Die einzelnen Struktogramme werden als PNG-Dateien exportiert (Auflösung 150dpi).
- png300
- Die einzelnen Struktogramme werden als PNG-Dateien exportiert (Auflösung 300dpi).
- png600
- Die einzelnen Struktogramme werden als PNG-Dateien exportiert (Auflösung 600dpi).
- pdfp
- Die einzelnen Struktogramme werden als PDF-Dateien exportiert.
- Voraussetzung
- Installiertes pdfLATEX.
- dvi2pdf_pic (*)
- Die einzelnen Struktogramme werden als PDF-Dateien exportiert.
- Voraussetzung
- Installiertes dvipdfm.
- print
- Es wird eine DVI-Datei erzeugt und zum Drucker geschickt.
- Voraussetzung
- Installiertes dvips
Mit den Ausgabeoptionen sollten alle erdenklichen Alternativen für einen Import in Textverarbeitungsprogramme ala StarOffice abgedeckt sein1.5.
|