Skip to content

AUCTeX mit GNU/Emacs

Preview
  eines LaTeX-Dokuments im Emacs

AUCTeX ist eine weitere Hilfe für die Berabeitung von LaTeX-Dokumenten. Die Software selbst ist kein Editor, sondern eine Art Erweiterung (Modus) für den GNU/Emacs oder XEmacs. Ich nutze den GNU/Emacs und werde daher im weiteren auch nur auf diesen eingehen.

Unter GNU/Linux ist der Modus meist in der Paketverwaltung der Distribution enthalten. Sucht dort einfach nach dem Wort auctex. Wahrscheinlich werdet ihr schnell fündig und könnt das Paket installieren. Wer es nicht findet oder lieber Software aus den Quellen baut, kann sich diese herunterladen und mit dem üblichen Dreisatz (./configure && make && make install) an den Start bringen.

Mit Microsoft Windows kenne ich mich nicht so gut aus. Die Webseite von AUCTeX hat jedoch eine gute Anleitung zur Installation. Als ich AUCTeX das letzte Mal unter Windows installierte, ging das ohne Probleme.

Nachdem AUCTeX seinen Weg auf euer System gefunden hat, muss der Emacs eventuell wissen, dass er den Modus bei LaTeX-Dokumenten aktivieren soll. Dazu muss die Zeile (load “auctex.el” nil t t) in die .emacs eingetragen werden. Der Schritt ist aber nicht in jedem Fall nötig. Diverse Distributionen haben globale Einstellungen, die den Schritt bereits vornehmen.

Des Weiteren ist es sehr nützlich, wenn AUCTeX das Dokument beim Öffnen scannt, um selbst definierte Befehle, eingebundene Pakete etc. zu finden. Hierfür müssen die unten stehenden Zeilen ihren Weg in die Konfigurationsdatei finden:

(setq TeX-auto-save t)
(setq TeX-parse-self t)

Ich schreibe naturgemäß viele mathematische Texte. Daher möchte ich den Mathemodus in AUCTeX aktiv haben und der RefTeX-Modus zum Verwalten von Referenzen soll aktiv sein. Daher habe ich meine .emacs um die folgenden Zeilen ergänzt.

(add-hook ‘LaTeX-mode-hook ‘LaTeX-math-mode)
(add-hook ‘LaTeX-mode-hook ‘turn-on-reftex)

AUCTeX behandelt Dateien mit den üblichen Endungen (.tex, .ltx, .sty etc.) als LaTeX-Dateien. Hin und wieder habe ich es mit der Endung .latex zu tun. Damit AUCTeX auch hier seine Stärken ausspielen kann, muss ich eine Zeile in der Konfiguration ergänzen.

(add-to-list ‘auto-mode-alist ‘(“\\.latex” . tex-mode))

Nach diesen Einstellungen könnt ihr mit der Bearbeitung der Texte loslegen. Einige finden es unter Umständen schöner, wenn bestimmte Schlüsselworte bunt sind (Syntax Highlighting) oder das der Text nach einer bestimmten Anzahl Zeichen umbrochen wird. Dies lässt sich in den allgemeinen Einstellungen des Editors festsetzen.

Wenn ihr eine leere Datei öffnet, bleibt diese zunächst leer. Mit der Tastenkombination Strg+c Strg+e öffnet sich im Minibuffer das Menü zum Einfügen einer neuen Umgebung. AUCTeX erkennt, dass das Dokument leer ist und bietet automatisch die document-Umgebung zum Einfügen an. Wenn das bestätigt ist, müsst ihr eine Dokumentklasse und eventuell Optionen angeben. Dann steht der Grundrahmen des Dokuments. Wahrscheinlich willst du nun weitere Pakete einfügen. Hierzu bewegst du den Cursor an die korrekte Stelle und kannst dann mittels Strg+c RET usepackage RET foopaket RET das foopaket einbauen. In der Regel reicht die Eingabe von usep+TAB und Paketnamen vervollständigt AUCTeX ebenfalls. Der jjm ist hier jedoch wesentlich besser. Dort genügt die Tastenkombination Strg+c p, um ein Paket von einer beliebigen Stelle im Dokument einzubauen. Weiterhin ergänzt der jjm automatisch fehlende Pakete. Wenn du einen Befehl nutzt, der zu einem bisher nicht eingebundenen Paket gehört, so fügt jjm automatisch das Paket ein. Einen derartigen Automatismus würde ich mir für AUCTeX ebenso wünschen.

