Komfortable IDE für LaTeX

Aus LinuxUser 01/2011

Komfortable IDE für LaTeX

© Sascha Beck,sxc.hu

Satzschmiede

Sie haben schon immer mit TeX geliebäugelt, sich aber bisher nicht so recht an die komplexe Materie herangetraut? Probieren Sie es doch einfach mal mit der ausgefeilten TeX-IDE TeXWorks.

Eigentlich fällt die Arbeit mit Satzprogrammen wie TeX und dem darauf basierenden LaTeX nicht allzu schwer: Sie geben Ihren Text nicht in einer Textverarbeitung ein (obwohl auch das möglich wäre), sondern in einem Editor. Anschließend speichern Sie den Text und übersetzen ihn mit PDFLaTeX, XeLaTeX oder einem anderen TeX-Compiler. Als Ergebnis erhalten Sie im Idealfall (also, sofern keine Fehler auftraten) eine druckfertige Ausgabedatei, heute typischerweise ein PDF-Dokument.

Schwierigkeiten treten erst dann auf, wenn es zu Fehlern kommt oder der Text komplexe Strukturen annimmt. Hier verlieren ungeübte Anwender oft den Überblick und damit schnell auch die Lust auf das eigentlich geniale Satzsystem TeX. WYSIWYG-Editoren wie Gummi [1] zeigen bei kürzeren Texten direkt den aktuellen Satzzustand an, bei längeren Texten funktioniert das allerdings nicht mehr. Doch auch hier ersparen spezielle Editoren eine Menge Arbeit und damit Zeit, die dann für einen besseren Text zur Verfügung steht.

Bei TeXWorks ([2],[3]) handelt es sich um einen solchen Editor – mit speziellen Eigenschaften: Er beherrscht Unicode, verfügt über mehrstufiges Undo/Redo, eine Rechtschreibprüfung, Funktionen zum Suchen und Ersetzen (auch über reguläre Ausdrücke), kann beliebige Zeilen auskommentieren, hebt die TeX- und LaTeX-Syntax hervor und unterstützt Komplettierungen. TeXWorks unterstützt daneben SyncTeX und verfügt über einen eigenen PDF-Viewer. Zudem bietet er eine Reihe vorbereiteter Vorlagen für gängige Dokumententypen (einschließlich XeLaTeX).

Nach dem Programmstart präsentiert sich TeXWorks recht unspektakulär, wie Abbildung 1 zeigt. Dort sehen Sie links den Editor, rechts den Viewer. Beide lassen sich unabhängig voneinander positionieren und können auch verschiedene Seiten anzeigen, was beim manuellen Verbessern von Seitenumbrüchen hilft: Dazu müssen Sie eine weiter vorn im Quelltext stehenden Stelle editieren, die Ausgabe erfolgt aber an einer späteren Position.

Abbildung 1: TeXWorks kommt schlicht daher, die Besonderheiten stecken unter der Haube. Sofern der Bildschirm genügend Platz bietet, erweist sich die hier gewählte Platzierung der Fenster – links der Editor, rechts der Viewer – als effektivste Anzeigevariante.

Abbildung 1: TeXWorks kommt schlicht daher, die Besonderheiten stecken unter der Haube. Sofern der Bildschirm genügend Platz bietet, erweist sich die hier gewählte Platzierung der Fenster – links der Editor, rechts der Viewer – als effektivste Anzeigevariante.

Die Tastenkombination [Strg]+[Eingabe] – oder der kleine Rechtspfeil im Kreis aus der Werkzeugleiste (Setzen) – ruft den Compiler mit dem aktuellen Quelltext auf. TeXWorks öffnet dazu ein neues Fenster am unteren Rand des Editorfensters (Abbildung 2). Bei Fehlern erscheint dort zusätzlich eine Eingabezeile (Abbildung 3). Die Behandlung der Fehler erfolgt dort genau so, wie es auch auf der Kommandozeile möglich wäre.

Abbildung 2: Beim Kompilieren teilt TeXWorks den Editor-Bereich und zeigt die Ausgabe in einem neuen Abschnitt unterhalb des Quelltexts an.

Abbildung 2: Beim Kompilieren teilt TeXWorks den Editor-Bereich und zeigt die Ausgabe in einem neuen Abschnitt unterhalb des Quelltexts an.

