programme:emacs

Emacs

Im Folgenden wird beschrieben, wie Emacs für die Verwendung von LaTeX eingerichtet werden kann. Der Screenshotzeigt Emacs mit AUCTeX und dem Inhaltsverzeichnis von RefTeX.

AUCTeX Mode

Syntax Highlighting

Die Übersichtlichkeit eines LaTeX-Dokumentes wird erhöht, wenn sich Befehle farblich unterscheiden. Darüber hinaus sind im linken screenshot die preview Möglichkeiten von AUCTeX dargestellt.

Für die farbliche Darstellung (und die vergrößerte Überschriftenschrift) muss die Datei ~/.emacs eventuell um folgende Zeilen erweitert werden. Der globale font-lock-mode steuert das Verhalten. Im folgenden code snippet wird dieser für alle modes aktiviert die font-lock unterstützen.

  (cond ((fboundp 'global-font-lock-mode)
  ;; Turn on font-lock in all modes that support it
  (global-font-lock-mode t)
  ;; Maximum colors
  (setq font-lock-maximum-decoration t)))

Der AUCTeX Mode erleichtert die Arbeit mit LaTeX-Dokumenten erheblich: es werden Makros bereitgestellt, mit deren Hilfe Überschriften, Umgebungen und Befehle sehr schnell eingefügt werden können. AUCTeX erkennt, ob mit dem nächsten 'auszuführenden Befehl' der Buffer kompiliert werden muß, ob der Viewer geöffnet werden kann oder ob man mit BibTeX kompilieren soll. Einen ersten Überblick erhält man auf der AUCTeX Homepage. Wie dieser Major-Mode für Emacs zu installieren ist, hängt wiederum vom Paketverwaltungssystem der verwendeten Linux Distribution ab. Auch unter Windows ist AUCTeX zum download verfügbar.

Um AUCTeX-Mode bei .tex-Dokumenten verwenden zu können, sind eventuell noch folgende Einträge in ~/.emacs nötig:

  (setq TeX-auto-save t)
  (setq TeX-parse-self t)
  (setq-default TeX-master nil)

Übersicht einiger wichtigen AUCTeX Befehle

  • LaTeX-environment (C-c C-e) fügt eine LaTeX-Umgebung ein. Führt man den Befehl z.B. in einem leeren .tex-Dokument aus, schlägt AUCTeX vor, ein \documentclass einzufügen, und fragt anschließend nach den gewünschten Optionen. Da sich die Liste von möglichen Umgebungen ändert, wenn zusätzliche Pakete geladen werden, sollte nach Einfügen eines neuen Pakets (wie amsmath) AUCTeX aktualisiert werden (LaTeX → Miscellaneous → Reset AUCTeX oder (C-u C-c C-n)). Wird der Befehl in mitten eines Dokumentes ausgeführt so lassen sich damit sehr einfach Umgebungen im Stile \begin{$env} \end{$env} erzeugen.
  • LaTeX-section (C-c C-s) erzeugt eine Überschrift.
  • TeX-command-master (C-c C-c) für das LaTeX Kommando aus. Nach erneutem Ausführen des Makros wird entweder ein weiteres Mal LaTeX ausgeführt (falls noch unaufgelöste Referenzen vorhanden sind), oder ein Viewer gestartet. Eine Übersicht der möglichen ausführbaren Befehle erhält man, indem man nach (C-c C-c) die Tabulatortaste drückt.
  • C-c C-t C-p (ab AUCTeX version 11.50) Zwischen PDF/DVI-mode wechseln. Je nachdem wird das Dokument nach Aufruf von TeX-command-master mit „pdflatex“ oder „latex“ kompiliert.

Arbeiten mit Masterdokument

Wir empfehlen folgende Ergänzung in der ~/.emacs vorzunehmen:

(setq-default TeX-master nil)

Das führt dazu, dass emacs beim Erstellen einer neuen *.tex Datei automatisch nach der Masterdatei fragt. Damit sollte am Ende des Dokumentes folgende Zeilen auftauchen:

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "main"
%%% End: 

Falls Sie immer den selben Dateinamen für das Masterdokument verwenden könnten sie auch diesen Namen direkt in der ~/.emacs Datei angeben, z.B.:

(setq-default TeX-master "main")

Preview-LaTeX

Ein empfehlenswertes Feature ist auch das in AUCTeX mittlerweile inkludierte Preview-LaTeX. Dieses rendert wahlweise Formel, Bilder, Überschriften,.. in den Editor:

Preview-LaTeX ist relativ einfach zu verwenden - (C-c C-p C-d) rendert alle vorhandenen Grafiken, Formeln usw. des vorliegenden Dokuments. Bewegt man den Cursor in eine Formel, kann diese editiert werden, mit (C-c C-p C-p) erhält man die gerenderte Vorschau.

RefTeX Mode

RefTeX bietet Unterstützung beim Beschriften und Referenzieren von Konstruktionselementen (section, figure,..). Navigation durch das Inhaltsverzeichnis sind möglich, und auch das Zitieren mit BibTeX wird unterstützt. Der linke Screenshot zeigt das Inhaltsverzeichnis mit Navigationsbalken, rechts wird eine einzufügende Referenz ausgesucht:

RefTeX ist in aktuellen Emacs Version bei der Grundinstallation enthalten, für XEmacs kann es nachträglich installiert werden. Sollte RefTeX im Paketverwaltungssystem der verwendeten Distribution nicht enthalten sein, kann man es von der RefTeX Homepage beziehen. Die Konfigurationsdatei ~/.emacs sollte folgendermassen angepaßt werden:

  (add-hook 'LaTeX-mode-hook 'turn-on-reftex)   ; with AUCTeX LaTeX mode

Übersicht der wichtigsten RefTeX Befehle

  • C-c = öffnet eine Inhaltsangabe; '?' zeigt die Hilfe an
  • C-c ( fügt eine Beschriftung (\label) ein
  • C-c ) fügt eine Referenz (\ref) ein
  • C-c [ greift auf die eingetragene Bibliography-Datei zu, diese kann anschliessend nach Einträgen untersucht werden - die ausgewählte Referenz wird per /cite eingefügt.

BibTeX Support

Emacs mit AucTeX-Mode sucht sich nach C-c C-c selbst aus, ob LaTeX oder BibTeX anzuwenden ist. Auch hier muss öfters kompiliert werden, sodass alle Warnungen bezüglich undefinierter Referenzen verschwinden.

programme/emacs.txt · Zuletzt geändert: 31.08.2010 13:33 von Michael Hammer