Der neuer LaTeX-Editor Gummi versucht das Erstellen einfacher Dokumente durch eine WYSIWYG-Ansicht intuitiver zu gestalten.
Die Beschreibungssprache LaTeX [1] besteht aus einer Vielzahl von Makros und Befehlen, die Sie ähnlich einer Programmiersprache in eine Textdatei eingeben. Dabei sehen Sie das Ergebnis erst, wenn Sie diese Datei mittels eines speziellen Compiler in ein Zwischenformat umwandeln. Die Idee hinter Gummi [2] ist ebenso einfach wie genial: Der Editor übersetzt den LaTeX-Code während der Eingabe automatisch und versucht so eine direkt WYSIWYG-Ansicht des Ergebnisses zu erzeugen. Das funktioniert, solange kein Fehler im Code auftritt. Mit zunehmender Textlänge benötigt dieses Verfahren zudem immer mehr Rechenzeit.
Installation
Nutzen Sie eine Debian/Ubuntu-basierte Distribution oder Fedora, so installieren Sie am einfachsten eines der Pakete von der Download-Seite des Projekts [3]. Auch das Sunrise-Overlay von Gentoo enthält die für diese Distribution passende Programmversion. Außerdem findet sich im Download-Bereich von Gummi auch noch ein Paket mit dem Quelltext des Programms.
Gummi zieht bei einer Installation über das Paketmanagementsystem automatisch TeXlive nach – eine sehr umfangreiche Sammlung von LaTeX-Styles und Klassen. Möchten Sie die Gummi lieber mit einer handoptimierten LaTeX-Installation betreiben, so verwenden Sie einfach das entsprechende Paket am Ende der Download-Seite.
Das Programms hat einen einfachen Aufbau: Das Hauptfenster besteht aus zwei Teilen (Abbildung 1). Beide Teilfenster verfügen über jeweils drei Reiter. Das Fenster mit dem Quelltext zeigt voreingestellt den LaTeX-Code. Auf Wunsch hebt Gummi die aktuelle Zeile farblich hervor. Am linken Rand blendet Gummi die aktuelle Zeilennummer ein, allerdings ohne Umbrüche im Quelltext vorzunehmen.

Abbildung 1: Das Gummi-Hauptfenster besteht aus zwei Teilen: Links steht der Quelltext, rechts die aktuelle Ausgabe.
Die drei Reiter am unteren Rand des Fensters ermöglichen das Einfügen von Bildern, Tabellen und mathematischen Matrizen. Für die Bilder gilt, dass sie in einem vom ausgewählten Compiler unterstützten Format vorliegen müssen. Bildreferenzen fügt das Programm immer in der in Listing 1 gezeigten Form ein. Die Eingabe erfolgt über den ersten Reiter (Abbildung 2).
Listing 1
\begin{figure}[htp]
\centering
\includegraphics[scale=0.7]{Bild}
\caption{Abbildungsunterschrift}
\label{Marke der Abbildung}
\end{figure}
Dabei erlaubt die Applikation lediglich, bei der Auswahl des Bildes den Skalierungsfaktor zu verändern und die Abbildungsunterschrift (caption) sowie deren Label (im Beispiel: Marke der Abbildung) anzupassen. Die anderen, von \includegraphics eigentlich ebenfalls unterstützten Optionen wie Breite, Höhe, Ausschnitt oder Beschnitt gilt es im Bedarfsfall von Hand zu ergänzen.
Als ähnlich unflexibel erweist sich momentan das Eingeben von Tabellen (Abbildung 3) und Matrizen: Bei diesen Elementen gibt das Programm die Anzahl der Zeilen vor – eine Angabe, die LaTeX eigentlich gar nicht benötigt. Als Umgebung zur Formatieren der Tabellen unterstützt Gummi in dieser Form nur tabular; alle anderen Varianten müssen Sie manuell aus dieser Form entwickeln oder Alternativen eingeben.

