Zunächst sei betont, dass es in der Regel einfacher ist, Pakete über den Paketmanager der jeweiligen TeX-Distribution zu installieren und aktuell zu halten. Wenn man Klassen oder Pakete hingegen selbst erzeugt, dann ist man auch selbst dafür verantwortlich, dies korrekt und vollständig zu tun und es ggf. immer wieder zu wiederholen, um sie aktuell zu halten. Siehe dazu auch: »Ist es sinnvoll Entwicklerversionen von Paketen an Stelle der offiziellen, stabilen Version zu verwenden?«.
Einfache Klassen oder Pakete bestehen in der Regel aus einer dtx
-Datei und einer ins
-Datei. Die dtx
-Datei kann den Quelltext beliebig vieler Pakete, Klassen und weiteren Dateien enthalten. Die ins
-Datei ist hingegen sozusagen die Information, aus der docstrip
erfährt, wie diese Dateien aus der dtx
-Datei zu erzeugen sind. Nehmen wir an, dass eine Klasse oder ein Paket foo
aus den Dateien foo.dtx
und foo.ins
erzeugt werden soll. Dann lautet der Aufruf dazu in der Regel:
Wie zu sehen ist, wird hier nicht latex
, sondern tex
verwendet. Hinter tex
verbirgt sich normalerweise plainTeX
. Man sollte diesen Aufruf in der Regel aus einem Terminalfenster bzw. der Windows-Eingabeaufforderung heraus starten. In vielen Fällen wird man nämlich interaktiv gefragt, ob ggf. Dateien überschrieben werden dürfen. Hat man foo.ins
und foo.dtx
in ein neues Verzeichnis kopiert, kann man das unbesorgt mit y
(für yes, also ja) beantworten. tex
kann nämlich beim Test, ob eine Datei bereits existiert, nicht erkennen, ob diese Datei in demselben Verzeichnis existiert, in das sie geschrieben wird oder sonst irgendwo in einem angemeldeten TEXMF-Baum.
In einigen Fällen wird es keine ins
-Datei geben. In diesem Fall hat der Autor sich eventuell entschlossen, die dtx
-Datei auch gleich als ins
-Datei zu verwenden. In diesem Fall lautet der Aufruf also:
Ob dem so ist, erfährt man in der Regel aus der Dokumentation des Quelltextes. Diese kann sich in der README
-Datei, in einer Datei INSTALL
, in Kommentaren am Anfang der dtx
-Datei oder in der Implementierungsanleitung selbst befinden. Ggf. kann man den Aufruf auch einfach versuchsweise durchführen und hoffen.
Aus der dtx
-Datei kann man in der Regel auch zumindest die Implementierungsanleitung, häufig auch eine Anwenderanleitung erzeugen. Dies geschieht mit dem Aufruf
Dieser Aufruf ist ggf. so lange zu wiederholen bis alle Verzeichnisse und Querverweise korrekt sind. Falls ein Index vorgesehen ist, benötigt man ggf. auch noch einen Aufruf von makeindex
. Allerdings wird für Anleitungen aus dtx
-Dateien häufig ein spezieller MakeIndex-Stil verwendet. Der Aufruf lautet daher meist
Diese beiden Aufrufe sind zwischen allen Aufrufen von pdflatex
zu tätigen. Bei TeX Live gibt es dafür die Abkürzung
Eine behelfsmäßige Anleitung erhält man aber meist bereits nach dem ersten pdflatex
-Lauf ohne zusätzliche Aufrufe von makeindex
oder ähnlichen Programmen. Außerdem enthalten die Quellcode-Archive bereits auch oft fertige Anwenderanleitungen als PDF. Auf CTAN ist das sogar die Regel.
Einige Klassen bzw. Pakete benötigen zusätzliche Programmaufrufe oder es existieren mehrere dtx
-Dateien, von denen nur eine gleichzeitig als ins
-Datei dient, oder werden stattdessen mit lualatex
aus einer dtx
oder einer tex
-Datei erzeugt oder benötigen die Aufruf-Option -shell-escape
oder -write18
. Meist gibt wiederum die Datei README
oder eine Datei INSTALL
o. ä. oder der Anfangskommentar der ins
-Datei in solchen Fällen Auskunft über das korrekte Vorgehen.
In seltenen Fällen ist auch für die ins
-Datei nicht tex
, sondern latex
zu verwenden. Dies ist aber eigentlich ein Verstoß gegen die docstrip
-Konventionen. Auch darüber sollte die Dokumentation des Quelltextes informieren.
Natürlich gibt es auch Pakete, die weit komplexer aufgebaut ist. So besteht beispielsweise der LaTeX-Quelltext aus einer ganzen Reihe von dtx
-Dateien. Die sehr beliebte KOMA-Script-Sammlung besteht ebenfalls aus mehreren dtx
-Dateien und diversen zusätzlichen Anleitungsdateien. Will man solche Formate, Klassen, Pakete oder Sammlungen selbst aus dem Quelltext erzeugen, muss man sich oft deutlich intensiver mit dem Generierungsprozess beschäftigen und in jedem Fall die entsprechenden Anleitungen, die zu den Quelltexten gehören, studieren. Der Weg zu den fertigen Dateien kann tatsächlich recht kompliziert sein.
Hat man die eigentliche Generierung erfolgreich abgeschlossen, kann man die erzeugten Dateien wie in dem erwähnten Beitrag angegeben installieren.