Friday 24 February 2012

Texteditoren für tibetologische/indologische Bedürfnisse

1 Unterschied zwischen Text-Editor und Word-Processor

Warum überhaupt einen Text Editor und nicht einen Word-Prozessor (Libreoffice, MS Word etc.) benutzen?
Quelle für Kriterien: ``Typical Features" in Wikipedia: Text Editor
KriteriumText EditorenWord Prozessoren
DateiformatPlain Text (.txt, .html, .xml, .tex)Binär (manchmal proprietär; meistens Programm spezifisch)
KonsequenzWechsel der Editoren leicht möglichWechsel der Prozessoren oft nicht möglich
Undo-RedoStandard, manchmal fortgeschrittene Möglichkeiten (selective undo).Üblicherweise dokument-weite lineare Undo-Redo Operationen.
KonsequenzFehlerbehebung oft praktischer.Wenig Verwirrung.
SuchenStrings oder Regular Expressions.Ebenso.
ErsetzenSehr frei definierbarer Ausdruck (Gefundener Wert +10, Anzahl der Ersetzungen, etc.)Ebenso, manchmal mit Macros.
KonsequenzLeicht zugänglich, recht mächtig.Manchmal versteckt, ebenso mächtig.
Cut, Copy, PasteOft mehrere Ebenen und Register.Weiß ich nicht, in LibreOffice nicht gefunden?
KonsequenzPraktisch für repetitive Arbeit.Wenn da, dann auch sehr praktisch.
DatenbearbeitungListen/Zeilen sortieren, Weitergabe eines markierten Bereichs an externe Programme.Sortieren möglich, externe Programme manchmal schwierig (Speichern–>Bearbeiten–>Öffnen)
KonsequenzLeicht erweiterbar, eigene Programme leicht einzubinden.Manchmal schwierig zu erweitern (Macro ist kein stand-alone Programm).
Der wichtigste Unterschied ist also im Dateiformat: wenn der Editor der Wahl einmal nicht mehr verfügbar ist (oder ein besserer auftaucht), können die Dateien im Prinzip ohne Verlust auch mit dem neuen Programm bearbeitet werden. Oder die gleiche Datei kann mit mehreren Programmen für unterschiedliche Zwecke bearbeitet werden.

2 Beispiel Editor: GNU Emacs