Abbildung 3: Tabellen geben Sie über einen separaten Reiter im Codefenster ein (oben). Das Programm erzeugt daraus Code (unten links) und eine passende Ausgabe (unten rechts).
Sie füllen die Zellen anschließend aus, indem Sie die Vorgaben 11 bis 33 durch die gewünschten Werte ersetzen. Bei dieser Vorgehensweise kommt für erfahrene Anwender nur wenig Freude auf. Unerfahrenen Nutzern bleibt dagegen vollkommen verborgen, welche weitreichenden Features LaTeX hier noch böte.
Sowohl Abbildungen als auch Tabellen behandelt LaTeX grundsätzlich als Gleitobjekte. In vielen Fällen – und gerade für Anfänger – erweist sich das richtig, aber eben nicht immer. Dann steht wiederum Handarbeit an.
Try and Error
Das Ausgabefenster zeigt voreingestellt das aus dem aktuellen Code erzeugte PDF an. Als einzigen Parameter dürfen Sie hier den Vergrößerungsfaktor einstellen, eine Suchfunktion existiert nicht. Selbst Xdvi und Xpdf beherrschen letzteres seit Jahren. Scrollen mit der Maus führt nicht zum Umblättern der angezeigten Seiten.
Fast wichtiger als das Vorschaufenster ist der Error Output im zweiten Reiter des Fensters. Gummi zeigt hier das echte Protokoll der Übersetzung an. Bei eingeblendeten Zeilennummern lokalisieren Sie mit dessen Hilfe Fehler sehr schnell – vorausgesetzt, Sie verstehen die oft kryptischen Fehlermeldungen.
Das ein Fehler aufgetreten ist, meldet Gummi nur über ein kleines, unauffälliges Flag rechts in der Werkzeugleiste: Dort steht ein Haken für das erfolgreiche Übersetzen eines Kommandos oder ein schräges Kreuz für einen Fehler. Als Anwender bemerken Sie Fehler oft erst dann, wenn Gummi die Ausgabe nicht mehr aktualisiert. Angesichts der Tatsache, dass selbst der erfahrenste Anwender gegen (Tipp-)Fehler nicht gefeit ist, gehört eigentlich ein ordentlicher Syntaxcheck (zumindest aber ein Klammercheck) oder Debugger zur Grundausstattung. Beides fehlt bei Gummi bisher.
Der dritte Reiter im Ausgabefenster steuert das Formatieren von Bib-Dateien für Literaturverzeichnisse. Im Tools-Menü gibt es analog für diese Aufgabe die beiden Punkte Insert Bibliography und Compile Bibliography.
Als Formatierungen stehen bisher nur \textbf{}, \textit{} und \underline{} zur Verfügung, also fetter, kursiver und unterstrichener Text. Logische Auszeichnungen, wie sie \emph ermöglicht, unterstützt Gummi bisher nicht. Aber wieder gilt: Bei Bedarf pflegen Sie dies manuell in den Code ein und verwenden es damit trotzdem. Mit der Maus markierte Bereiche steckt Gummi in Umgebungen vom Typ {flush*} beziehungsweise {center}, sobald Sie den entsprechenden Button in der Werkzeugleiste aktivieren.
Verhaltensauffälligkeiten
Wortweises Springen über [Strg]+[Pfeil rechts] oder [Strg]+[Pfeil links] beherrscht Gummi; beim Undo über [Strg]+[Z] leistet sich das Programm dagegen Aussetzer. Das Redo – also das Aufheben des letzten Undos (üblicherweise [Strg]+[Y]) – steht über [Strg]+[Umschalt]+[Z] bereit, wirkt aber nicht unbedingt so wie erwartet.
Im File-Menü gibt es eine Möglichkeit, bestehende Projekte zu öffnen, um sie mit Gummi weiter zu bearbeiten, ebenso wie neue Projekte aus Vorlagen heraus zu erstellen. Beides erweist sich als noch nicht ganz ausgereift. Beim Import eines Projekts vergisst Gummi das bestehende und zeigt auch öfters keine Ausgabe, obwohl es den Code fehlerfrei übersetzt. Hier scheint es das gleiche Projekt erneut einzulesen.
Die derzeit vorhandenen Vorlagen stellen viele User nicht wirklich zufrieden: Hier finden sich nur die Standardklassen (article, report, book und letter) ohne jegliche Optionen. Möchten Sie dies ändern, bleibt nur der Griff zum Python-Quelltext des Programms – für Anfänger keine adäquate Möglichkeit.
Einstellungen
Im Menü Edit findet sich zwar der übliche Eintrag Einstellungen, viel zu ändern gibt es dort bislang allerdings nicht. Sie dürfen ein wenig am Erscheinungsbild des Editors schrauben und einen Beispieltext einstellen. Doch Achtung, der vorhandene Text (Listing 2) enthält einige syntaktische Fehler: Die Angabe des Größenbefehls steht fälschlicherweise außerhalb der geschweiften Klammern. Richtig wäre die Schreibweise:
{\Größenbefehl Text…}
Listing 2
\Huge{Welcome to Gummi} \\\
\\
\LARGE{You are using the 0.4.5 version.\\
I welcome your suggestions at\\
http://gummi.midnightcoding.org}\\
Unter PDF Compiling bietet Gummi neben PDFLaTeX auch XeLaTeX an. Letzteres bietet eine ganze Reihe schöner Features, wie etwa die Eingabe von Unicode oder eine einfache Fontauswahl.
Fazit
Die Idee von Gummi ist klasse und hat das Potenzial, sich zu einer echten Hilfe zu entwickeln. LaTeX als WYSIWYG zu schreiben wäre genau das, was sich Einsteiger (und Korrektoren) schon lange wünschen. Das automatische Backup (in den Einstellungen unter Editor | Autosave file every … minutes zu finden) erweist sich zwar als nützlich, kennt aber bisher nur ein Backup-Level. Das reicht in der Praxis oft nicht aus.
Gut gefällt der Verzicht auf spezielle Styles und andere Verrenkungen, mit denen Programme wie Lyx oder Klyx versuchen, WYSIWYG umzusetzen. Gummi interpretiert den LaTeX-Code – und genau so sollte es eigentlich sein. Das gibt dem erfahrenen Anwender die Möglichkeit, genau das zu schreiben, was er möchte. In der Konsequenz bedeutet es aber, dass Sie Fehler selbst finden und korrigieren müssen.
Trotz der hervorragenden Grundidee stellt Gummi in der konkreten Umsetzung bislang kaum mehr als ein nettes Spielzeug dar. Das Wandeln der Eingabe in funktionsfähigen Code scheint erst halbwegs gelungen; für den produktiven Einsatz fehlt noch einiges, was heute zum Standard gehört: So gibt es weder eine Rechtschreibkorrektur noch eine Syntaxprüfung, auch Komplettierungen oder andere intelligente Editierfunktionen glänzen durch Abwesenheit.
Das Programm erlaubt es lediglich, Textzeilen zum Ausschneiden zu markieren; eine Ersetzungsfunktion fehlt. Außerdem blockiert Gummi beim Übersetzen, nimmt währenddessen aber Eingaben entgegen. Dies stellt für Vielschreiber, die wirklich gut und fehlerfrei tippen, wahrscheinlich kein Problem dar. Alle anderen dürfen sich aber auf unerwartete Ergebnisse gefasst machen. Beim Schreiben von Briefen erweist sich immerhin die superschnelle Ausgabe (bei gleichzeitig kleinen Texten) als Vorteil, ebenso wie die Unabhängigkeit von bestimmten Klassen und Styles.
Glossar
-
WYSIWYG
-
What You See Is What You Get. Sie sehen bei der Eingabe der Daten direkt das Ergebnis, so wie es später auch im Ausdruck aussieht.
Infos
[1] LaTeX: http://de.wikipedia.org/wiki/LaTeX
[2] LaTeX-Editor Gummi: http://gummi.midnightcoding.org
[3] Gummi-Pakete: http://gummi.midnightcoding.org/?page_id=6







http://gummi.midnightcoding.org/
Gruss
Seraphyn
Verstehe ich jetzt nicht ganz. Die Homepage ist doch unter [2] und [3] verlinkt. Oder was meintest du?
Diese sind aber leider nur für zahlende Mitglieder ersichtlich. Als Nichtabonent bringt ein Klick auf [2] oder [3] nämlich nichts. Apropos: Ist es mittlerweile möglich nur die Onlineartikel hier zu kaufen/abonnieren? Mich würden die sehr interessieren, aus umweltbezogener Sicht finde ich es aber nicht in Ordnung am Ende alles noch mal in Heftform nach Hause zu bekommen.
OK. Problem erkannt. Ich schaue mal, ob wir die Infobox mit vertretbarem Aufwand zugänglich machen können. Das ist aber bei den Artikeln im Community-Abo halt nun mal so, dass wir nur den ersten Teil des Textes zeigen, wären die Links in der zweiten Hälfte, würde es niemanden stören…
Zum zweiten Punkt. Wir planen, auch Online-Only-Abos einzuführen, also ein Community-Abo ohne Koppelung ans Print-Abo. Während hier die technische Seite trivial ist, gibt es noch einige grundlegende Dinge auszudiskutieren, unter anderem das Format (PDF, HTML, E-Book, Flash? ;-)). Kommentare hierzu nehmen wir gerne entgegen.
Klingt ja interessant. Das Format kann doch nicht das große Problem sein, oder? Im Zweifel dürfte es doch auch ohne großen Mehraufwand einfach möglich sein sowohl HTML als auch PDF anzubieten. Hier bleibt aber die Frage wie ihr plant die Inhalte zu schützen. Wenn Seite X die Ausgaben dann 10 Minuten nach Euch zum freien Download bereitstellt wäre das ja leider sehr verlockend, sich die paar Euronen zu sparen. Auf der anderen Seite reagiert der Durchschnitts-Linuxer wohl aber sehr sensibel auf DRM. Wie denkt Ihr darüber?
no comment
Falls es keinen Aufwand macht, wäre dies sehr nett. Ich gebe zu ich bin ein fauler Linuxer, ich kann zwar eine Suchmaschine benutze, aber… :) Mir ist dies bei vielen Blogs mittlerweile aufgefallen, die Homepage des Programmes wird bei manchen kaum genannt. Deswegen auch mein Hinweis darauf, denn ich finde Euch dürfte so etwas nicht passieren. Die Artikel als Anreisser finde ich sehr Gut und habe auch keine Herausforderungen in dem Sinne damit, mich juckt halt nur der eine Punkt. Ich gehe davon aus, dass sich die Projektpersonen auch darüber sehr freuen, wenn man Ihren Link öfters im Internet findet.… Mehr »
Ich finde es recht umständlich, einen Haufen Programme zu installieren und immer auf dem aktuellen Stand zu halten und verwende drum browser-basierte Lösungen für LaTeX-Editoren (zB http://www.verbosus.com o.ä.). Die bieten alles was ich brauche: Syntax-Highlighting und Code-Completion helfen bei der Erstellung des Dokuments…