Aus Linux-Magazin 01/2003

Die monatliche GNU-Kolumne

Diese Kolumne berichtet über aktuelle Entwicklungen innerhalb des GNU Projekts und versucht, Einblicke in die zugrunde liegende Philosophie zu vermitteln. In dieser Ausgabe: Preview-Latex, Lire, GNU Source Highlight, Ksrc2html, freie Software in Asien.

Willkommen zu einer weiteren Ausgabe der Brave GNU World. Textverarbeitungsprogramme werden schon von Einsteigern oft und gern benutzt, das erste Projekt in dieser Ausgabe gehört in diese Kategorie.

Der Einstieg: Preview-Latex

Die Geschichte von Tex und damit auch die von Latex [5] geht auf Donald E. Knuth zurück – sicherlich einer der wichtigsten Köpfe der Informatik. Das Satzprogramm hat sich vor allem im wissenschaftlichen Bereich und bei Anwendern mit starkem technischen Bezug gut etabliert.

Seine Stärke ist, dass sich der Autor eines Textes auf den Inhalt konzentrieren kann und sich nicht mit Fragen der Darstellung befassen muss. Auch beim Satz mathematischer Formeln praktisch beliebiger Komplexität ist Latex unübertroffen. Es funktioniert als eine Art Programmiersprache für Dokumente. Ähnlich HTML schreibt der Verfasser die Formatierungsanweisungen direkt in das Textdokument hinein. Wer mit dem Computer nicht so vertraut ist, mag das schwierig oder umständlich finden, aus diesem Grund haben sich auf dem Markt auch inzwischen die so genannten Wysiwyg-Programme (What you see is what you get) durchgesetzt.

Per Wysiwyg trennt der Autor Texteingabe und Textformatierung voneinander. Das bringt Vorteile bei Layout-lastigen Dokumenten. Alle gebräuchlichen Office-Pakete arbeiten nach diesem Prinzip. Um die Vorteile beider Ansätze zu vereinen, erlauben manche Programme die Texteingabe auf Wysiwyg-Basis und formen daraus eine Latex-Datei. Beispiele sind Lyx [6] oder der in Ausgabe 30 der Brave GNU World [7] vorgestellte Texmacs [8].

Das bedeutet aber ähnlich wie bei herkömmlichen Office-Paketen eine zusätzliche Schicht zwischen Nutzer und Latex-Dokument, die den Zugriff auf einige Latex-Funktionen erschwert oder sogar unmöglich macht. Ein – manchmal nötiges – weiteres Zwischenformat erschwert außerdem langfristig die Pflege des Dokuments.

Daneben geht häufig ein weiterer Vorteil von Latex verloren, der dem Wysiwyg-Paradigma widerspricht: Durch den Ansatz als Programmiersprache können in Latex-Dokumente Kommentare eingefügt werden, die nicht in der Ausgabe erscheinen, aber bei Weiterentwicklung und Pflege hilfreich sein können.

Abbildung 1: Anspruchsvoller Notensatz mit Preview-Latex, einer Wysiwyg-Umgebung für Emacs und XEmacs.

Abbildung 1: Anspruchsvoller Notensatz mit Preview-Latex, einer Wysiwyg-Umgebung für Emacs und XEmacs.

Preview-Latex für Emacs

Um Einsteigern und Profis das Leben mit Latex zu erleichtern, ohne dabei auf dessen Vorteile verzichten zu müssen, hat David Kastrup das Preview-Latex-Projekt [9] gestartet. Preview-Latex ist ein Paket für die Editoren GNU Emacs und XEmacs, das in deren jeweiliger AUC-Tex-Umgebung ein Wysiwyg-Feedback einbettet (Abbildungen 1 und 2).

Der Großteil der Arbeit an Dokumenten ist noch immer das Schreiben selbst, für das mit dem Emacs ein sehr mächtiges Werkzeug mit vielen Hilfsmitteln zur Verfügung steht. Gleichzeitig können jedoch komplexere Elemente wie mathematische Formeln, nicht-lateinische Schriften, Schach- und Go-Bretter, musikalische Notenblätter oder Grafiken direkt im Editor dargestellt werden.