Die Bearbeitung des Textes ist recht einfach. Überschriften können mittels Strg+c Strg+s sowie dem Namen der Überschriften (chapter, section etc.) eingefügt werden. Bei jeder neuen Überschrift schlägt AUCTeX das Level der zuletzt benutzten vor. Dies vereinfacht unter Umständen die Eingabe. Jedoch ist jjm wieder einen Schritt weiter. Wie ich schrieb, dient dort beispielsweise die Kombination Strg+c s s zum Einfügen einer neuen section. Das heißt, nach dem initialen Aufwand, die Kürzel für die Abschnittsebene zu lernen, ist eine Überschrift schneller gesetzt. Der Vorteil bei AUCTeX liegt wiederum beim autoamtischen Setzen eines Labels. Bei jeder Überschrift schlägt die Software vor, ein Label zu vergeben. Ich benötige jedoch nur recht selten einen Verweis auf bestimmte Kapitel. Daher stellt das für mich keinen besonderen Vorteil dar.

Bereits oben beschrieb ich, wie eine Umgebung einzufügen ist (Strg+c Strg+e). Für Befehle ist Strg-c RET nützlich. Im Minibuffer wird der Name eingegeben und eventuelle Parameter abgefragt. Eine weitere Möglichkeit wäre, den Backslash sowie einen Teil des Befehlsnamen einzugeben und mit Meta+TAB zu vervollständigen. Dabei fehlen die geschweiften Klammer und eventuelle Parameter muss der Nutzer selbst eingeben. Insofern finde ich die erste Variante angenehmer. Natürlich steht zur Bearbeitung des Textes die gesamte Palette an Emacs-Features zur Verfügung.

Eine der großen Stärken von AUCTeX bzw. korrekter preview-latex liegt in einer Art Dokumentvorschau. Das Bild oben zeigt einen Ausschnitt des GNU/Emacs mit aktiviertem AUCTeX und einer Vorschau. Die Vorschau zeigt dabei Überschriften, Mathetext sowie einige andere Onjekte an. Gerade bei mathematischen Texten ist die Vorschau ganz nützlich. Denn größere Formeln werden im Mathesatz schnell unübersichtlich. Mit preview-latex behält jeder den Überblick und kann eventuelle Fehler schnell erkennen.

Insgesamt ist AUCTeX mit preview-latex ein guter Modus zur Bearbeitung von LaTeX-Dateien. Gerade für Nutzer, die neu beginnen, ist er sicher eine große Hilfe.

Vorstellung diverser LaTeX-Editoren

Durch den Vortrag zu LaTeX und die damit aufgetretenen Fragen kam ich auf die Idee, mir mal einige Editoren für LaTeX anzuschauen. In den folgenden Beiträgen will ich euch daher mal meine Erfahrungen mit den verschiedenen Programmen schildern und darstellen, wo aus meiner Sicht die Stärken und Schwächen der Einzelnen liegen. Diese Schilderung ist natürlich subjektiv. Denn im Laufe der Zeit habe ich mir eine bestimmte Benutzung angelernt und werde die Programme daher aus dieser Sichtweise beurteilen.

In der Vergangenheit nutzte ich eine Vielzahl von Programmen, um LaTeX-Quelltexte zu erstellen. Angefangen hat es mit dem Standard-Editor von Microsoft Windows. Danach probierte ich WinEdt aus. Durch den Wechsel zu GNU/Linux kam ich dann mit vim, jed und dem GNU Emacs (mit dem XEmacs konnte ich mich nie anfreunden) in Verbindung. Alle diese Programme haben einen Modus für LaTeX-Dateien und kommen in die nähere Betrachtung. Weiterhin bewirbt Frank sein Baby namens Geany. Das Programm schaute ich mir also ebenfalls genauer an. Weitere Programme, wie beispielsweise Kile oder TeXmaker, kamen bisher noch nicht unter meine Finger. Gibt es unter meinen Lesern Nutzer dieser oder anderer Programme? Wie sind eure Erfahrungen damit?

