Hvad er DTX-filformatet?
En .dtx-fil er en dokumenteret LaTeX-kildefil - standardformatet til distribution af LaTeX-pakker på CTAN (Comprehensive TeX Archive Network). Formatet implementerer en tilgang til «literate programming»: en enkelt .dtx-fil fletter pakkens kørbare kildekode sammen med dens fulde opsatte dokumentation i én selvstændig tekstfil.
Mekanismen afhænger af DocStrip, et værktøj der følger med enhver TeX-distribution. «Guard»-kommentarer i formen % <guard> markerer, hvilke linjer der hører til implementeringen, og hvilke der er ren dokumentation. Ved at køre latex package.ins (ved hjælp af den tilhørende .ins-installationsfil) fjernes dokumentationsmarkørerne, og de brugbare .sty- eller .cls-pakkefiler udtrækkes. Kørsel af pdflatex package.dtx opsætter i stedet den fulde manual - komplet med annoteret kildekode med syntaksfremhævning.
Næsten enhver CTAN-pakke leveres som et .dtx + .ins-par. .ins-filen er et kort DocStrip-script, der fortæller udtrækningsværktøjet, hvilke outputfiler der skal produceres, og hvor de skal placeres.
.dtx-filer er almindelig UTF-8 (eller ASCII) tekst og kan åbnes i enhver teksteditor, selvom TeX-orienterede editorer som TeXstudio eller Texmaker tilbyder syntaksfremhævning. Dokumentklassen ltxdoc, som er en del af LaTeX-kernen, bruges til at opsætte .dtx-dokumentation og tilbyder miljøer til annotering af makrodefinitioner sammen med deres kildekode.
Sikkerhed og tryghed
RISIKO: LOWDTX-filer er kildefiler i almindelig tekst; de udgør ingen direkte eksekveringsrisiko, når de åbnes i en teksteditor. Kompilering af en upålidelig .dtx med LaTeX indebærer samme risiko som at køre ethvert LaTeX-dokument: ondsindet TeX-kode kan udføre shell-kommandoer, hvis --shell-escape er aktiveret. Kompiler ikke .dtx-filer fra upålidelige kilder med shell-escape aktiveret.
Formatdetaljer
kort fortaltProgrammer der åbner DTX-filer
latex package.ins via menuen Værktøjer for at udtrække .sty-filer. latex package.ins i terminalen for at udtrække .sty/.cls; kør pdflatex package.dtx for at bygge PDF-dokumentation. latex package.ins via menuen Værktøjer for at udtrække .sty-filer. latex package.ins via menuen Værktøjer for at udtrække .sty-filer. Tekniske detaljer
dyb specifikation| Kodning | Almindelig tekst - ASCII eller UTF-8 |
| Mekanisme | DocStrip literate programming-system (Frank Mittelbach, 1989) |
| Guard-syntaks | % <guard> kommentarer styrer, hvilke linjer der udtrækkes som kode vs. opsættes som dokumentation |
| Tilhørende fil | .ins-installationsscript driver DocStrip-udtrækningsprocessen |
| Udtrækningskommando | latex package.ins - producerer .sty- eller .cls-outputfiler |
| Dokumentationskommando | pdflatex package.dtx - opsætter annoteret kildemanual |
| Dokumentklasse | ltxdoc (en del af LaTeX-kernen); tilbyder \DescribeMacro og \DescribeEnv miljøer |
| Typisk filstørrelse | 5 KB - 500 KB (store pakker med fuld dokumentation kan nå flere MB) |
| Distributionsplatform | CTAN (Comprehensive TeX Archive Network) - stort set alle CTAN-pakker bruger .dtx |
| Operativsystemer | Windows, Linux, macOS |
| Outputfiler | .sty (pakke) eller .cls (dokumentklasse) udtrukket af DocStrip fra .dtx-kilden |
| Beholder | Almindelig tekst; ingen binær indpakning eller komprimering |
| Udgivet | 1989 (DocStrip mechanism introduced with LaTeX2e era) |
| Seneste version | no versioned format spec; governed by current DocStrip and ltxdoc packages in TeX Live |
| Åben standard | Ja · royaltyfri |
| Specifikation | ctan.org |
DTX-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om DTX-filer.
Ofte stillede spørgsmål
Hvordan installerer jeg en .dtx-pakke i LaTeX?
latex package.ins (den tilhørende installationsfil) for at udtrække .sty-filen, flyt den derefter til dit lokale texmf-træ og kør texhash. Eller brug din distributions pakkehåndtering (tlmgr / MiKTeX Package Manager).Kan jeg åbne en .dtx-fil uden at have LaTeX installeret?
Hvad er forskellen på .dtx og .ins?
Hvordan læser jeg dokumentationen til en .dtx-pakke?
pdflatex package.dtx for at generere en PDF-manual. Mange CTAN-pakker har også den færdigbyggede PDF liggende.