Da Preview-Latex keine Änderungen am reinen Latex-Code erfordert oder vornimmt, steht das volle Spektrum von Latex zur Verfügung. Arbeiten mehrere Autoren an einem Dokument, beeinflusst der Einsatz der Preview-Ausgabe bei einem Autor die anderen nicht.

Seinen Ursprung fand das Projekt etwa vor einem Jahr als reine Selbsthilfe für die Doktorarbeit von David Kastrup. Er stellte, nachdem er das Projekt als freie Software unter der GNU General Public License (GPL) veröffentlichte, ein beträchtliches Interesse an seinem Projekt fest. Schnell fanden sich sechs weitere Entwickler, von denen Alan Shutko, Jan-ke Larsson und Nick Alcock sich besonders hervorgetan haben.

Alan Shutko steuerte die Autoconf-Unterstützung bei, Jan-ke Larsson hat wesentlich zur Dokumentation und zur Verpackung als RPM beigetragen und arbeitet momentan an einem Daemon, der die Darstellung beschleunigen soll. Nick Alcock ist Hauptverantwortlicher für die XEmacs-Portierung und fürs Debugging. Geschrieben wurde Preview-Latex übrigens in Tex-Macros, ein bisschen Postscript und viel Glue-Code in Emacs-LISP. Die künftigen Elemente sollen allerdings aus Geschwindigkeitsgründen auf C zurückgreifen.

Zu den größten Vorteilen zählt David Kastrup, dass Preview-Latex sehr unaufdringlich ist. Es wird nur auf Anforderung aktiv und dank des intuitiven Interface müssen sich die Benutzer auch nicht lange mit der Dokumentation aufhalten. Zudem ist es bereits stark optimiert und die Ansprechzeit ist auch bei großen Dokumenten auf mittelmäßiger Hardware akzeptabel.

Probleme bereiten aber noch größere grafische Segmente, da diese sowohl im GNU Emacs als auch im XEmacs für den Nutzer nicht besonders angenehm gehandhabt werden können. So sucht das Projekt auch noch weitere Freiwillige, die dabei helfen, sowohl auf Seite von Preview-Latex wie auch auf Seite der Emacs-Editoren das Projekt voranzutreiben. Gerade beim GNU Emacs auf Windows oder Macintosh ist hier noch einige Arbeit zu leisten.

Für technisch Versierte gibt es also viele Möglichkeiten, ihr Können einzubringen. Ich hoffe allerdings auch die normalen Nutzer motiviert zu haben, einen Blick auf Preview-Latex zu werfen – ohne sich von Umstellungsschwierigkeiten abschrecken zu lassen.

Wer sich für einen gründlichen Überblick über dieses Feld interessiert, dem sei an dieser Stelle noch ein Dokument von David Kastrup empfohlen [10], das er im Rahmen seiner Arbeit an Preview-Latex erstellt hat.

Abbildung 2: Auch mathematische Formeln sind kein Problem für Latex-Preview.

Abbildung 2: Auch mathematische Formeln sind kein Problem für Latex-Preview.

Lire

Unter Unix ist es Tradition, dass Vorgänge im System und Dienste wie Webserver, Mailserver oder Datenbanken eigene Logfiles führen, in denen sie ihre Aktivitäten protokollieren. Damit können Administratoren diese Vorgänge auf dem System nachvollziehen. Solche Logfiles können aber schnell große Ausmaße annehmen – was ihre Handhabung erschwert. Auch wenn sie meist in Ascii-Form vorliegen, sind Dateien von mehreren MByte Größe nicht mehr leicht zu überblicken.

Hinzu kommt, dass im Normalfall aus Daten erst Informationen werden, wenn eine bestimmte Fragestellung auf sie angewandt wird. Für die Beantwortung wird in der Praxis der größte Teil der Daten meist ganz irrelevant sein, aber er begräbt die gewünschten Informationen unter sich. Spezielle Programme sollen dieses Problem lösen und bei der Analyse von Logfiles helfen (siehe Abbildungen 3 und 4).

