Vorstellung der LaTeX-Editoren


Fenster vom TeXMaker
Fenster vom TeXMaker

Hier eine kleine Sammlung von Tipps für diejenigen, die sich nicht zwischen der riesigen Auswahl an LaTeX-Editoren entscheiden können. Noch ein Hinweis: Für einen LaTeX-Editor niemals Geld bezahlen, es gibt genug freie Editoren!

 

Man sollte bedenken, dass für fortgeschrittene LaTeX-User der Funktionsumfang (Bereitstellung vordefinierter Umgebungen, Vorlagen und Befehle für Symbole und anderes mehr) hinter Stabilität und Ressourcenschonung zurücktritt. Solche Leute haben sowieso die meisten Befehle im Kopf und wollen einfach nur einen flüssig arbeitenden Editor mit Syntax-Highlighting und ohne viel Schnickschnack und mit einer Tastenkombi fürs Kompilieren. (So gehts mir jedenfalls).

Fenster von TeXnicCenter.
Fenster von TeXnicCenter.

Unter Windows fällt häufig die Wahl auf  TeXnicCenter oder TeXMaker. Beide sind sehr umfangreich und enthalten zahlreiche Schablonen für vordefinierte Befehle (mathematische Symbole, griechische Buchstaben, Umgebungen usw.), können eine Live-Rechtschreibprüfung, Autovervollständigung, Projektmanagement; haben Vorlagen und Assistenten für Tabellen, Matrizen usw. Beide sind gleichermaßen an eigene Bedürfnisse anpassbar, übersichtlich aufgebaut und arbeiten sehr stabil.

Fenster von Kile.
Fenster von Kile.

Die Auswahl an Editoren für GNU/Linux-Systeme ist vergleichbar umfangreich:

 

Neben TeXMaker gibt es da noch Kile als Teil des KDE-Desktops, einem äußerst robusten, aber auch bis ins kleinste Detail anpassbaren TeX-Editor, der wirklich keinerlei Wünsche übrig lässt. Obwohl mir persönlich ein leichtgewichtiger und übersichtlicher Editor wie TeXMaker reicht, hat Kile doch seine unwiderstehlichen Vorzüge. Als Beispiele seien die Assistenten für Tabellen und Grafiken erwähnt, mit denen man die gewünschten Informationen bequem eingeben kann und anschließend der entsprechende Code generiert wird (v.a. bei Tabellen zu empfehlen!) Die automatische Generierung für Kommando-Umgebungen ist auch nicht schlecht. Gut gefällt mir außerdem, dass die Zählung von Wörtern und Zeichen direkt über den Quellcode möglich ist (dabei werden Kommando-Strukturen natürlich nicht mitgezählt). Wer meinem Tipp mit kürzerem Code pro Zeile folgt, findet mit Kile einen Automatismus ("statischer Zeilenumbruch nach X Zeichen"), bei dem der Text von selbst umgebrochen wird, sodass man darauf nicht mehr von Hand achten muss. Wörter können leicht in ein Benutzerwörterbuch aufgenommen werden, siehe hier. Zum Anschluss sei erwähnt, dass es mir vorkommt, als wären die von Kile ausgegebenen, beim Kompilieren anfallenden Warn- und Fehlerhinweise verständlicher als bei anderen Editoren. Außerdem wird eine Zahl ausgegeben, wie viele Fehler bzw. Warnungen noch bestehen.

Fenster von Geany.
Fenster von Geany.

Sehr einfach strukturierte TeX-Editoren sind Geany und Gummi. Beide habe ich eine Zeit lang getestet, allerdings fehlt es ihnen an einigen tiefergehenden Einstellungsmöglichkeiten. Außerdem stürzten sie regelmäßig ab. Sowas motiviert mich dann immer sehr schnell wieder zum Wechsel auf bekanntermaßen stabil arbeitende Editoren, zumal mir Geany und Gummi keine Alleinstellungsvorteile boten.

Fenster von Lyx.
Fenster von Lyx.

