Juristische Texte mit dem Textsatzsystem LaTeX

Inhaltsverzeichnis

Dass die üblichen Textverarbeitungen wie Word, die nach WYSIWYG arbeiten, manchmal nerven, darauf braucht hier nicht eingegangen zu werden. Ich vermute, dies liegt vornehmlich an der Komplexität der Programme, die gerade von der Darstellung des „fertig gesetzten“ Textes am Bildschirm herrührt. Doch woran es auch liegen mag, dass diese Programme so unzuverlässig funktionieren, ist eigentlich zweitrangig; festzuhalten ist für die Praxis, dass Word & Co. eindeutige Schwächen haben - und dass es für bestimmte Arten von Dokumenten bessere Alternativen gibt.

Im Folgenden möchte ich die Arbeitsumgebung vorstellen, die mir bereits im Studium gute Dienste geleistet hat und mit der ich auch heute noch arbeite, wenn ich nicht mit dem Rest der Welt kompatibel sein muss.

1 Textverarbeitungen gegenüber Auszeichnungssprachen wie LaTeX

Auch wenn hier nicht weiter auf die Schwächen der WYSIWYG-basierten Lösungen eingegangen werden soll, so möchte ich dennoch die Vorteile von Auszeichnungssprachen wie LaTeX gegenüber dieser Programmgattung hervorheben.

1.1 Auszeichnungssprachen reduzieren Komplexität

Auszeichnungssprachen wie LaTeX trennen das Schreiben vom Setzen des Dokuments und reduzieren damit die Komplexität zumindest während der Schreibphase. Der Text kann in einem beliebigen Texteditor geschrieben werden. Dabei werden Überschriften, Fußnoten, eben alle Gliederungselemente und Formatierungen lediglich logisch ausgezeichnet. Wie das konkret aussieht, kann unten im Beispiel gesehen werden. Erst im zweiten Schritt erfolgt dann das Setzen des Textes in ein fertiges Dokument - im Falle von LaTeX regelmäßig in ein PDF-Dokument.

Die Möglichkeit, einen beliebigen Texteditor zum Schreiben seiner Texte verwenden zu können, versetzt den Anwender in die Lage, sich ein Programm aussuchen zu können, mit welchem er nicht nur gut klar kommt, sondern welches auch rock-solid, sprich ausgereift und absturzsicher ist - wie der GNU Emacs.

1.2 Vor- und Nachteile des Textsatzsystems LaTeX im Überblick

Nur ganz kurz soll auf die Vor- und Nachteile des Textsatzsystems LaTeX aus meiner Sicht eingegangen werden. Und ja, natürlich hat LaTeX auch Nachteile; diese sollen hier keinesfalls verschwiegen werden.

Vorteile:

  • Sehr hochwertiges Satzergebnis
  • Arbeit mit einem beliebigen ausgereiften Texteditor (keine Abstürze) wie Emacs oder vim
  • Robuste Textdateien
  • Versionsverwaltung wie git oder subversion einsetzbar
  • Sehr zuverlässige Erstellung von Inhalts- und anderen Verzeichnissen
  • Kein „Verrutschen“ irgendwelcher Textelemente, Fußnoten sind auf der richtigen Seite
  • kostenlos für alle wesentlichen Plattformen verfügbar
  • Minimalistisch (reduziert unnötige Komplexität)
  • Zuverlässige Möglichkeit, eine Bibliographie einzubinden (wenn man denn mag)

Nachteile:

  • Recht hoher Einarbeitungsaufwand
  • Layoutanpassungen kompliziert
  • Einige Verlage sollen auf einer Word-Datei bestehen. Im schlimmsten Fall muss die LaTeX-Datei in das Word-Format konvertiert werden; auch dafür gibt es unterschiedliche Tools. Auch wenn das unschön ist, profitiert man weiterhin von den Vorteilen während der Schreibphase.

