Hva er DTX-filformatet?
En .dtx-fil er en dokumentert LaTeX-kildefil - standardformatet for distribusjon av LaTeX-pakker på CTAN (Comprehensive TeX Archive Network). Formatet implementerer en tilnærming for litterær programmering: en enkelt .dtx-fil fletter pakkens kjørbare kildekode med den fullstendige satsede dokumentasjonen i én selvstendig ren tekstfil.
Mekanismen er avhengig av DocStrip, et verktøy som følger med alle TeX-distribusjoner. «Guard»-kommentarer i form av % <guard> markerer hvilke linjer som tilhører implementeringen og hvilke som er ren dokumentasjon. Ved å kjøre latex package.ins (ved bruk av den tilhørende .ins-installasjonsfilen) fjernes dokumentasjonsmarkørene og de brukbare .sty- eller .cls-pakkefilene trekkes ut. Ved å kjøre pdflatex package.dtx i stedet, satses den fullstendige manualen - komplett med annotert kildekode med syntaksutheving.
Nesten hver eneste CTAN-pakke leveres som et par av .dtx + .ins. .ins-filen er et kort DocStrip-skript som forteller ekstraktoren hvilke utdatafiler som skal produseres og hvor de skal plasseres.
.dtx-filer er ren UTF-8 (eller ASCII) tekst og kan åpnes i alle tekstredigeringsprogrammer, selv om TeX-orienterte redigeringsprogrammer som TeXstudio eller Texmaker tilbyr syntaksutheving. Dokumentklassen ltxdoc, som er en del av LaTeX-kjernen, brukes til å satse .dtx-dokumentasjon og tilbyr miljøer for å annotere makrodefinisjoner sammen med kildekoden deres.
Sikkerhet og trygghet
RISIKO: LOWDTX-filer er kildefiler i ren tekst; de utgjør ingen direkte utførelsesrisiko når de åpnes i et tekstredigeringsprogram. Kompilering av en upålitelig .dtx med LaTeX innebærer samme risiko som å kjøre ethvert LaTeX-dokument: ondsinnet TeX-kode kan utføre skallkommandoer hvis --shell-escape er aktivert. Ikke kompiler .dtx-filer fra upålitelige kilder med shell-escape aktivert.
Formatdetaljer
i et nøtteskallProgrammer som åpner DTX-filer
latex package.ins via Verktøy-menyen for å trekke ut .sty-filer. latex package.ins i terminalen for å trekke ut .sty/.cls; kjør pdflatex package.dtx for å bygge PDF-dokumentasjon. latex package.ins via Verktøy-menyen for å trekke ut .sty-filer. latex package.ins via Verktøy-menyen for å trekke ut .sty-filer. Tekniske detaljer
dyp spesifikasjon| Koding | Ren tekst - ASCII eller UTF-8 |
| Mekanisme | DocStrip-system for litterær programmering (Frank Mittelbach, 1989) |
| Guard-syntaks | % <guard>-kommentarer kontrollerer hvilke linjer som trekkes ut som kode kontra satses som dokumentasjon |
| Tilhørende fil | .ins-installasjonsskript driver DocStrip-ekstraksjonsprosessen |
| Ekstraksjonskommando | latex package.ins - produserer .sty- eller .cls-utdatafiler |
| Dokumentasjonskommando | pdflatex package.dtx - satser annotert kildemanual |
| Dokumentklasse | ltxdoc (del av LaTeX-kjernen); tilbyr miljøene \DescribeMacro og \DescribeEnv |
| Typisk filstørrelse | 5 KB - 500 KB (store pakker med full dokumentasjon kan nå flere MB) |
| Distribusjonsplattform | CTAN (Comprehensive TeX Archive Network) - praktisk talt alle CTAN-pakker bruker .dtx |
| Operativsystemer | Windows, Linux, macOS |
| Utdatafiler | .sty (pakke) eller .cls (dokumentklasse) trukket ut av DocStrip fra .dtx-kilden |
| Beholder | Ren tekst; ingen binær innpakning eller komprimering |
| Utgitt | 1989 (DocStrip mechanism introduced with LaTeX2e era) |
| Siste versjon | no versioned format spec; governed by current DocStrip and ltxdoc packages in TeX Live |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | ctan.org |
DTX-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om DTX-filer.
Ofte stilte spørsmål
Hvordan installerer jeg en .dtx-pakke i LaTeX?
latex package.ins (den tilhørende installasjonsfilen) for å trekke ut .sty-filen, flytt den deretter til ditt lokale texmf-tre og kjør texhash. Eller bruk distribusjonens pakkebehandler (tlmgr / MiKTeX Package Manager).Kan jeg åpne en .dtx-fil uten å ha LaTeX installert?
Hva er forskjellen mellom .dtx og .ins?
Hvordan leser jeg dokumentasjonen til en .dtx-pakke?
pdflatex package.dtx for å generere en PDF-manual. Mange CTAN-pakker har også den ferdigbygde PDF-filen tilgjengelig.