LyX ist ein Sonderfall, da er einen Hybriden aus reinem Quellcode-Editor und WYSIWYG-Editor darstellt. Die teilformatierte Ausgabe während der Arbeit hat seine Vorzüge und schafft Übersichtlichkeit. Es besteht allerdings die Gefahr, die auch die großen Textverarbeitungen mit sich bringen: Da man nicht den nackten Quellcode sieht, lernt man keine Befehle, kann bei Probleme nicht unmittelbar eingreifen. Insgesamt ist LyX ein bemerkenswertes Projekt, das insbesondere Einsteiger ansprechen dürfte. Einige wichtige Funktionen sind bereits integriert, wie das Vergleichen von Dokumenten (!), die Änderungsnachverfolgung (!!), Wortstatistik, Rechtschreibprüfung, Assistenten für Tabellen, Grafiken, Verweise, Literaturverzeichnisse und vieles mehr. Das Erzeugen einer neuen Datei ermöglicht das sofortige Lostippen, sofern man die richtige Absatzvorlage einstellt (Titel, Abschnitt, Textblock, Zitat etc.), ganz ohne sich mit einer Präambel beschäftigen zu müssen. Der Editor ist so eingestellt, dass man unmöglich überzählige Leerzeichen oder Leerzeilen erzeugen kann. Jeder Absatz hat seine eigene Formatierung; formatwidersinnige Mischmasch, wie er bei den großen Textverarbeitungen erzeugt werden kann, ist hier undenkbar. Dank integrierten Encoder kann das Ergebnis auch sofort in gängige andere Formate (u.a. OpenDocument, PDF, HTML etc.) exportiert werden. Gearbeitet wird mit sog. lyx-Dateien, die im Prinzip der TeX-Quellcode mit etwas Präambel-Anweisungen sind. lyx-Dateien können, und das möchte ich betonen, mit jedem Texteditor ausgelesen werden.

Fenster von TeXworks.
Fenster von TeXworks.

Ebenfalls für Einsteiger gedacht ist TeXworks, das bereits in seiner Standard-Oberfläche eine Zweiteilung des Programmfensters in einen Code-Editor und eine PDF-Vorschau vorsieht. Der Editor ist nicht sehr tiefgründig konfigurierbar, arbeitet aber stabil, soweit ich das beurteilen kann. Neben Rechtschreibprüfung und Syntax-Highlighting beherrscht er die üblichen Features wie Formatvorlagen und dem Zuweisen bzw. Programmieren von sog. Skripten zur Festlegung eigener Befehle. Interessant ist eine Art "Lupen"-Feature, wobei in der kompilierten PDF-Vorschau mit linkem Mausklick eine kleine Lupe eingeblendet wird, womit man sich nochmal an der Schönheit seiner Formeln und perfekt gesetzten Textes erfreuen kann ;) Allerdings ist TeXworks in seiner Standard-Einstellung (für Einsteiger) schlecht konfiguriert: Standardmäßig ist für den Quellcode eine serifenlose Schriftart eingestellt und keine Monospace. Das Syntax-Highlighting ist standardmäßig ebenfalls deaktiviert (was soll das bei einem reinen LaTeX-Editor?). Auch die Sichtbarkeit von Zeilennummern oder einem Fenster für die Warnungen/Fehlermeldungen beim Kompilieren muss man von Hand erst aktivieren. Dafür sind die Warnmeldungen (falls vorhanden) übersichtlich strukturiert und können nacheinander angegangen werden. Eine Ansicht der Dokumentstruktur muss ebenfalls extra eingeschaltet werden: Fenster|Zeige|Tags.

Fenster vom Sublime-Text-Editor.
Fenster vom Sublime-Text-Editor.