Worauf kommt es mir nun an? In den meisten Fällen öffne ich ein bestehendes Dokument, um dort weiterzuarbeiten oder Verbesserungen vorzunehmen. Dabei sind viele Pakete eingebunden bzw. eigene Befehle und Umgebungen definiert. Innerhalb des Editors wie auch bei einer Shell ist die Vervollständigung eine wichtige Erleichterung. Deshalb sollte der Editor meine eigenen Erweiterungen und auch die der eingebundenen Pakete kennen.

Weiterhin sollte er Wörter expandieren können. Das heißt, ich will in einem Text nicht jedes Mal das Wort Gruppenhomomorphismus tippen. Stattdessen gebe ich die ersten Zeichen des Wortes ein und nach einer Tastenkombination wird das Wort ergänzt.

Wenn wir schon bei Vervollständigung sind, sollte der LaTeX-Editor möglichst die installierten LaTeX-Paket kennen und mir diese bei der Eingabe von \usepackage anbieten. Noch besser wäre es, wenn dem Editor Optionen zu einzelnen Paketen bekannt sind. Aber das ist nicht immer (einfach) möglich.

Beim Öffnen eines Dokumentes gehe ich davon aus, dass der Editor die definierten \labels erkennt und ich diese dann referenzieren kann, ohne mir selbst die Namen zu merken.

Wahrscheinlich gibt es noch weitere Merkmale, auf die ich implizit Wert lege. Sollten mir weitere einfallen, werde ich die hier ergänzen. Editoren müssen sich daran messen lassen. Ich werde in den Beiträgen immer etwas dazu schreibe.

Nun hätte ich gern von euch gehört, welche Editoren ihr gern nutzt, worauf ihr Wert legt etc. Bitte lasst euch bei den Kommentaren aus. ;-)

Editorwars

Die Kriege zwischen den Editoren-Jüngern Emacs und vim sind uralt und werden immer wieder gern ausgefochten. Bei Youtube gibt es gerade eine Episode zu bewundern. Den Anfang machte der Beitrag Vim Powa: Can Your Editor do This?. Dort wird gezeigt, wie recht schnell eine HTML-Tabelle formatiert werden kann. Die Antwort der Emacs-Jünger Emacs Power: Can your editor do THIS! folgte auf dem Fuß. Das Beispiel, welches dort gebracht wird, ist ebenfalls die Formatierung einer Tabelle. Hier wird es mit dem org-tbl-Mode gemacht. In dieser wird die Tabelle in ASCII formatiert und der Mode übernimmt den Export nach HTML. Aus meiner Sicht ist der Gewinner des Beispiels eindeutig. :-)

E-Mails von GMail mit Gnus lesen

Wenn ich nach meinen E-Mail-Kontakten gehe, wird Google Mail recht häufig benutzt. Selbst Universitäten setzen das schon anstelle eines richtigen Mailservers ein. Ich habe mir vor langer Zeit mal einen Zugang geklickt und lasse da zumeist diverse Mailinglisten reinlaufen. Nachdem ich nun in letzter Zeit immer mal mit dem Emacs rumgespielt habe, kam ich auf die Idee, mit dem Mail- und Newsreader Gnus auf GMail zuzugreifen. Das Emacswiki hatte einen Eintrag zur entsprechenden Einstellung der Software. Ich übernahm den Schnipsel mit der Ausnahme, dass es bei mir die gnus-select-method ist. Denn vorerst bleibt es bei dem Versuch mit GMail. Eventuell füge ich später Newsgruppen oder anderes hinzu. Nun versuchte ich, E-Mails zu lesen. Jedoch schlug das immer mit der Meldung Invalid size: gnus-carpal fehl. Die Doku brachte mich nicht so recht weiter und auch die Suche im Netz war wenig erfolgversprechend. In einem Bugreport fand ich dann eine Meldung, dass die aktuellen Emacsen eine aktuelle Gnus-Version mitbringen und es manchmal zu Problemen kommt, wenn man Gnus noch extra installiert. Das war bei mir aber der Fall. Also deinstallierte ich Gnus und schon klappte alles. Es ist ein extremer Fortschritt, die E-Mails nicht mehr über das Webinterface zu lesen. Jetzt muss ich Gnus noch ein wenig an meine Bedürfnisse anpassen (was ungefähr die nächsten 25 Jahre dauern dürfte).