Für mich das wesentliche Argument für LaTeX: Die tägliche Arbeit läuft - hat man sich erst eingearbeitet - weitaus einfacher und unproblematischer ab als mit WYSIWYG-Textverarbeitungen. Ich habe nicht mit verrutschenden Fußnoten, farblichen Markierungen, die sich auf einmal nicht mehr löschen lassen (das hatte ich erst kürzlich bei Word), durcheinandergewürfelten Formatierungen und Programmabstürzen oder anderen Widrigkeiten zu kämpfen. Natürlich ist kein Programm perfekt, aber mit meiner jetztigen Emacs-Lösung geht mir das Arbeiten weitaus entspannter von der Hand - und das ist gerade bei umfangreichen Dokumenten wichtig.

1.3 Wie sieht das Arbeiten mit LaTeX konkret aus?

Beispiele, wie eine LaTeX-Quelldatei aussehen kann, gibt es im Web viele. Häufig werden dabei aber viele unterschiedliche Befehle und sogar Formeln demonstriert, so dass der Jurist sich schnell wieder abwendet. Allerdings werden gerade für juristische Arbeiten nur sehr wenige der vielen Befehle benötigt. Damit man sich besser eine Vorstellung davon machen kann, wie die (juristische) Arbeit mit LaTeX aussehen kann, folgt nun ein Ausschnitt aus einer LaTeX-Quelldatei, in der ein paar der wichtigsten Auszeichnungen verwendet werden, die in der täglichen Arbeit gebraucht werden.

\section{Einleitung}

Dies ist ein kurzer Text, der zeigen soll, wie die Arbeit mit LaTeX aussehen
kann.\footnote{Und das ist eine Fußnote.} LaTeX verfügt über sehr viele hilfreiche
Funktionen. Möchte man beispielsweise ein Stichwortverzeichnis automatisch erstellen
lassen, so kann man im Text die entsprechenden \index{Wörter} einfach markieren und 
LaTeX stellt später ein Stichwortverzeichnis samt Seitenangaben zusammen. 
Mehr dazu unten.

Aufzählungen werden folgendermaßen ausgezeichnet.

\begin{itemize}
\item{Erster Punkt}
\item{Zweiter Punkt}
\item{Dritter Punkt}
\end{itemize}

Das soll es unter dieser Überschrift erstmal sein.

\subsection{Überschrift eine Ebene tiefer}

Wenn es notwendig ist, kann man Wörter auch als \textbf{fett} oder \textit{kursiv}
markieren sowie unzählige andere Auszeichnungen nutzen.

\subsection{Nochmal eine Überschrift auf gleicher Ebene}

Und noch mehr Text. Und so weiter und so fort...

Eine solche Quelldatei wird mit einem beliebigen Texteditor erstellt. Auf die Wahl des Editors werde ich gleich noch kurz eingehen, obwohl hier natürlich klar ist, dass es der Emacs werden wird. Es gibt aber auch noch einige andere Editoren, die die Eingabe der LaTeX-Befehle sehr vereinfachen und teilweise die Lesbarkeit der Quelldatei auf verschiedene Weise erleichtern.

Nachdem der Text im Quellformat geschrieben wurde, ruft man (i.d.R. direkt aus seinem LaTeX-Editor) das Programm pdfLaTeX auf, welches die Quelldatei in ein sauber gesetzes PDF-Dokument übersetzt.

Eine einfache und vollständige LaTeX-Quelldatei ist im Wikipedia-Artikel über LaTeX zu finden.

2 Konfigurationen, Workflows und andere „Kniffe“

Wenn Sie nun überzeugt sind vom systematischen Ansatz von Auszeichnungssprachen und das Textsatzsystem LaTeX als Ihre Lösung in Betracht ziehen, folgt nun die Erläuterung der Einrichtung einer entsprechenden Arbeitsumgebung.

2.1 Die Wahl der Arbeitsumgebung - Der GNU Emacs

LaTeX-Quelldateien werden im Plain Text geschrieben. Grundsätzlich ist es daher möglich, jeden Texteditor zum Schreiben von LaTeX-Dokumenten zu verwenden. Es haben sich jedoch eine Reihe von Editoren herausgebildet, die spezielle Funktionen enthalten, um insbesondere die Eingabe der LaTeX-Befehle zu vereinfachen. Eine Übersicht ist in der Wikipedia zu finden.