Als Beispiel für einen Text-Editor möchte ich GNU Emacs vorstellen, der auf den meisten Systemen läuft (http://www.gnu.org/software/emacs/#Platforms).
  1. Der Name kommt von Editor MACroS.
  2. "Emacs is the extensible, customizable, self-documenting real-time display editor." (gemäß emacs-info)
  3. Self-documenting: Hilfe zu allen Befehlen/Funktionen/Enistellungen ist mit eingebaut.
  4. Grundinformation findet sich mit
    1. C-h r,1
    2. M-x info-emacs-manual, oder
    3. M-: (info-emacs-manual)
  5. Als Einstieg empfiehlt sich die Emacs Tour oder das emacs tutorial: C-h t

2.1 Grundkonzepte in Emacs

2.1.1 Buffer

  1. Buffer != Datei
  2. Eine Datei kann von einem oder mehreren Buffern "besucht" werden
  3. Buffer kann aber auch:
    1. Verzeichnis besuchen (C-x C-f ./)
    2. Dateien im Verzeichnis bearbeiten (löschen, umbennenen, durchsuchen)
    3. Log Files, Statusmeldungen anzeigen, etc.

2.1.2 ``Lisp Machine"

Stallman about Lisp and Emacs:
But, along the way, I wrote a text editor, Emacs. The interesting idea about Emacs was that it had a programming language, and the user's editing commands would be written in that interpreted programming language, so that you could load new commands into your editor while you were editing. You could edit the programs you were using and then go on editing with them. So, we had a system that was useful for things other than programming, and yet you could program it while you were using it. I don't know if it was the first one of those, but it certainly was the first editor like that.

2.1.3 Major Modes: Bearbeitungsmodi für einen Buffer

Für IndologInnen nützlich:
  1. LaTeX (AucTeX) mode: um Latex Dateien zu bearbeiten. Damit verwandt:
    1. RefTeX mode, für Querverweise (reftex-reference) / Zitate (reftex-citation)
    2. BibTeX mode, für Bibliographiedatenbanken
  2. org-mode (Notizen)
  3. dict-mode (Wörterbuch)
  4. NXML Mode
Zu bemerken: Modi können gemischt werden. So können z.B. im NXML oder im ORG Modus auch Zitate eingefügt werden.

3 Typische Anwendungsfälle für indo-/tibetologische Fragestellungen

3.1 Texteingabe

  1. Für einzelne Zeichen: M-x ucs-insert (für einzelne Zeichen; Vervollständigung mittels der TAB Taste ist sehr hilfreich, wenn der Unicode Name nicht gut im Gedächtnis ist.)
  2. M-x set-input-method (für längere Textpassagen; wiederum mit TAB die Optionen ansehen.)
Zur Orientierung nützlich:
  1. M-x describe-char (or C-u C-x =): gibt Informationen zu dem Zeichen auf dem der Cursor im Moment ruht.
  2. C-h h (hello file):

3.2 Texteditionen (ledmac)

Mithilfe des AUCTeX Paketes wird das Bearbeiten von kritischen Editionen vereinfacht. Die Hauptvorteile sind:
  1. Folding (cf.: normale und "gefaltete" Ansicht einer kurzen Passage)
  2. Syntax Highlighting (färbt Text je nach Kontext ein)
  3. Anzeige von einander entsprechenden Klammern (praktisch bei längeren eingeklammerten Ausdrücken, z.B. Fußnoten).

3.3 Arbeiten / Aufsätze schreiben (LaTeX)

  1. RefTEX, für
    1. Querverweise (reftex-reference) und
    2. Zitate (reftex-citation)
  2. Strukturiertes Schreiben mit Markup statt bloßer Textformatierung

3.4 Übersetzungshilfen

3.4.1 Wörterbücher (dictionary-mode)

3.4.2 Split Screen

Möglichkeiten:
  1. Text / Übersetzung nebeneinander/untereinander (cf. Screenshot)
  2. Tibetisch/Sanskrit nebeneinander, Übersetzungen untereinander

3.4.3 rgrep

  1. gretil etc. lokal spiegeln
  2. Mit M-x rgrep durchsuchen.

3.5 Notizen

Ein gut integriertes Notizsystem ist mit org-mode verfügbar. Damit lassen sich z.B.:
  1. Links zwischen einzelnen Stellen in Textdateien setzen
  2. Stukturen erstellen
  3. Tabellen leicht bearbeiten (und nach LaTeX exportieren): cf. Table Editor
  4. Arbeitspläne etc. verwalten (cf. http://orgmode.org/org.html#Introduction)

3.6 Bibliographien erstellen

Z.B. mittels Bibtex-mode.

3.7 E-Texte durchsuchen, bearbeiten

Mittels Befehlen wie rgrep leicht machbar:
  1. M-x rgrep
    1. Suchausdruck (regex) angeben
    2. Dateiart nach der gesucht werden soll angeben
    3. Ordner in dem gesucht werden soll angeben
  2. Suchergebnisse werden präsentiert
  3. Vom Suchfenster aus können die Dateien in denen etwas gefunden wurde direkt an der entsprechenden Stelle geöffnet werden.

3.8 XML Files bearbeiten

Z.B.: Datei im NXML Modus (nXML): hier sind im linken Buffer die für die Stelle im rechten Buffer möglichen Vervollständigungen für Tags mit "p" angezeigt.
  1. nxml-mode + schema = autocompletion, validity check.
  2. Bearbeiten mit üblichen Kommandos, z.B.,
    1. Suchen Ersetzen
      M-x query-replace-regexp <label>\([0-9]+\)\.\([0-9]+\)< -> <label xml:id="thakur75-\1-\2">\1.\2<
      
    2. Undo-Redo, auch regional.
    3. Zeilen Nummern (M-x linum-mode)
    4. Im Text navigieren, nach Elementen
    5. Text "falten":
    6. Version Control Operationen:
      1. Unterschiede ansehen: M-x vc-diff (C-x v =)
      2. Geschichte der Datei ansehen: M-x vc-annotate

4 Links

  1. Hack Emacs: Emacs as Lisp Machine
  2. Hack Emacs: Buffers


1 Abkürzungen: "C" für Ctrl oder Strg Taste, "M" für Meta Taste, die normalerweise mit der Alt Taste identisch ist. "C-h h" heißt also: Ctrl+h drücken, loslassen, und dann "h" drücken. Erinnerungshilfen hier: http://stackoverflow.com/questions/2677300/learning-emacs-useful-mnemonics

2 comments: