Eigene Plugins schreiben

Um ein Plugin myplugin zuschreiben, sollten Sie zuerst ein Verzeichnis erstellen

    $TEXMACS_HOME_PATH/plugins/myplugin

das Sie alle notwendigen Dateien enthalten wird. Denken Sie bitte daran, dass der $TEXMACS_HOME_PATH gemäß Vorgabe $HOME/.TeXmacs ist. Zusätzlich können Sie die folgenden Verzeichnisse erzeugen, falls Sie sie brauchen sollten:

bin
Für Binärdateien.
doc
Für die Dokumentation (noch nicht unterstützt).
langs
Für Sprach-Dateien wie z.B. Wörterbücher (noch nicht unterstützt).
lib
Für Bibliotheken.
packages
Für Stil-Pakete.
progs
Für Scheme-Programme.
src
Für Quellcode.
styles
Für Stil-Definitionen.

Generell gilt, Dateien, die sich in diesen Verzeichnissen befinden, werden automatisch erkannt, wenn TeXmacs startet. Wenn z.B. ein bin Unterverzeichnis existiert, dann wird

    $TEXMACS_HOME_PATH/plugins/myplugin/bin

automatisch zu der PATH-Kontext-Variablen hinzugefügt. Beachten Sie, dass die Verzeichnisstruktur eines Plugins derjenigen von $TEXMACS_PATH ähnelt.

Beispiel 1. Der simpelste Typ von Plugins besteht nur aus Daten-Dateien, wie z.B. einer Sammlung von Stil-Definitionen und Stil-Paketen. Dazu genügt es, die Verzeichnisse

    $TEXMACS_HOME_PATH/plugins/myplugin
    $TEXMACS_HOME_PATH/plugins/myplugin/styles
    $TEXMACS_HOME_PATH/plugins/myplugin/packages

herzustellen und die Dateien in die entsprechenden Verzeichnisse zu kopieren. Danach werden diese automatisch nach einem Neu-Start von TeXmacs, in den Menüs DokumentStil bzw. DokumentPaket benutzen erscheinen.

Komplexere Plugins, wie z.B. Plugins mit zusätzlichem Scheme oder C++ Code muss man meist noch eine Scheme-Konfigurations-Datei erstellen

    $TEXMACS_HOME_PATH/plugins/myplugin/progs/init-myplugin.scm

Diese Konfigurations-Datei sollte eine Anweisung der folgenden Form

(plugin-configure myplugin

configuration-options)

enthalten. Darin beschreiben configuration-options die Tätigkeiten, die beim Start durchzuführen sind, einschließlich der Frage, ob der Code in Ordnung ist. In den nachfolgenden Abschnitten werden wir anhand von einfachen Beispielen dir Arbeitsweise und die Programmierung von Plugins erläutern. Viele weitere Beispiele finden Sie unter

    $TEXMACS_PATH/examples/plugins
    $TEXMACS_PATH/plugins

Einige werden eingehender im Kapitel über Schnittstellen beschrieben.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".