Ganz spartanisch geben sich dagegen reine Text- (nicht LaTeX-) Editoren, die mit einem LaTeX-Plugin aufgerüstet wurden. Damit visualisieren sie die LaTeX-Code-Syntax korrekt und bringen Funktionen fürs Kompilieren und die Fehlerdiagnose mit. Beispiele dafür sind das LaTeX-Plugin für den Gnome-Editor gEdit oder das vim-latexsuite-Paket für den Terminaleditor vim. Letzterer ist allerdings eigentlich ein Editor zur Darstellung kurzer Strings und nicht ewig langer Absätze von Dutzenden Wörtern. Entsprechend kämpft man mit der übersichtlichen Darstellung des gesamten Absatzes bzw. dem Wortumbruch. (Es sei denn, man verwendet diesen Tipp.)

 

Ein echter Augenschmaus ist der Sublime-Text-Editor, auch wenn er proprioritär ist (aber einen beliebig langen Zeitraum und im vollen Funktionsumfang genutzt werden kann). Der Editor lässt sich ebenfalls mit einem Plugin für die Verarbeitung von LaTeX-Code aufrüsten und hat ein paar einzigartige Merkmale: Vorinstalliert sind einige sehr augenschonende Farbthemen (wie im Beispielbild), sodass auch die lange Glotzerei am Bildschirm erträglich wird. Außerdem kann in eine Art Ablenkungs-freien Modus umgeschaltet werden, im Grunde ein Vollbildmodus mit (auf Wunsch) ausgeblendeten Menüs; in der Mitte des Bildschirms verläuft die Text-Spalte und sieht die ganze Aufmerksamkeit des Bearbeiters auf sich. Weiterhin soll seine außerordentliche Geschwindigkeit betont werden, die es ermöglicht, auch umfangreiche TeX-Dokumente in Bruchteilen von Sekunden zu öffnen. Sublime ist darüber hinaus einer der wenigen Texteditoren, bei denen die Rechtschreibprüfung für beliebige Sprachen zuverlässig funktioniert und sich auch neue oder zu ignorierende Wörter bequem zu einer Whitelist hinzufügen lassen.

Etwas Besonderes ist der Editor namens Emacs, der – glaubt man den Gerüchten – einfach alles außer Kaffeekochen kann. (Einem anderen Gerücht zufolge hat jemand ein Skript geschrieben, um mit Emacs eine Kaffeemaschine steuern zu können :) Emacs ist hochgradig modular und keineswegs nur ein bloßer (LaTeX-)Editor! Je nach Zusammenstellung lässt sich Emacs als Texteditor, Browser, Jabber-Client, E-Mail-Client, zum Musik abspielen usw. nutzen. Alles in einem. Für manchen ein Segen, für den anderen kein Grund, um auf einen separaten Browser, Jabber-Client, Audio-Player usw. zu verzichten. Die Bedienung ist einigermaßen gewöhnungsbedürftig, das fängt schon bei den Tastenkürzeln an: Selbst Standard-Kommandos wie Ctrl-C (kopieren) und Ctrl-V (einfügen) sind anders belegt. Hat man sich aber erst einmal eingearbeitet, kann der Umgang mit Emacs eine enorme Zeitersparnis bedeuten, da er neben den für einen Texteditor zu erwartenden Funktionen noch eine ganze Reihe mehr bietet: Zum Beispiel Tastenkürzel, um ganze Textzeilen zu löschen oder nur die nächsten Wörter (statt wie sonst Zeichen). Das Modul "AucTeX" bringt eine TeX-sinnvolle Syntaxhervorhebung mit sowie alle Menüeinträge und Tastenkürzel, um häufig verwendete Befehle und Kompiliervorgänge auf Knopfdruck auszuführen. Obwohl sich eine Art Dokumentstruktur in der Seitenleiste nicht anzeigen lässt (so wie in Kile, TeXMaker und anderen), ermöglicht das AucTeX-Paket die Hervorhebung der klassischen Strukturanweisungen wie \section oder \part. Das sieht dann so ähnlich aus wie im Lyx-Editor. Auch ziemlich praktisch ist die Möglichkeit, mehrere Fenster gleichzeitig anzuzeigen und per Tastenkürzel zwischen ihnen zu wechseln.