Abbildung 3: Bei Fehlern erscheint die Compilerausgabe im unteren Fensterabschnitt. Dann stehen in der ganz unten angeordneten Eingabezeile die auch auf der Kommandozeile üblichen Möglichkeiten (<code srcset=

Eingabe,S,X,Q) zur Verfügung.” width=”300″ height=”137″ /> Abbildung 3: Bei Fehlern erscheint die Compilerausgabe im unteren Fensterabschnitt. Dann stehen in der ganz unten angeordneten Eingabezeile die auch auf der Kommandozeile üblichen Möglichkeiten (Eingabe,S,X,Q) zur Verfügung.

Komplettierungen

In LaTeX-Dokumenten gibt es zwei wesentliche syntaktische Fehlerquellen: Zum einen falsch geschriebene oder verwendete Befehle, zum anderen – besonders häufig – fehlende, überflüssige oder falsche Klammern.

Der ersten Fehlerquelle begegnet TeXWorks konsequent mit Komplettierungen. Sie schreiben im Editor also nur ein Befehlskürzel und ergänzen dieses via Tabulatortaste zum kompletten Befehl oder sogar einer ganzen Gruppe von Kommandos. Das garantiert in den meisten Fällen eine korrekte Syntax. Die Kürzel leiten sich mehr oder weniger mnemonisch von den Namen der Befehle her. In vielen Fällen genügt die Eingabe von zwei Buchstaben für den gewünschten Effekt. Erfreulicher Nebeneffekt: Den in TeX häufigen, im deutschen Tastaturlayout ärgerlicherweise aber schlecht integrierten Rückstrich (“Backslash”, \) müssen Sie dabei so gut wie nie eintippen. So ersetzt [Tab] beispielsweise se durch \section{ }, ch durch \chapter{ } und so weiter. Das gilt auch für ganze Umgebungen: So wird etwa das Kürzel bi zu:

\begin{itemize}
\item
<--
\end{itemize}

Hier symbolisiert <-- die Cursorposition nach dem Einfügen des Codes. Bei mehrdeutigen Kürzeln springt ein weiteres [Tab] zur nächsten Variante, bei Bedarf auch mehrmals. So expandiert bf zunächst zu \begin{frame}\end{frame}, dann zu \textbf{}, \bfseries, \begin{figure}\end{figure}, \begin{figure}[]\end{figure} (jeweils eingerückt) und noch vielen weiteren Codes. Die Tabelle “Wichtige Komplettierungen” fasst die wichtigsten Befehle zusammen.

TeXWorks unterstützt die üblichen Editorbefehle, wie die Tabelle “Voreingestellte Tastenbindungen” zeigt. Zum Bewegen im Editorfenster benutzen Sie die Pfeiltasten, die zusammen mit [Strg] auch wortweises Springen im Text ermöglichen. Mittels der Umschalttaste wählen Sie den überstrichenen Text auch gleich aus.

Wichtige Komplettierungen

Kürzel Ersetzungstext
ch \chapter{}
se \section{}
ss \subsection{}
toc \tableofcontents
babs \begin{abstract}\end{abstract}
bi \begin{itemize}\item\end{itemize}
it \item
be \begin{enumerate}\item\end{enumerate}
bcent \begin{center}RIR\end{center}
bq \begin{quote}\end{quote}
bmi \begin{minipage}{}\end{minipage}
btab \begin{tabular}{I}\end{tabular}
bverb \begin{verbatim}\end{verbatim}
ti \textasciitilde
foot \footnote{}
-- \textendash
--- \textemdash
lbl \label{}
ref \ref{}
bf \textbf{}
em \emph{}
dd \( \)
xa, xb \alpha, \beta (für alle griechischen Zeichen)
bequ \begin{equation}\end{equation}
beqn \begin{eqnarray}\end{eqnarray}
bpict \begin{picture}\end{picture}
incg \includegraphics{}
Eine vollständige Liste aller Komplettierungen finden Sie in den tw-*-Dateien unter ~/.TeXworks/completion/.

Voreingestellte Tastenbindungen

Tasten Wirkung
[Strg]+[Return] übersetzen
[Strg]+[A] alles auswählen
[Strg]+[Z] rückgängig machen
[Strg]+[Leer]+[Z] Redo
[F3] lange Zeilen (Zeilenumbruch im Editor) umschalten
[F4] Zeilennummer ein- oder ausblenden
[F9] Klammern ausgleichen
[Strg]+[N] neues Dokument
[Strg]+[Umschalt]+[N] neu aus Vorlage
[Strg]+[O] Dokument öffnen
[Strg]+[S] speichern
[Strg]+[Umschalt]+[S] speichern unter
[Strg]+[W] Dokument schließen
[Strg]+[Q] TeXworks beenden
[Strg]+[Z] Undo
[Strg]+[Umschalt]+[Z] Redo
[Strg]+[X] ausschneiden
[Strg]+[C] kopieren
[Strg]+[V] einfügen
[Strg]+[F] suchen
[Strg]+[G] erneut suchen
[Strg]+[R] ersetzen
[Strg]+[L] zu Zeile springen
[Strg]+[H] finde hervorgehoben Text
[Strg]+[A] alles auswählen
[Strg]+[K] löschen bis zum Zeilenende
[Strg]+[B] Klammern ausbalancieren
[Strg]+[>] einrücken
[Strg]+[Umschalt]+[>] ausrücken
[Strg]+[Umschalt]+[AltGr]+[9] auskommentieren
[Strg]+[Umschalt]+[AltGr]+[8] Kommentarzeichen entfernen
[Strg]+[Leer] zum Vorschaufenster wechseln
[Tab] Komplettierung
[Strg]+[Tab] zum nächsten Platzhalter springen