Mit der genannten Emacs-Erweiterung AucTeX gibt es ein hervorragendes System für den Umgang mit LaTeX-Dateien. RefTeX erleichtert zudem das Referenzieren und previewlatex kann bei Bedarf WYSIWYG-Elemente im Emacs anzeigen, so dass die LaTeX-Quelldatei (noch) besser lesbar wird. Eine grundlegende Einführung in den Emacs als LaTeX-Editor findet sich u.a. in dem Buch LaTeX - Der Typographische Einstieg von Tobias Berndt, welches kostenlos bei PaperC gelesen werden kann.

Gerade für den Juristen bietet sich meiner Ansicht nach der Emacs an, denn für juristische Texte benötigen wir die vielen Funktionen, die LaTeX bietet, kaum. Im Gegensatz zu anderen Editoren kann man beim Emacs sehr schön nicht benötigte Optionen ausblenden und auch den Quelltext durch den sog. fold-mode besser lesbar machen. Die zum Schreiben juristischer Texte wenigen benötigten Tastenkombinationen hat man schnell gelernt - so dass auf bunte Icons zum Klicken verzichtet werden kann.

2.2 Bedienung des Editors GNU Emacs mit AucTeX unter MacOS X („Snow Leopard“)

Als kleiner Merkzettel im Folgenden die wichtigsten Befehle bei der Arbeit mit den GNU Emacs als LaTeX-Editor. Ein paar Befehle habe ich an meine eigenen Bedürfnisse angepasst. Die notwendigen Konfigurationen werden anschließend dokumentiert.

2.2.1 Tastaturbelegung unter MacOS X bei deutscher Tastatur

Setzt man den originalen Emacs ein, so muss man sich - zumindest als Verwender einer deutschen Tastatur - Gedanken über die gewünschte Tastenbelegung machen. Denn der Emacs wurde für PC-Tastaturen entwickelt; auf dem Mac sieht das alles etwas anders aus. Im Kern geht es darum, dass in der Grundeinstellung der Emacs Metakey auf die Taste Alt gelegt wird, diese Taste aber bei einer deutschen Tastaturbelegung für die Eingabe einiger Zeichen, wie eckige und geschweifte Klammern, das @-Zeichen oder die Tilde gebraucht wird. Weitere Erläuterungen dazu mit unterschiedlichen Lösungsvarianten findet man bei enqueu.eu. Ich benutze ganz schlicht die folgende Variante, mit der ich die die Cmd-Taste zur meinem Emacs-Metakey mache und somit auf spezielle Mac-Befehle im Emacs verzichte:

