Was ist das DTX-Dateiformat?
Eine .dtx-Datei ist eine dokumentierte LaTeX-Quelldatei - das Standardformat für die Verteilung von LaTeX-Paketen auf CTAN (dem Comprehensive TeX Archive Network). Das Format implementiert einen Ansatz der literarischen Programmierung: Eine einzelne .dtx-Datei verschachtelt den ausführbaren Quellcode des Pakets mit seiner vollständigen gesetzten Dokumentation in einer einzigen, in sich geschlossenen Textdatei.
Der Mechanismus stützt sich auf DocStrip, ein Dienstprogramm, das in jeder TeX-Distribution enthalten ist. Guard-Kommentare in der Form % <guard> markieren, welche Zeilen zur Implementierung gehören und welche reine Dokumentation sind. Das Ausführen von latex package.ins (unter Verwendung der zugehörigen .ins-Installationsdatei) entfernt die Dokumentationsmarkierungen und extrahiert die verwendbaren .sty- oder .cls-Paketdateien. Das Ausführen von pdflatex package.dtx setzt stattdessen das vollständige Handbuch - komplett mit kommentiertem, syntax-hervorgehobenem Quellcode.
Fast jedes CTAN-Paket wird als Paar aus .dtx + .ins ausgeliefert. Die .ins-Datei ist ein kurzes DocStrip-Skript, das dem Extraktor mitteilt, welche Ausgabedateien erzeugt und wo sie abgelegt werden sollen.
.dtx-Dateien sind einfacher UTF-8- (oder ASCII-) Text und lassen sich in jedem Texteditor öffnen, wobei TeX-spezifische Editoren wie TeXstudio oder Texmaker eine Syntaxhervorhebung bieten. Die Dokumentenklasse ltxdoc, Teil des LaTeX-Kernels, wird zum Setzen der .dtx-Dokumentation verwendet und bietet Umgebungen für die Kommentierung von Makrodefinitionen neben ihrem Quellcode.
Sicherheit
RISIKO: LOWDTX-Dateien sind reine Text-Quelldateien; sie stellen kein direktes Ausführungsrisiko dar, wenn sie in einem Texteditor geöffnet werden. Das Kompilieren einer nicht vertrauenswürdigen .dtx mit LaTeX birgt das gleiche Risiko wie das Ausführen eines beliebigen LaTeX-Dokuments: Bösartiger TeX-Code könnte Shell-Befehle ausführen, wenn --shell-escape aktiviert ist. Kompilieren Sie keine .dtx-Dateien aus nicht vertrauenswürdigen Quellen mit aktiviertem shell-escape.
Formatdetails
kurz gefasstProgramme zum Öffnen von DTX-Dateien
latex package.ins über das Menü „Werkzeuge” aus, um .sty-Dateien zu extrahieren. latex package.ins im Terminal aus, um .sty/.cls zu extrahieren; führen Sie pdflatex package.dtx aus, um PDF-Dokumente zu erstellen. latex package.ins über das Menü „Werkzeuge” aus, um .sty-Dateien zu extrahieren. latex package.ins über das Menü „Werkzeuge” aus, um .sty-Dateien zu extrahieren. Technische Details
technische Spezifikation| Kodierung | Klartext - ASCII oder UTF-8 |
| Mechanismus | DocStrip-System für literarische Programmierung (Frank Mittelbach, 1989) |
| Guard-Syntax | % <guard> Kommentare steuern, welche Zeilen als Code extrahiert oder als Dokumentation gesetzt werden |
| Begleitdatei | .ins Installationsskript steuert den DocStrip-Extraktionsprozess |
| Extraktionsbefehl | latex package.ins - erzeugt .sty- oder .cls-Ausgabedateien |
| Dokumentationsbefehl | pdflatex package.dtx - setzt das kommentierte Quellcode-Handbuch |
| Dokumentenklasse | ltxdoc (Teil des LaTeX-Kernels); bietet \DescribeMacro- und \DescribeEnv-Umgebungen |
| Typische Dateigröße | 5 KB - 500 KB (große Pakete mit vollständiger Dokumentation können mehrere MB erreichen) |
| Verteilungsplattform | CTAN (Comprehensive TeX Archive Network) - praktisch alle CTAN-Pakete verwenden .dtx |
| Betriebssysteme | Windows, Linux, macOS |
| Ausgabedateien | .sty (Paket) oder .cls (Dokumentenklasse), von DocStrip aus der .dtx-Quelle extrahiert |
| Container | Klartext; kein binärer Wrapper oder Kompression |
| Veröffentlicht | 1989 (DocStrip mechanism introduced with LaTeX2e era) |
| Neueste Version | no versioned format spec; governed by current DocStrip and ltxdoc packages in TeX Live |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | ctan.org |
DTX-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu DTX-Dateien.
Häufig gestellte Fragen
Wie installiere ich ein .dtx-Paket in LaTeX?
latex package.ins (die zugehörige Installationsdatei) aus, um die .sty-Datei zu extrahieren, verschieben Sie diese dann in Ihren lokalen texmf-Baum und führen Sie texhash aus. Oder nutzen Sie den Paketmanager Ihrer Distribution (tlmgr / MiKTeX Package Manager).Kann ich eine .dtx-Datei ohne installiertes LaTeX öffnen?
Was ist der Unterschied zwischen .dtx und .ins?
Wie lese ich die Dokumentation eines .dtx-Pakets?
pdflatex package.dtx aus, um ein PDF-Handbuch zu erstellen. Viele CTAN-Pakete hosten auch das bereits erstellte PDF.