So trafen sich am 6. April 2000 Informatiker aus mehreren holländischen Unternehmen, um die ermüdende Tätigkeit der Logfile-Analyse zu diskutieren. Dabei wurde klar, dass jeder glaubte, das Rad aufs Neue erfinden müssen. Um dem ein Ende zu bereiten, begann das Logreport-Team damit, ein Programm als freie Software unter der GNU General Public License (GPL) zu schreiben, das diese Aufgaben im professionellen Umfeld erledigt. Fast zwei Jahre später wurde Lire 1.0 [11] veröffentlich. So wie bei Douglas Adams die “elektrischen Mönche” die langweilige Pflicht des Glaubens erledigen, will Lire den Administratoren die langweilige Aufgabe des Logfile-Lesens abnehmen. Daher auch der Name, denn das französische lire heißt auf Deutsch lesen.

Abbildung 3: Lire hilft Logdateien automatisch und standardisiert zu bearbeiten.

Abbildung 3: Lire hilft Logdateien automatisch und standardisiert zu bearbeiten.

Das Programm ist in Perl und Bash geschrieben und setzt massiv auf XML. Es arbeitet in vier Schritten: Zunächst werden die Logfiles in einem Distilled Log Format (DLF) normalisiert, um anschließend im zweiten Schritt mit generischen Tools für verschiedene Dienste analysiert zu werden. Das Ausgabeformat ist XML, das sich in einem vierten Schritt in das jeweils gewünschte Logfile-Format überführen lässt. Zurzeit gibt es Eingabefilter für 29 verschiedene Dienste, aber es werden stetig mehr. Ein neuer Dienst lässt sich einfach hinzufügen, indem man einen entsprechenden Konverter für das DLF-Format schreibt.

Zu den besonderen Stärken zählt der modulare Aufbau von Lire, der es beispielsweise erlaubt, verschiedene Implementationen desselben Dienstes, also zum Beispiel die MTAs Exim und Postfix, miteinander zu vergleichen. Lire hat sich bereits im praktischen Unternehmenseinsatz mit Logfiles von mehreren GByte bei Performance-Messungen, Systemüberwachung, Problemlösung und Marketing bewährt, kann also bereits als stabil gelten.

Als Schwäche des Projekts sieht Josh Koenig, der die Fragen der Brave GNU World beantwortet hat, das API, mit dessen Verständlichkeit und Dokumentation er noch nicht zufrieden ist. Neben einem benutzerfreundlichen GUI ist dies das Hauptaugenmerk der weiteren Entwicklung. Hilfe dazu und bei der Erweiterung um neue Formate ist herzlich willkommen. Außerdem soll Lire gerade in mittleren bis großen Unternehmen populär gemacht werden.

Das ständige Logreport-Development-Team besteht aus Joost van Baal, Francis Lacoste, Egon Willighagen, Josh Koenig und Wessel Dankers, es haben sich aber viele Entwickler aus der ganzen Welt an Lire beteiligt. Die Logreport Foundation, eine in Holland angesiedelte gemeinnützige Organisation, betreut das Projekt. Nebenbei zeigt es einen wesentlichen volks- und betriebswirtschaftlichen Vorteil freier Software: die Vermeidung von Mehrfacharbeit.

Abbildung 4: Lire wandelt Logfile-Inhalte in einem mehrstufigen Prozess ins gewünschte Ausgabeformat um.

Abbildung 4: Lire wandelt Logfile-Inhalte in einem mehrstufigen Prozess ins gewünschte Ausgabeformat um.

Ksrc2html

