- Registriert
- 17.04.05
- Beiträge
- 8.444
Um mit LaTeX auf dem Mac zu arbeiten, gibt es sicher keinen Königsweg, der allen Bedürfnissen gerecht wird (siehe auch diese Übersicht). Bei der Installation einer TeX-Distribution kommt man wohl zunächst nicht um MacTeX herum. Aber dann scheiden sich meist die Geister. Die einen User möchten möglichst komfortabel Mac-like arbeiten, mit Paletten zum Draufklicken und vielleicht sogar gleich in einem WYSIWYG-Editor. Die anderen legen mehr Wert auf schnelles Editieren mit Tastenkürzeln oder auch auf eine plattformunabhängige Arbeitsumgebung. Ich zähle mich eher zu den letzten beiden Kategorien und möchte hier mal eine Lanze für meine aktuelle LaTeX-Umgebung brechen. Diese besteht aus folgendem Dreigestirn:
Die Distribution: MacTeX
Zur MacTeX selbst muss man wohl nicht viel sagen. Nach dem Download des dicken Images (>700MB) funktioniert die Installation wie gewohnt durch Doppelklick. Mit MacTeX holt man sich neben dem LaTeX-Grundsystem eine große Auswahl an Paketen, Fonts und Zusatzprogrammen an Bord, inklusive der beliebten Programme TeXShop, BibDesk und LaTeXiT. Durch die Anbindung an TeX Live (2007) ist auch die Aktualität von Mac TeX gesichert. Neue Versionen von TeX Live (2008) und von MacTeX sind momentan in Arbeit.
Der Editor: Aquamacs Emacs
Der Texteditor Emacs (siehe auch hier) ist wahrscheinlich nicht jedem Macianer ein Begriff. Es handelt sich hierbei um eine eierlegende Wollmilchsau unter den Editoren. Neben bloßem Bearbeiten von Text (z.B. Quellcode) lässt sich Emacs durch eine Lisp-artige Skriptschnittstelle beliebig erweitern. Syntaxeinfärbung diverser Programmiersprachen (natürlich auch von LaTeX-Code) ist dabei noch die leichteste Übung. Besonders zu erwähnen wären etwa die Syntaxüberprüfung (z.B. auf offene Klammerpaare oder Programmblöcke testen), das Aufrufen von Compilern und anderen Fremdprogrammen im Hintergrund, Abarbeiten von Syntaxfehlern oder auch die Möglichkeit, Kaffee zu kochen ().
Das Bearbeiten speziell von LaTeX-Dokumenten ist in Emacs unter anderem aus folgenden Gründen komfortabel:
Für mich ist noch ein äußerst wichtiger Punkt:
Emacs läuft normalerweise im Textmodus oder in einem X11-Fenster. Mit Aquamacs Emacs steht der Editor aber auch in der gewohnten Mac-Oberfläche zur Verfügung. Und so sieht es nach dem Aufstarten aus:
Wie man sieht, ist die Oberfläche relativ spartanisch. Um die Bedienung und den LaTeX-Alltag zu erklären, erstellen wir einfach mal ausführlich ein Beispieldokument. Dazu wählen wir aus dem Menü "File"->"Change Buffer Mode"->"LaTeX", um den Dokumenttyp und damit die Syntaxeinfärbung einzustellen (wie man im Menü sieht, sind noch einige andere Buffer Modes möglich).
Anstatt jetzt sofort LaTeX-Code einzutippen, lassen wir uns ein Template für die Dokumentklasse "article" von Emacs erstellen. Dadurch sparen wir uns das Eingeben des Grundgerüsts. Also entweder übers Menü "Latex"->"Insert Environment" einfach "document" auswählen. Oder die Ctrl-Taste halten und nacheinander C und E drücken (Ctrl-C leitet ein Befehlskürzel ein, Ctrl-E steht für "environment"). In der Statuszeile ganz unten fragt uns Emacs nun, welche Umgebung wir einfügen möchten, "document" ist als Defaultwert voreingestellt:
Wir brauchen nur auf Return zu drücken, weil wir ja ein neues Dokument erstellen wollen (wichtig: geht beim Tippen in der Statuszeile mal etwas schief, dreimal Escape drücken, dann ist man wieder im normalen Editier-Modus).
Alsdann fragt Emacs nach der Dokumentklasse (man beachte, dass im Text bereits etwas eingefügt wurde):
Wir brauchen nur Return zu tippen, falls wir ein Dokument der Klasse "article" erstellen wollen. Bei der Auswahl der Dokumentklasse kann man auf das nützliche Feature "Tab-Completion" zurückgreifen: Emacs ergänzt bei Druck auf die Tabulatortaste selbständig die Anfangsbuchstaben der Umgebung (z.B. "art") durch die restlichen (sofern die Vervollständigung eindeutig ist) oder gibt alle denkbaren Vervollständigungen an. Nach Bestätigung von "article" durch Return werden wir noch nach optionalen Dokumentparametern gefragt (z.B. 11pt, a4paper etc.). Wir bestätigen wieder mit Return und erhalten das Dokumentgrundgerüst nach nur 5 Tastendrücken (Ctrl-CE und 3*Return):
Der Cursor (den man im Screenshot nicht sieht) steht nach der \begin{document}-Zeile, so dass wir direkt lostippen können. Schnell ein "Hallo Welt!" eingehackt und das ganze Dokument kann über "File"->"Save Buffer As" abgespeichert werden (Tastaturfans machen das über Ctrl-XS).
Jetzt geht's ans TeXen. Das geht komplett innerhalb von Emacs, und zwar entweder über den Knopf "Typeset" in der Symbolleiste oder (wer hätte es gedacht) über die Tastatur (mit Crtl-CC und Bestätigen von "LaTeX" durch Return).
Durch Klick auf den Button "View" oder per Tastatur (Ctrl-CC und Bestätigen von "View" und des "open"-Befehls durch 2*Return) wird der Standard-PDF-Viewer gestartet. Normalerweise ist dies die Vorschau oder auch der Acrobat Reader. Beim Editieren von LaTeX-Dokumenten haben jedoch beide Viewer einen entscheidenden Nachteil: sie bekommen nicht mit, wenn sich das PDF-Dokument auf der Platte geändert hat (z.B. wenn man zu Emacs zurückkehrt, dort etwas ändert und LaTeX erneut durchlaufen lässt). Kurz gesagt: man kann ihnen nicht ohne weiteres "unter dem Hintern" ein neues PDF-Dokument unterschieben. Das erlaubt allerdings z.B. Skim.
Der PDF-Viewer: Skim
Das Programm Skim ist zunächst einmal ein PDF-Anzeigeprogramm wie jedes andere auch. Skim ist Open Source und manchen vielleicht auch als Nachfolger von PDFView bekannt. Unter den netten Features sind Dinge wie PDF-Bearbeitung (Notizen), Vollbild-/Präsentationsmodus, Applescript-Fähigkeit und insbesondere die Zusammenarbeit mit LaTeX und BibDesk. Für letzteres sollte man Skim als Standard-Viewer für PDF-Dateien einrichten (PDF-Datei markieren, Command-I, "öffnen mit" entsprechend einstellen). Weiter sollte man Skim einmal starten und im Menü "Skim"->"Einstellungen"->"Sync" den Haken bei "Auf Änderungen überprüfen" setzen und "Aquamacs Emacs" aus der Liste auswählen:
Jetzt kann's wieder zurück zu Aquamacs Emacs gehen. Wenn man darin nämlich das Hallo Welt-Dokument geöffnet hat und den Viewer aufruft (s.o., Button oder Ctrl-CC+"View"+"open..."), sollte sich Skim öffnen:
Schaltet man nun zurück zu Emacs, editiert den Text und compiliert neu, so bekommt Skim dies mit und benachrichtigt den User darüber (einmalig):
Nach Klick auf "Auto" aktualisiert sich fortan der Viewer selbständig, sobald sich am geTeXten Dokument etwas getan hat. Mir ist momentan kein anderer PDF-Viewer bekannt, bei dem man eine solche automatische Reload-Funktion zur Verfügung hat. xpdf kann so etwas Ähnliches (Reload mit "R", das nutze ich unter Linux) oder man müsste Applescript bemühen. Falls jemand Alternativen weiß, immer her damit. Für mich jedenfalls ist derzeit Skim erste Wahl als PDF-Viewer, was das TeXen angeht.
- MacTeX
- Aquamacs Emacs (momentan 1.4)
- Skim (momentan 1.1.8)
Die Distribution: MacTeX
Zur MacTeX selbst muss man wohl nicht viel sagen. Nach dem Download des dicken Images (>700MB) funktioniert die Installation wie gewohnt durch Doppelklick. Mit MacTeX holt man sich neben dem LaTeX-Grundsystem eine große Auswahl an Paketen, Fonts und Zusatzprogrammen an Bord, inklusive der beliebten Programme TeXShop, BibDesk und LaTeXiT. Durch die Anbindung an TeX Live (2007) ist auch die Aktualität von Mac TeX gesichert. Neue Versionen von TeX Live (2008) und von MacTeX sind momentan in Arbeit.
Der Editor: Aquamacs Emacs
Der Texteditor Emacs (siehe auch hier) ist wahrscheinlich nicht jedem Macianer ein Begriff. Es handelt sich hierbei um eine eierlegende Wollmilchsau unter den Editoren. Neben bloßem Bearbeiten von Text (z.B. Quellcode) lässt sich Emacs durch eine Lisp-artige Skriptschnittstelle beliebig erweitern. Syntaxeinfärbung diverser Programmiersprachen (natürlich auch von LaTeX-Code) ist dabei noch die leichteste Übung. Besonders zu erwähnen wären etwa die Syntaxüberprüfung (z.B. auf offene Klammerpaare oder Programmblöcke testen), das Aufrufen von Compilern und anderen Fremdprogrammen im Hintergrund, Abarbeiten von Syntaxfehlern oder auch die Möglichkeit, Kaffee zu kochen ().
Das Bearbeiten speziell von LaTeX-Dokumenten ist in Emacs unter anderem aus folgenden Gründen komfortabel:
- Syntaxeinfärbung und Klammer-Check
- Einfügen von LaTeX-Umgebungen (\begin{}...\end{}), Textabschnitten (\section{}) oder ganzen Dokument-Templates per Mausklick oder Tastenkürzel (via AUCTeX, das ist aber in Aquamacs Emacs schon integriert); dabei fragt Emacs selbständig nach Pflicht- und optionalen Parametern
- TeXen im Hintergrund
- Abarbeiten von Syntaxfehlern durch Rücksprung auf die entsprechende Textstelle
- Aufruf des (PDF-)Viewers
- Aufruf von BibTeX, makeindex und anderen Hilfsprogrammen aus Emacs heraus
- wer es mag: Formel-Vorschau direkt in Emacs
Für mich ist noch ein äußerst wichtiger Punkt:
- Plattformunabhängigkeit, eine identische Konfiguration unter Linux/Unix und Mac OS X ist möglich
Emacs läuft normalerweise im Textmodus oder in einem X11-Fenster. Mit Aquamacs Emacs steht der Editor aber auch in der gewohnten Mac-Oberfläche zur Verfügung. Und so sieht es nach dem Aufstarten aus:
Wie man sieht, ist die Oberfläche relativ spartanisch. Um die Bedienung und den LaTeX-Alltag zu erklären, erstellen wir einfach mal ausführlich ein Beispieldokument. Dazu wählen wir aus dem Menü "File"->"Change Buffer Mode"->"LaTeX", um den Dokumenttyp und damit die Syntaxeinfärbung einzustellen (wie man im Menü sieht, sind noch einige andere Buffer Modes möglich).
Anstatt jetzt sofort LaTeX-Code einzutippen, lassen wir uns ein Template für die Dokumentklasse "article" von Emacs erstellen. Dadurch sparen wir uns das Eingeben des Grundgerüsts. Also entweder übers Menü "Latex"->"Insert Environment" einfach "document" auswählen. Oder die Ctrl-Taste halten und nacheinander C und E drücken (Ctrl-C leitet ein Befehlskürzel ein, Ctrl-E steht für "environment"). In der Statuszeile ganz unten fragt uns Emacs nun, welche Umgebung wir einfügen möchten, "document" ist als Defaultwert voreingestellt:
Wir brauchen nur auf Return zu drücken, weil wir ja ein neues Dokument erstellen wollen (wichtig: geht beim Tippen in der Statuszeile mal etwas schief, dreimal Escape drücken, dann ist man wieder im normalen Editier-Modus).
Alsdann fragt Emacs nach der Dokumentklasse (man beachte, dass im Text bereits etwas eingefügt wurde):
Wir brauchen nur Return zu tippen, falls wir ein Dokument der Klasse "article" erstellen wollen. Bei der Auswahl der Dokumentklasse kann man auf das nützliche Feature "Tab-Completion" zurückgreifen: Emacs ergänzt bei Druck auf die Tabulatortaste selbständig die Anfangsbuchstaben der Umgebung (z.B. "art") durch die restlichen (sofern die Vervollständigung eindeutig ist) oder gibt alle denkbaren Vervollständigungen an. Nach Bestätigung von "article" durch Return werden wir noch nach optionalen Dokumentparametern gefragt (z.B. 11pt, a4paper etc.). Wir bestätigen wieder mit Return und erhalten das Dokumentgrundgerüst nach nur 5 Tastendrücken (Ctrl-CE und 3*Return):
Der Cursor (den man im Screenshot nicht sieht) steht nach der \begin{document}-Zeile, so dass wir direkt lostippen können. Schnell ein "Hallo Welt!" eingehackt und das ganze Dokument kann über "File"->"Save Buffer As" abgespeichert werden (Tastaturfans machen das über Ctrl-XS).
Jetzt geht's ans TeXen. Das geht komplett innerhalb von Emacs, und zwar entweder über den Knopf "Typeset" in der Symbolleiste oder (wer hätte es gedacht) über die Tastatur (mit Crtl-CC und Bestätigen von "LaTeX" durch Return).
Durch Klick auf den Button "View" oder per Tastatur (Ctrl-CC und Bestätigen von "View" und des "open"-Befehls durch 2*Return) wird der Standard-PDF-Viewer gestartet. Normalerweise ist dies die Vorschau oder auch der Acrobat Reader. Beim Editieren von LaTeX-Dokumenten haben jedoch beide Viewer einen entscheidenden Nachteil: sie bekommen nicht mit, wenn sich das PDF-Dokument auf der Platte geändert hat (z.B. wenn man zu Emacs zurückkehrt, dort etwas ändert und LaTeX erneut durchlaufen lässt). Kurz gesagt: man kann ihnen nicht ohne weiteres "unter dem Hintern" ein neues PDF-Dokument unterschieben. Das erlaubt allerdings z.B. Skim.
Der PDF-Viewer: Skim
Das Programm Skim ist zunächst einmal ein PDF-Anzeigeprogramm wie jedes andere auch. Skim ist Open Source und manchen vielleicht auch als Nachfolger von PDFView bekannt. Unter den netten Features sind Dinge wie PDF-Bearbeitung (Notizen), Vollbild-/Präsentationsmodus, Applescript-Fähigkeit und insbesondere die Zusammenarbeit mit LaTeX und BibDesk. Für letzteres sollte man Skim als Standard-Viewer für PDF-Dateien einrichten (PDF-Datei markieren, Command-I, "öffnen mit" entsprechend einstellen). Weiter sollte man Skim einmal starten und im Menü "Skim"->"Einstellungen"->"Sync" den Haken bei "Auf Änderungen überprüfen" setzen und "Aquamacs Emacs" aus der Liste auswählen:
Jetzt kann's wieder zurück zu Aquamacs Emacs gehen. Wenn man darin nämlich das Hallo Welt-Dokument geöffnet hat und den Viewer aufruft (s.o., Button oder Ctrl-CC+"View"+"open..."), sollte sich Skim öffnen:
Schaltet man nun zurück zu Emacs, editiert den Text und compiliert neu, so bekommt Skim dies mit und benachrichtigt den User darüber (einmalig):
Nach Klick auf "Auto" aktualisiert sich fortan der Viewer selbständig, sobald sich am geTeXten Dokument etwas getan hat. Mir ist momentan kein anderer PDF-Viewer bekannt, bei dem man eine solche automatische Reload-Funktion zur Verfügung hat. xpdf kann so etwas Ähnliches (Reload mit "R", das nutze ich unter Linux) oder man müsste Applescript bemühen. Falls jemand Alternativen weiß, immer her damit. Für mich jedenfalls ist derzeit Skim erste Wahl als PDF-Viewer, was das TeXen angeht.