(setq ns-alternate-modifier 'none) ;; Meta weg vom Option Key
(setq ns-command-modifier 'meta) ;; Cmd-Key ist Meta

Dies ist bereits oben im Rahmen der Grundkonfiguration besprochen worden.

2.2.2 Übersicht der wichtigsten Tastenkombinationen

Die allerwichtigsten Befehle für den täglichen Umgang mit meiner LaTeX-Umgebung in der Übersicht (M = Meta = Cmd-Taste, C = Ctrl).

Funktion Tastenkombination
Wörter springen M-Pfeiltasten
An den Zeilenanfang springen C-a
Ans Zeilenende springen C-e
Buffer wechseln F1 (*)
Absatz auffüllen M-q
Undo C-_
Einfügen einer neuen Überschrift C-c C-s
Einfügen einer Fussnote C-c C-f C-f (*)
Fold-Mode (de)aktivieren C-c C-o C-f
Alles zusammenfalten C-C C-o C-b
Markieren einer Quelle mit TODO C-c C-f C-t (*)
Löschen der TODO-Markierung C-c C-f C-d
Markierung setzen C-Space
Markierten Text ausschneiden C-w
Markierten Text kopieren M-w
Markierten Text einfügen C-y
Inhaltsverzeichnis anzeigen (RefTeX) M-t

(*) Diese Befehle habe ich angepasst. Dazu unter der nächsten Überschrift.

2.2.3 Spezielle Anpassungen - Fußnoten einfügen, TODO-Markierung und Buffer wechseln

Die meisten der o.g. Befehle sind standardmäßig in Emacs bzw. AucTeX so vorgesehen. Einige habe ich jedoch selbst definiert. So habe ich zum Einfügen von Fußnoten und der TODO-Funktion die Font-Anweisungen von AucTeX umfunktioniert. Dazu ist folgendes notwendig.

  • Im Menü LaTeX - Customize AUCTeX - Tex Macro - Latex Macro - Latex Font List aufrufen.
  • Dort bei ^F ein \footnote{} und bei ^T ein \todo{} hinterlegen.

Nun sollte man mit C-c C-f C-f eine Fußnote und mit C-c C-f C-t eine TODO-Anweisung eingeben können. Es ist dabei auch möglich, einen Text, der von der Anweisung eingeschlossen werden soll, vorher zu markieren. Soll die Anweisung wieder gelöscht werden - im Falle von TODO - so reicht es, den Kursor in der Anweisung zu platzieren und C-c C-f C-d einzugeben.

2.3 Verweise innerhalb des Dokuments

Häufig möchte man innerhalb des eigenen Dokuments verweisen. Es ist sehr unschön, wenn man nach Fertigstellung der Arbeit alle diese Referenzierungen erneut kontrollieren muss. Mit LaTeX kann man sich diese Arbeit sparen, wenn man folgende Befehle zur Referenzierung benutzt.

Kapitel mit Anker (werden von AucTeX automatisch erstellt):

\section{Formelsammlung}
\label{sec:Formeln}

Dann kann man irgendwo schreiben:

Wie bereits in Kapitel~\ref{sec:Formeln} auf Seite~\pageref{sec:Formeln} beschrieben...

Daraus wird dann etwas wie „Wie bereits in Kapitel 1.3 auf Seite 24 beschrieben…“. Die Tilde („~“, am Mac Alt+n) bezeichnet bei LaTeX im Übrigen ein geschütztes Leerzeichen.

2.4 Stichwortverzeichnis erstellen

Sehr praktisch ist es auch, LaTeX ein Stichwortverzeichnis erstellen zu lassen. Wie bereits im Beispiel oben werden hierzu einfach die jeweiligen Stichworte im Text markiert.

\index{Stichwort}

Das Stichwortverzeichnis wird dann an der Stelle des Dokuments ausgegeben, an der der folgende Eintrag vorgenommen wurde.

\renewcommand{\indexname}{Stichwortverzeichnis}
\printindex

Mit dem Aufruf des folgenden Kommandos wird ein Index erstellt, der beim nächsten Kompilieren des Dokuments eingebunden wird. Dabei gibt die Datei index.ist das Layout des Verzeichnisses an.

$ makeindex -g -s index.ist Dissertation

Hier eine index.ist:

quote '+'
headings_flag 1
heading_prefix "{\\bf "
heading_suffix "}\\nopagebreak%\n \\indexspace\\nopagebreak%"
delim_0 "\\dotfill "
delim_1 "\\dotfill "
delim_2 "\\dotfill "
delim_r "~--~"
suffix_2p "\\,f"
suffix_3p "\\,ff"

2.5 Einbinden einer Literaturverwaltung

Mit Hilfe des Programms BibTeX ist es möglich, das LaTeX-Dokument mit einer Bibliographie zu verbinden. Ich sage es gleich: Ich verwende es nicht! Da es aber eine durchaus interessante Sache ist, möchte ich hier kurz darauf eingehen - und auch meine Gründe nennen, warum ich es nicht einsetze. Über Feedback würde ich mich sehr freuen. Vielleicht liege ich mit meiner Einschätzung völlig daneben.

Die Vorteile der Einbindung der Bibliographie liegen auf der Hand: Fußnoten und Einträge im Literaturverzeichnis sind immer gleich formatiert; im Literaturverzeichnis erscheinen alle zitierten Quellen - nicht mehr und nicht weniger. Von daher wäre es eine feine Sache.

Dass ich mich letztlich aber doch gegen die Einbindung der Bibliographie entschieden habe, hat zwei Gründe:

  • Zunächst ist es eine unheimliche Arbeit, den Zitierstil an die eigenen Bedürfnisse anzupassen.
  • Letztlich ausschlaggebend für mich war aber, dass ich den Eindruck hatte, dass der notwendige „Workflow“ nicht zu meiner Arbeitsweise passt und es mir daher bei der täglichen Arbeit mehr im Weg steht als es am Ende hilft, also Korrekturaufwand reduziert. Vielleicht ist das eine geschickte Umschreibung dafür, dass ich nicht diszipliniert genug bin, konsequent mit einer Literaturverwaltung zu arbeiten. Unten gehe ich noch näher darauf ein, weshalb ich Quellenangaben weiterhin manuell pflege. Es würde mich jedoch sehr interessieren, ob und wie andere Juristen mit Literaturverwaltungen umgehen.

Bei meinen Recherchen bin ich auf gute Quellen zum Thema gestoßen, die ich hier noch kurz anbringen möchte.

2.6 Der Umgang mit Quellenangaben

2.6.1 Keine Automatisierung mit BibTeX

Ich habe oben schon erwähnt, dass ich nicht BibTeX verwende, um Quellenangaben in meine Texte einzubinden. Vielleicht fehlt mit einfach die Disziplin, das Konzept stringend umzusetzen. Oder meine Arbeitsweise passt einfach nicht dazu: Wenn ich eine Quelle, z.B. einen Aufsatz oder Kommentar verarbeite, dann übernehme ich viele Zitate zunächst „blind“, ohne dass mir die für die Aufnahme des Titels in die Literaturverwaltung erforderlichen Daten vorliegen. Ich übernehme vielmehr das Zitat direkt in meine Fußnote und markiere sie entsprechend, damit ich später weiß, dass ich die Quelle noch nicht selbst eingesehen habe. Ein Hin- und Herspringen zwischen Schreibwerkzeug und Literaturverwaltung hat sich für mich als äußerst uneffektiv herausgestellt. Wenn mich jemand eines Besseren belehren kann, sehr gerne! Schreiben Sie mir eine E-Mail.

2.6.2 Die manuelle Variante: Zu kontrollierende Quellenangaben markieren

Besonders der Umgang mit Quellenangaben hat mich bei der Arbeit im Plain Text zunächst vor Probleme gestellt. Denn ich hatte es mir angewöhnt, Quellenangaben, die ich noch nicht selbst kontrolliert hatte, sondern in einem Aufsatz etc. gefunden hatte, zwar direkt zu übernehmen, aber farblich zu markieren, um zu wissen, dass ich sie beim nächsten Bibliotheksbesuch kontrollieren muss. Solche farblichen Markierungen sind nunmal im Plain Text nicht möglich. Ich habe dieses „Problem“ für mich folgendermaßen gelöst:

Roter Text in der gesetzten PDF-Fassung

Damit die noch zu kontrollierenden Quellenangaben in der PDF-Fassung meiner Arbeit vorgehoben sind, habe ich den folgenden eigenen LaTeX-Befehl kreiert, der lediglich dafür sorgt, dass der Text rot gefärbt wird, wenn ich ihn mit \todo{} einschließe.

\newcommand{\todo}[1]{\textbf{\textcolor{red}{#1}}}

Oben habe ich bereits erläutert, dass ich diese Markierung mit der Tastenkombination C-c C-f C-t einfüge und später mit C-c C-f C-d wieder lösche.

Syntax-Highlighting im Emacs

Um auch in der Editierfassung im Emacs leicht erkennen zu können, wo noch zu kontrollierende Quellenangaben stehen, habe ich durch folgenden Eintrag in meiner Emacs-Konfiguration das Syntax Highlighting von AucTeX angepasst.

(custom-set-variables
  ;; custom-set-variables was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 '(font-latex-user-keyword-classes (quote (("my_todo" (("todo" "{")) 
    (:underline "red" :foreground "black" :background "red") command)))))

Diesen Eintrag habe ich natürlich nicht manuell vorgenommen, sondern über "M-x customize-variable" die o.g. Variable font-latex-user-keyword-classes bearbeitet. Dort habe ich die folgenden Einträge in der Eingabemaske vorgenommen:

  • Name: my_todo
  • Keyword: todo
  • Format specifier: {
  • Face attributes: Background: red

Nun sollte im Emacs der Text zwischen den Klammern, also die noch zu kontrollierende Quellenangabe einen roten Hintergrund haben. Weitere Informationen sind in der AucTeX-Dokumentation unter fontification of macros zu finden.

2.7 Das Literaturverzeichnis manuell pflegen

Da ich mein Literaturverzeichnis nicht automatisch durch BibTeX generieren lasse, muss ich es von Hand erstellen und pflegen. Das Schreiben und Verwalten von Tabellen in LaTeX ist leider ein recht unschönes Unterfangen; ich verwende daher einen Minor-Mode aus dem Org-Mode, den sog. orgtbl-mode. Dieser Mode ermöglicht es mir, Tabellen in einer sehr komfortablen Weise zu schreiben und die Tabelle anschließend auf Befehl in die LaTeX-Syntax umzusetzen. Eine sehr fuchsige Lösung, wie ich finde.

Mein Literaturverzeichnis hat eine eigene Datei bekommen, die mit dem folgenden Befehl in das Hauptdokument eingebunden wird.

\input{Literaturverzeichnis.tex} % Manuelles Literaturverzeichnis

Die Datei Literaturverzeichnis.tex sieht folgendermaßen aus. Im oberen Bereich befindet sich nach den Kommentaren die zu pflegende Tabelle in der Org-Mode-Syntax. Diese wird durch den Comment-LaTeX-Befehl auskommentiert, so dass sie nicht in der LaTeX-Ausgabe landet. Durch die Eingabe von C-c C-c mit dem Kursor in der Org-Mode-Tabelle wird diese in die LaTeX-Syntax übersetzt und die LaTeX-Fassung unten im Dokument wird ersetzt.

% Diese Datei beinhaltet das manuell erstellte Literaturverzeichnis.
% Sie wird in das Hauptdokument dissertation.tex eingebunden.
% =======================================================================================
% Tabellen in LaTeX zu schreiben macht nicht wirklich Spaß. Mehr Spaß macht die Magie des
% OrgTbl-Mode. In dieser Datei kann die Liste der Literatur im Rahmen des folgenden
% LaTeX-Kommentars bearbeitet werden. Durch C-c C-c wird die Tabelle in die LaTeX-Syntax
% exportiert und unten eingefügt bzw. aktualisiert.
% =======================================================================================

% Tabelle in der Orgmode-Syntax (Aktualisieren der LaTeX-Ausgabe unten mit C-c C-c):
% =======================================================================================

\begin{comment}
#+ORGTBL: SEND Literatur orgtbl-to-latex
| Mayer, Carl    | Besteuerung von Aktien- und Umtauschanleihen, DStR 2009, 234 ff. |
| Eberhart, John | Das Haus am See, 3. Auflage, München 2007                        |
|                |                                                                  |
|                |                                                                  |
\end{comment}

% =======================================================================================
% Folgendes nicht händisch editieren! Es wird automatisch aktualisiert.
% =======================================================================================
% BEGIN RECEIVE ORGTBL Literatur
\begin{tabular}{ll}
Mayer, Carl & Besteuerung von Aktien- und Umtauschanleihen, DStR 2009, 234 ff. \\
Eberhart, John & Das Haus am See, 3. Auflage, München 2007 \\
 &  \\
 &  \\
\end{tabular}
% END RECEIVE ORGTBL Literatur

Siehe dazu auch A LaTeX-example of radio tables in der Dokumentation des Org-Mode.

2.8 Der Austausch von LaTeX-Dateien und das Kodierungsproblem

Beim Austausch von LaTeX-Dateien zwischen Benutzern unterschiedlicher Betriebssysteme und/oder LaTeX-Editoren kann es manchmal zu dem unschönen Effekt kommen, dass Umlaute und Sonderzeichen nicht korrekt dargestellt werden. Das ist kein spezielles LaTeX-Problem, sondern tritt auch bei anderen Textdateien auf.

Hilfreich ist es dann, wenn man auf den kleinsten gemeinsamen Nenner ausweichen kann - Ascii. Glücklicherweise lassen sich Umlaute und Sonderzeichen auch in einer speziellen LaTeX-Syntax kodieren. Und der GNU Emacs bietet eine Möglichkeit der Konvertierung in beide Richtungen:

You can switch back and forth between TeX format ({\'e}) and iso-format (é)
with the commands iso-tex2iso and iso-iso2tex.

3 Konfiguration von AucTeX und RefTeX

Hier nun die wenigen nötigen Konfigurationen, um die entsprechenden Erweiterungen des GNU Emacs, AucTeX und RefTeX, zu starten. Ich schreibe LaTeX-Dokumente ausschließlich unter MacOS X. Daher bezieht sich meine Konfiguration nur auf diese Plattform.

3.1 Grundeinrichtung

;; Pfade laden
(add-to-list 'load-path "~/elisp/auctex/")                                      
(add-to-list 'load-path "~/elisp/auctex/preview/")

;; Pfad für LaTeX:
(if macosx-p
 (progn
  (setenv "PATH" (concat "/usr/texbin:" (getenv "PATH")))))

;; AucTeX laden
(load "auctex.el" nil t t)
(setq TeX-PDF-mode t)

;; RefTeX einpflechten und laden
(setq reftex-plug-into-AUCTeX t)
(add-hook 'LaTeX-mode-hook 'turn-on-reftex)

; Table of Contents auf Meta-t legen
(global-set-key "\M-t" 'reftex-toc)

;; Preview-LaTeX
(load "preview-latex.el" nil t t)

3.2 SyncTeX und Skim unter OS X

Nun soll SyncTeX eingerichtet werden, so dass man beim Aufruf der PDF-Datei in Skim direkt die Stelle hervorgehoben bekommt, an der aktuell der Kursor im Emacs positioniert ist (sog. SyncTeX forward search) und man andererseits aus Skim direkt an die entsprechende Stelle im LaTeX-Quelltext im Emacs springen kann (sog. SyncTeX backward search).

Bedienung:

  • Bei der Ansicht einer PDF-Datei mit C-c C-c aus dem Emacs hebt Skim nun die aktuelle Kursor-Position hervor.
  • Im Skim kann man mit Cmd + Shift + Linksklick zurück in den Emacs an die entsprechende Stelle im LaTeX-Quelltext springen.
(if macosx-p
(progn

(add-hook 'LaTeX-mode-hook 'TeX-source-correlate-mode)
(setq TeX-source-correlate-method 'synctex)

(add-hook 'LaTeX-mode-hook
      (lambda()
        (add-to-list 'TeX-expand-list
             '("%q" skim-make-url))))

(defun skim-make-url () (concat
        (TeX-current-line)
        " "
        (expand-file-name (funcall file (TeX-output-extension) t)
            (file-name-directory (TeX-master-file)))
        " "
        (buffer-file-name)))

(setq TeX-view-program-selection '((output-pdf "Skim")))

(setq LaTeX-command "latex -synctex=1")

(setq TeX-view-program-list (quote 
    (("Skim" "/Applications/Skim.app/Contents/SharedSupport/displayline %n %o %b") 
     ("Preview" "open -a Preview.app %o"))))

;; Emacs als Server starten, damit Skim ihn ansteuern kann:
(setq server-use-tcp t)
(server-start)

)) ;; Klammern schließen Bedingung OS X

In seinen Einstellungen muss Skim nun mitgeteilt werden, dass er mit dem Emacs zusammen arbeiten soll. Skim greift dabei auf den Befehl emacsclient zurück; der Emacs muss daher als Server gestartet werden (siehe oben).

Der mit OS X mitgelieferte Emacs hat seinen emacsclient im Verzeichnis /usr/bin. Dieses Verzeichnis ist auch im Pfad, so dass der einfachste Weg darin besteht, die bestehende Datei in /usr/bin durch einen symbolischen Link auf den Client der tatsächlich verwendeten graphischen Emacs-Version zu ersetzen:

$ su admin
$ sudo mv /usr/bin/emacsclient /usr/bin/emacsclient_save
$ sudo ln -s /usr/local/Cellar/emacs/24.1/bin/emacsclient /usr/bin/emacsclient

Datum: 2013-03-17

Autor: Hendrik Sünkler

Created: 2014-05-04 So 18:09

Emacs 24.3.1 (Org mode 8.2.6)

Validate