Ksrc2html [14] von Martin Gebert ist eine grafische Benutzeroberfläche für GNU Source Highlight, die ebenfalls unter der GNU General Public License (GPL) als freie Software verfügbar ist. Wie der Name bereits verheißt, basiert Ksrc2html auf C++, Qt und KDE 2, ein Update auf KDE 3 ist geplant. Ksrc2html erlaubt eine Vorschau auf die Formatierung, um eingestellte Parameter besser kontrollieren zu können, sowie auf Farben und Schrifttypen, um sie per Dialog einzustellen und für die spätere Verwendung abzuspeichern.

Dank der Hilfe von Xavier Outhier, der die französische Übersetzung übernommen hat, ist Ksrc2html in Deutsch und Französisch lokalisierbar. Martin stuft das Projekt als stabil ein und plant, den Dialog für Farben und Schriftstile um eine automatische Sprachanpassung zu erweitern. Hilfe bei der Portierung nach KDE 3 ist ihm sehr willkommen.

Abbildung 5: Ksrc2html: Syntax-Highlight nach Wahl.

Abbildung 5: Ksrc2html: Syntax-Highlight nach Wahl.

GNU Source Highlight

GNU Source Highlight [12] von Lorenzo Bettini erzeugt aus Sourcecode eine Ausgabe mit Syntax-Highlighting in HTML oder XHTML. Entstanden ist es aus den in Ausgabe 21 der Brave GNU World [13] vorgestellten Tools Java2html und Cpp2html, die in GNU Source Highlight aufgegangen sind. Das Projekt wurde in C++ geschrieben und ist nach Angabe von Lorenzo Bettini stabil. Er arbeitet bereits an einem neuen Ausgabeformat (Latex) und möchte noch eine einfache Beschreibungssprache für die Unterstützung neuer Programmiersprachen schreiben, um das bisher eingesetzte Flex abzulösen.

Als Eingabesprachen unterstützt GNU Source Highlight derzeit Java, C/C++, Prolog, Perl, PHP 3, Python, Flex und Changelog. Filter für andere Sprachen können hinzugefügt werden. Viele Entwickler haben bereits Filter beigesteuert. So stammen die Filter für Flex und Changelog von John Millaway, die XHTML-Ausgabe von Christian W. Zuckschwedt und Josh Hiloni. Martin Gebert schrieb den Filter für Python, Alain Barbet die für PHP3 und Perl.

Die größte Schwäche ist, dass Referenzen von Funktionen zu ihren Definitionen noch nicht möglich sind, da nur eine lexikalische Analyse erfolgt. Dies beheben und weitere Filter schreiben sind daher die besten Möglichkeiten, das Projekt zu unterstützen. Als Anwender kommen vor allem Programmierer in Betracht, die GNU Source Highlight als Kommandozeilenwerkzeug oder als CGI interaktiv im Web einsetzen.

Freie Software in Asien

Es mag vor allem die asiatischen Leser freuen zu hören, dass am 10. Juli 2002 die Free Software Initiative Japan (FSIJ) [15] gegründet wurde. Sie soll freie Software in Japan fördern und den Grundstein für eine künftige FSF Japan oder FSF Asia legen. Chairman der neuen FSIJ ist kein Geringerer als Professor Masayuki Ida, der lange Jahre als Vice President Japan der Free Software Foundation North America agierte und letztes Jahr im Rahmen einer Reise nach Europa auch intensive Gespräche mit Mitgliedern der Free Software Foundation Europe führte.

Um einen Impuls für freie Software in Japan zu geben, organisierte die FSIJ am 22. und 23. Oktober 2002 in Tokio mit dem Free Software Symposium 2002 die erste Veranstaltung ihrer Art im asiatischen Raum und gewann dafür auch hochkarätige Redner aus China, Thailand, Japan, Singapur, Deutschland, Italien und den USA. Neben den technisch orientierten Vorträgen über Debian, das HURD-Projekt oder die chinesische Red-Flag-Distribution gab es allgemeine Vorträge und Diskussionen über freie Software in Asien und Europa.