Der Standard-Editor der KDE-Oberfläche ist Kate, ein wirklich vielfach unterschätztes Werkzeug, auch zum Bearbeiten von TeX-Code. Auf die Eigenheiten von Kate gehe ich an dieser Stelle nicht ein, nur so viel zum Gebrauch für LaTeX: Syntaxhervorhebung kein Problem, animierte Klammerpaare, Rechtschreibprüfung, Dokumentstatistik, Zeilennummern, automatische Einrückung. Funktionalität zum Kompilieren des Dokuments fehlt. Ich nehme Kate aber trotzdem gerne, da es sich damit einfach und übersichtlich arbeiten lässt.

Der Atom-Editor ist ein relativ neues Projekt, die stabile Version 1.0 erschien erst Mitte 2015. Der Editor selbst sieht sich als fortschrittlicher Editor für alle gängigen Programmiersprachen und ist entsprechend modular konzipiert, sodass er beliebig angepasst und erweitert werden kann. Die Entwickler haben den Atom-Editor entwickelt, um die besten Eigenschaften bisheriger Editoren (Vim, Emacs, Sublime und andere) zu vereinen. Wer den Sublime-Editor kennt, wird sich sofort zu Hause fühlen, denn der Atom-Editor wirkt wie ein Sublime-Klon.

Der Atom-Editor ist für alle Betriebssysteme verfügbar. Für GNU/Linux-Systeme gibt es vorkompilierte .deb- und .rpm-Pakete, als Abhängigkeit wird das Paket git verlangt, welches ggf. (über die Paketverwaltung) installiert werden muss.

Der Editor kann selbstverständlich wie jeder andere Text-Editor verwendet werden. Will man mit ihm speziell TeX-Quellcode kompilieren, muss man zunächst unter GNU/Linux das Paket latexmk nachinstallieren. Das ist sozusagen die Schnittstelle zwischen Editor und TeXLive-Distribution. Der Atom-Editor selbst besitzt ebenfalls eine Paketverwaltung, worüber er modular beliebig erweiterbar ist. Man ruft sie auf über Strg+Komma → dann auf den Tab Packages, im Suchfeld den Namen des Pakets eingeben und installieren. Alternativ kann man mit der Konsole arbeiten, wobei man einfach eingibt: apm install <Paketname>, z.B. apm install language-latex

Folgende Pakete sind für LaTeXer interessant:

  • Von Haus aus unterstützt der Atom-Editor kein Syntax-Highlithing für TeX-Code. Hierfür installiert man das Paket language-latex nach. Fortan werden Befehle, Argumente und andere wichtige Bausteine (je nach eingestelltem Farbthema) farblich hervorgehoben.
  • Zum Kompilieren von .tex-Dokumenten mit pdflatex, xelatex oder lualatex ist das Paket latex nachzuinstallieren. Nun können Dokumente mit dem Tastenkürzel Strg+Alt+B kompiliert werden; mit Strg+Alt+C (Clean) werden die erzeugten Metadateien wieder gelöscht. Das umfasst auch die erzeugte PDF-Datei! Um alle Metadateien außer die .tex und die .pdf zu löschen (so wie man es gewohnt ist), gibt man in den Einstellungen des latex-Pakets in der Zeile Clean Extensions vor, welche Dateitypen gelöscht werden dürfen, z.B. .aux, .fdb_latexmk, .fls, .log, .synctex.gz, .out
  • Das Paket autocomplete-bibtex erweitert den Atom-Editor um die Möglichkeit, eine .bib-Literaturbibliothek mit dem Projekt zu verbinden, sodass man bei Eingabe eines Tastenkürzels und eines Suchbegriffs ganze Zitate automatisch in den Quellcode einfügen lassen kann. Diese Funktion ist im Prinzip sehr nützlich und auch schon vom Sublime-Editor bekannt, jedoch scheint das Ganze im Atom-Editor noch nicht so richtig zu funktionieren. Jedenfalls führte bei meinen Versuchen das Einrichten der Datenbank-Quelle zu keinem Erfolg.