Anpassen und erweitern

TeXWorks erlaubt Ihnen, bestehende Komplettierungen anzupassen und auch eigene Ergänzungen zu definieren. Dazu gibt es im Verzeichnis ~/.TeXworks/completion/ eine Reihe von .txt-Dateien, deren Namen mit tw- beginnen. Diese liest TeXWorks beim Start automatisch ein. Jede Komplettierung besteht aus einer Zeile der Form alias:=Code.

Der erste Teil, alias:=, ist optional und kann gegebenenfalls entfallen. Der gesamte Code muss in einer Zeile stehen. In den Code-Teilen kennzeichnet ein Bullet (·, U+2022) diejenigen Stellen, an denen der Anwender Text einzufügen soll. Mit [Strg]+[Tab] und [Strg]+[Umschalt]+[Tab] springt der Cursor zwischen diesen Positionen hin und her. Die Zeichenkette #RET# fügt einen Zeilenumbruch ein, #INS# die Cursorposition nach dem Expandieren des Kürzels.

Fehlt der Alias-Teil einer Definition, erzeugt TeXWorks automatisch das Alias – für \rule{#INS#{}}) etwa \ru. Auch \r würde entsprechend expandiert, allerdings erst nach vielen anderen Versuchen. In diesem Beispiel platziert TeXWorks den Cursor gemäß der Anweisung #INS# zwischen Klammern und wechselt mit [Strg]+[Tab] zum zweiten, per Bullet markierten Argument.

Auch eigene Kürzel legen Sie in einer der Dateien im Completion-Verzeichnis von TeXWorks an. Das Programm berücksichtigt Änderungen oder Ergänzungen allerdings erst nach dem nächsten Programmstart.

Kommentare einsetzen

Sehr umfangreiche Dokumente speichert man meistens in Form mehrerer Dateien, oft kapitelweise, und fügt sie in einem Master-Dokument mittels \include zusammen. TeXWorks unterstützt diese Arbeitsweise durch das Einfügen eines speziellen Kommentars der Form:

% !TEX root = Pfad/Hauptdatei.tex

Die Angaben für den Pfad und den Namen der Hauptdatei ersetzen Sie dabei durch die konkreten Werte für das entsprechende Dokument. Anhand dieses Kommentars weiß TeXWorks, wie das Gesamtdokument heißt, und kann es bei Änderungen des Teildokumentes neu übersetzen. Diesen Kommentar müssen Sie manuell am Anfang der entsprechenden Dateien einbauen.

Bei großen Dokumenten erweist es sich auch als hilfreich, die einzelnen Abschnitte schnell erreichen zu können. Dabei hilft der Menüpunkt Fenster | Tags, der im Editorfenster eine kleine Seitenleiste mit entsprechenden Einträgen öffnet (Abbildung 4).

Abbildung 4: "Tags" verwaltet TeXWorks in einer Seitenleiste.

Abbildung 4: “Tags” verwaltet TeXWorks in einer Seitenleiste.

Neben % !TEX root gibt es noch weitere Kommentare dieser Art, deren Verwendungsmöglichkeiten die Tabelle “TeXWorks-Kommentare” zusammenfasst.

TeXWorks-Kommentare

Kommentar Bedeutung Werte (Beispiel)
% !TEX root = Pfad/Hauptdatei.tex Name der Hauptdatei, zu der das Dokument gehört
% !TEX TS-program = Compiler Compiler zum Übersetzen des Quelltexts xelatex, pdflatex, luatex, vtex, …
% !TEX encoding = Encoding Kodierung, mit der TeXWorks das Dokument speichert UFT-8, LATIN1, …
% !TEX spellcheck = Sprache Sprache für die Rechtschreibprüfung (RFC4647) de_DE, en_US, fr_FR, …

Einstellungen

Über den Menüpunkt Bearbeiten | Einstellungen gelangen Sie in ein Fenster, in dem Sie auf mehreren Reitern einige Vorgaben des Programms ändern können (Abbildung 5). Die meisten der dort vorhanden Punkte fallen selbsterklärend aus.

Abbildung 5: TeXWorks verfügt nur über einige wenige Einstellungen.

Abbildung 5: TeXWorks verfügt nur über einige wenige Einstellungen.

Besonders interessant ist der Reiter Skripte: Dort gibt es die Option, Skripten die Ausführung externer (System-)Befehle zu erlauben, was natürlich weitreichende Möglichkeiten bietet. Bisher unterstützt TeXWorks dabei die Skriptsprachen QtScript, Lua und Python. Mehr Informationen dazu finden Sie bei Interesse auf der TeXWorks-Website [4].

Zur Rechtschreibprüfung verwendet TeXWorks die gleiche Software wie OpenOffice und erwartet ihre Wörterbücher unter /usr/share/myspell/dicts. In den Einstellungen wählen Sie im Reiter Editor unter Sprache für die Rechtschreibprüfung das verwendete Wörterbuch aus.

Viele der Einstellungen von TeXWorks lassen sich allerdings nur über dessen Konfigurationsdateien beeinflussen, die im Verzeichnis ~/.TeXworks/configuration/ lagern. So ändern Sie die Tastenbindungen beispielsweise in der Datei shortcuts.ini. Sie sieht voreingestellt so aus:

actionHard_Wrap = Shift+F3
...
actionTypeset = Ctrl+Return

Links steht jeweils eine Aktion [5], rechts die aufrufende Tastenbindung. Hier können Sie sich nach Herzenslust austoben.

Fazit

TeXWorks erweist sich als leistungsfähige IDE, die so manchen Konkurrenten weit hinter sich lässt. Man merkt dem Programm an, dass es aus der Praxis stammt und von (La)TeX-Nutzern entwickelt wurde.

Natürlich bedarf es einer gewissen Einarbeitung, doch dann steht einer effektiven Formatierung nichts mehr in Weg. Auch die Zukunftspläne der TeXWorks-Entwickler lassen aufhorchen. Zu den angedachten Möglichkeiten zählen:

  • das Einbinden externer Editoren,
  • das Wegfalten nicht benötigter Dokumententeile,
  • konfigurierbare Werkzeugleisten für (mathematische) Symbole und Befehle,
  • das Einbinden von Bildern in unterschiedlichen Formaten (eventuell mit automatischer Konvertierung),
  • der direkte Zugriff auf die Dokumentationen (das entspricht texdoc) der (La)TeX-Pakete,
  • ein erweitertes Skripting,
  • sowie deutlich ausgebaute PDF-Fähigkeiten bis hin zum Einbetten von Multimedia-Daten.

Selbst den Autoren, einen LaTeX-Profi und eingefleischten Emacs-Anhänger, halten nur drei fehlende Features vom Umstieg auf TeXWorks ab: Es fehlt ein dynamische Komplettieren von Wörtern aus den aktuell geladenen Dokumenten, Tastenbindungen lassen sich nicht beliebig frei zuordnen, und Markierungen im Text unterstützt TeXWorks bisher nicht ausreichend. 

Glossar

SyncTeX

Moderne TeX-Compiler und -Viewer lassen sich über diese Schnittstelle miteinander so synchronisieren, dass ein Mausklick in der Ausgabedatei den Cursor an der entsprechenden Stelle im Quelltext positioniert. Bei TeXWorks müssen Sie dazu gleichzeitig [Strg] drücken.

Infos

[1] LaTeX-Editor Gummi: Karsten Günther, “Strapazierfähig”, LU 07/2010, S. 58,

[2] TeXWorks: http://tug.org/texworks/

[3] TeXWorks herunterladen: http://code.google.com/p/texworks/https://www.linux-community.de/21113

[4] Skripte verwenden: http://code.google.com/p/texworks/wiki/ScriptingTeXworks

[5] TeXWorks-Aktionen: http://www.leliseron.org/texworks/actions_alpha.txt

LinuxUser 01/2011 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

2 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Paul G.
15 Jahre her

IDE = integrierte Entwicklungsumgebung != GUI

Markus Berlin
15 Jahre her
Reply to  Paul G.

“A new version of TeX, rewritten from scratch and called TeX82, was published in 1982. […] TeX82 also uses fixed-point arithmetic instead of floating-point, to ensure reproducibility of the results across different computer hardware, and includes a real, Turing-complete programming language” http://en.wikipedia.org/wiki/TeX

Nach oben