Heute fand ich dann noch in einem Blog einen guten Beitrag, wie man E-Mails über GMail versendet. Das richte ich später auch mit ein, obwohl der Account eher read-only ist.

Kaputtes HTTPS gesucht

Fehlermeldung im IE bei Twitter

Vor vielen Jahren berichtete ich über Banken, die sicheres Login (SSL) abschalten. Sebastian twitterte über Truecrypt, die den Aufruf von https://truecrypt.org auf die HTTP-Seite umleiten. Gerade TrueCrypt als Anbieter von Sicherheitslösungen (Verschlüsselung der Festplatte) ist da ein schlechtes Beispiel. Einige weitere Beispiele nannte Sebastian in einer weiteren Nachricht. Ich habe das mal auf der Seite BadHTTPS gesammelt. Wenn euch weitere Beispiele einfallen, so hinterlasst entweder hier einen Kommentar oder schreibt es direkt auf die obige Wikiseite. Es wäre sehr interessant, weitere Beispiele zu kennen. Solch eine Sammlung liess sich in einem weiteren Schritt nutzen, um die betreffenden Firmen anzusprechen und auf eine Verbesserung der Situation hinzuwirken.

Tor-Browser-Paket für GNU/Linux

Jacob Appelbaum hat das Tor-Browser-Paket weiter entwickelt. Bisher war das ein Paket für Microsoft Windows, welches Tor, Vidalia, Polipo und Torbutton (und auch das Chatprogramm Pidgin) enthält. Das Paket lässt sich auf einen USB-Stick speichern und auf einem beliebigen Rechner ohne Installation starten. Jake hat das Paket für GNU/Linux (im speziellen Fall zunächst nur Debian) weiterentwickelt und bittet um ausführliche Tests. Falls du also Lust hast, kannst du das Paket von Jakes Seite runterladen. Wenn das passiert ist, kannst du es entpacken und kannst es starten. Weiterhin kannst du es auch direkt aus dem SVN auschecken und bauen:

svn co https://tor-svn.freehaven.net/svn/torbrowser/trunk/
cd build-scripts
time make -f Makefile.linux build-all-binaries
time make -f Makefile.linux all-compressed-bundles

Bitte testet fleißig und gebt Rückmeldungen an das Projekt.

Was ist der Pornobrowser?

Stellt euch vor, ihr sitzt gerade in einer wichtigen Präsentation. Die Geschäftsführer und Strategen sitzen zusammen und beraten die neue Strategie für das Internet. Zentraler Bestandteil ist die neue Seite Powerportal.firma. Der Vortragende öffnet seinen Browser und gibt die URL ein: http://www.po. Da er den Firefox 3.x verwendet, erscheint nach der Eingabe eine Liste der oft angesurften Seiten. Bei ihm steht auf der Liste www.pornoseiten.foo, www.porno4all.cem usw. und sorgt bei den Teilnehmern für einiges Schmunzeln. Diese oder ähnliche Situationen scheinen sich recht oft zu passieren. Daher gibt es eine immer größere Schicht an Nutzern, die einen Porno-kompatiblen Browser verwenden. ;-)

Das Mozilla-Projekt stellte vor kurzem fest, dass viele noch die Version 2 ihres Browsers nutzen und wissen, warum dies so ist. Etwa ein Viertel nannte als Grund die oben beschriebene so genannte Location Bar. PC Pro vermutet die obige Situation als Hauptgrund. Was kann der ungeübte Pornogucker tun, wenn er Firefox 3 haben will und seine Linkliste nicht allen “weitergeben” will? Die praktikabelste Lösung ist aus meiner Sicht ein eigenes Profil. Das bedeutet, es gibt für “privates Surfen” ein Profil und für Firmenbelange ein zweites. Weiterhin bietet die allerletzte Firefoxversion Optionen, um dem Problem zu begegnen. Aber ihr könnt natürlich auch weiter Firefox 2 als Pornobrowser nehmen.

via Pressetext: Pornolinks: Hemmschuh für Browserupgrade

cronjob