Man merkt an einigen Stellen, dass der Editor und seine Pakete noch nicht ausgereift sind. Zum einen ist da die Auffälligkeit, dass der Atom-Editor um einiges länger zum Starten und Laden von Dokumenten benötigt. Damit wirkt er im Gegensatz zum Sublime-Editor oder TeXMaker etwas schwerfällig. Außerdem fehlt weiterhin (wie auch beim Sublime-Editor!) die Möglichkeit zur Ansicht einer Dokument-Outline, d.h. der Dokumentstruktur (Kapitel, Unterkapitel, Label usw.) am Seitenrand des Editors, wie man es von fast allen TeX-Editoren kennt. Insgesamt punktet der Atom-Editor mit einer Menge Vorzügen, die man von einem modernen Multiplattform-Alleskönner-Editor erwartet. Außerdem ist er OpenSource und sieht auch noch verdammt schick aus. Allerdings ist die Bearbeitung eines umfangreichen TeX-Projektes momentan noch zu unvorteilhaft. Denn auch wenn ich als TeXer mit fortgeschrittener Erfahrung keine Buttons für bestimmte Kommandos mehr brauche – eine fehlende Möglichkeit für den Überblick über die Dokumentstruktur ist auch für mich ein K.O.-Kriterium.


Online-Editoren

In den letzten Jahren sind auch sog. LaTeX-Online-Editoren erschienen, darunter sind Overleaf, ShareLaTeX und Papeeria nur als wenige zu nennen.

Ihnen allen ist gemein, dass man vollständig im Browser arbeitet und keine eigene TeX-Installation benötigt. Per Klick auf den Kompilieren-Button (manche haben auch eine Live-Vorschau) wird das Dokument auf dem jeweiligen Server kompiliert und als PDF angezeigt, die dann heruntergeladen werden kann.

 

Das Prinzip ist eigentlich gar nicht so schlecht, weil man sich nicht mehr der zuweilen komplizierten Installation von Editor und Distribution abmühen muss (gerade für Anfänger ein abweisender Umstand): Nein, man gibt seinen Text ein (inkl. Dutzender Vorlagen für alle Gelegenheiten) und sieht sofort sein Ergebnis. Insbesondere für solche LaTeXer, die keine TeX-Distribution auf ihrem Computer installieren wollen oder können (Firmen-Rechner ohne Admin-Rechte!), sind solche Online-Editoren interessant. Ein Konto ist meist schnell und kostenlos angelegt. Ein nicht unwesentlicher Vorteil ist, dass man sein Dokument mit mehreren Leuten teilen kann, etwa wenn mehrere Kollegen an demselben Dokument arbeiten. Einige Editoren haben dafür auch eine Art "Änderungen nachverfolgen", das man aus den großen Textverarbeitungen her kennt und womit ersichtlich wird, wer welche Textpassagen verändert hat. Das Programm zum Kompilieren kann meist ebenfalls gewählt werden (XeLaTeX, pdfLaTeX usw.).

 

Nachteilig ist (wie bei allen Online-Diensten), dass der Quellcode prinzipbedingt auf fremde Server übertragen werden muss, um kompiliert zu werden. Also sollte man sich überlegen, ob unbedingt private Texte damit bearbeitet werden müssen. Je nach Anbieter kann man mit seinem kostenlosen Account auch nur wenige Dokumente anlegen oder erhält benachteiligte Server-Zeit für das Kompilieren. Auch kann es eine Einschränkung für die Dauer des Kompilierens geben, etwa: 1 min frei, alles Längere kostet). Obwohl die zur Verfügung stehenden Distributionen vollständig und aktuell sind (bei manchen kann man auch mehrere Veröffentlichungen auswählen, z.B. TeXLive 2014, 2015 oder 2016), fehlt die Möglichkeit, eigene Pakete einzubinden (selten notwendig). Ein Bezahl-Account hebt zumindest die Beschränkungen hinsichtlich Dokument-/Projekt-Anzahl, Kompilierzeit, Speicherplatz usw. auf.