Der runde Tisch am Abend des 22. Oktober befasste sich mit der Verbesserung der internationalen Zusammenarbeit bei der Internationalisierung von Programmen und Dokumentationen sowie der Frage nach einer lösungsorientierten Datenbank für freie Software. Auch wenn diese Probleme nicht in zwei Stunden zu lösen waren, fanden sich doch einige praktische Ansätze, die nun per Mail weiter umgesetzt werden.

Insgesamt war es ein wichtiger Schritt nach vorn für freie Software im asiatischen Raum – er hat nicht zuletzt den Dialog gerade zwischen den asiatischen Ländern gefördert. Im Februar oder März 2003 soll eine weitere Veranstaltung dieser Art in Thailand folgen. Vielleicht gelingt es sogar, eine feste Veranstaltung zu etablieren, die im asiatischen Raum von Land zu Land wandert. In jedem Fall ist es gut zu sehen, dass auch in Asien freie Software auf dem Vormarsch ist. Leser der Brave GNU World aus dem asiatischen Raum, die sich gerne einbringen wollen, mögen sich mit der FSIJ oder GNU China [16] in Verbindung setzen.

Abbildung 6: Bernhard Reiter, Christopher Gabriel und Georg Greve (von links) beim FSF-Symposium in Tokio.

Abbildung 6: Bernhard Reiter, Christopher Gabriel und Georg Greve (von links) beim FSF-Symposium in Tokio.

Bis zum nächsten Mal

Damit genug Brave GNU World für diesen Monat. Wegen der Wiederholung mag es der eine oder andere überlesen: Auch dieses Mal bitte ich wieder um Fragen, Anregungen, Ideen und Mails zu interessanten Projekten.

Auch auf die Gefahr, noch mehr als üblich unter E-Mails begraben zu werden, möchte ich gerne eine konkrete Anfrage loswerden: In Anlehnung an Douglas Adams würde ich gerne von den Lesern erfahren, welche für jede(n) die wichtigste Frage ist, auf die freie Software die Antwort gibt. Die Fragen bitte ich auch per E-Mail an die übliche Adresse zu schicken [1]. (jk, fan)

Infos

[1] Ideen, Anregungen, Kommentare an die Brave GNU World: [mailto:column@brave-gnu-world.org]

[2] Homepage des GNU-Projekts: [http://www.gnu.org/]

[3] Homepage von Georg\’s Brave GNU World: [http://brave-gnu-world.org]

[4] “We run GNU” Initiative: [http://www.gnu.org/brave-gnu-world/rungnu/rungnu.de.html]

[5] Latex-Homepage: [http://www.latex-project.org]

[6] Lyx-Homepage: [http://www.lyx.org/]

[7] Brave GNU World, Ausgabe 30: [http://www.gnu.org/brave-gnu-world/issue-30.de.html]

[8] GNU-Texmacs-Homepage: [http://www.texmacs.org/]

[9] Preview-Latex-Homepage: [http://preview-latex.sourceforge.net]

[10] Dokument: “WYSIWYG-related Tools & Techniques for LaTeX”: [http://preview-latex.sourceforge.net/wysiwyg-draft.pdf]

[11] Lire-Homepage: [http://www.logreport.org]

[12] Source-Highlight-Homepage: [http://www.gnu.org/software/src-highlite/]

[13] Brave GNU World, Ausgabe 21: [http://www.gnu.org/brave-gnu-world/issue-21.de.html]

[14] Ksrc2html-Homepage: [http://murphy.netsolution-net.de/Ksrc2.html]

[15] Free Software Initiative Japan: [http://www.fsij.org]

[16] GNU China: [http://www.gnuchina.org]

Der
Autor


Dipl.-Phys. Georg C. F. Greve beschäftigt sich seit etlichen Jahren mit freier Software und kam früh zu GNU/Linux. Nach Mitarbeit im GNU-Projekt und seiner Aktivität als dessen europäischer Sprecher hat er die Free Software Foundation Europe initiiert, deren Präsident er ist. Mehr Informationen finden sich unter [http://www.gnuhh.org].

Copyright © 2002 Linux New Media AG

LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben