Vad är filformatet DTX?
En .dtx-fil är en dokumenterad LaTeX-källkodsfil - standardformatet för att distribuera LaTeX-paket på CTAN (Comprehensive TeX Archive Network). Formatet implementerar en metod för litterat programmering: en enda .dtx-fil varvar paketets körbara källkod med dess fullständiga typsatta dokumentation i en självständig textfil.
Mekanismen bygger på DocStrip, ett verktyg som ingår i varje TeX-distribution. Skyddskommentarer i formen % <guard> markerar vilka rader som tillhör implementeringen och vilka som är ren dokumentation. Genom att köra latex package.ins (med den tillhörande .ins-installationsfilen) rensas dokumentationsmarkörerna bort och de användbara .sty- eller .cls-paketfilerna extraheras. Om man istället kör pdflatex package.dtx typsätts hela manualen - komplett med kommenterad källkod med syntaxmarkering.
Nästan varje CTAN-paket levereras som ett par av .dtx + .ins. .ins-filen är ett kort DocStrip-skript som talar om för extraheraren vilka utdatafiler som ska skapas och var de ska placeras.
.dtx-filer är ren UTF-8 (eller ASCII) text och kan öppnas i valfri textredigerare, även om TeX-anpassade redigerare som TeXstudio eller Texmaker erbjuder syntaxmarkering. Dokumentklassen ltxdoc, som är en del av LaTeX-kärnan, används för att typsätta .dtx-dokumentation och tillhandahåller miljöer för att kommentera makrodefinitioner tillsammans med deras källkod.
Säkerhet & trygghet
RISK: LOWDTX-filer är källkodsfiler i textformat; de utgör ingen direkt körningsrisk när de öppnas i en textredigerare. Att kompilera en okänd .dtx med LaTeX innebär samma risk som att köra vilket LaTeX-dokument som helst: skadlig TeX-kod kan köra skalkommandon om --shell-escape är aktiverat. Kompilera inte .dtx-filer från okända källor med shell-escape aktiverat.
Formatdetaljer
i ett nötskalProgram som öppnar DTX-filer
latex package.ins via Tools-menyn för att extrahera .sty-filer. latex package.ins i terminalen för att extrahera .sty/.cls; kör pdflatex package.dtx för att bygga PDF-dokumentation. latex package.ins via Tools-menyn för att extrahera .sty-filer. latex package.ins via Tools-menyn för att extrahera .sty-filer. Tekniska detaljer
djup specifikation| Kodning | Ren text - ASCII eller UTF-8 |
| Mekanism | DocStrip-systemet för litterat programmering (Frank Mittelbach, 1989) |
| Skyddssyntax | % <guard>-kommentarer styr vilka rader som extraheras som kod kontra typsätts som dokumentation |
| Tillhörande fil | .ins-installationsskript driver DocStrip-extraheringsprocessen |
| Extraheringskommando | latex package.ins - skapar .sty- eller .cls-utdatafiler |
| Dokumentationskommando | pdflatex package.dtx - typsätter kommenterad källkodsmanual |
| Dokumentklass | ltxdoc (del av LaTeX-kärnan); tillhandahåller miljöerna \DescribeMacro och \DescribeEnv |
| Typisk filstorlek | 5 KB - 500 KB (stora paket med fullständig dokumentation kan nå flera MB) |
| Distributionsplattform | CTAN (Comprehensive TeX Archive Network) - praktiskt taget alla CTAN-paket använder .dtx |
| Operativsystem | Windows, Linux, macOS |
| Utdatafiler | .sty (paket) eller .cls (dokumentklass) extraherade av DocStrip från .dtx-källan |
| Behållare | Ren text; inget binärt hölje eller komprimering |
| Släppt | 1989 (DocStrip mechanism introduced with LaTeX2e era) |
| Senaste version | no versioned format spec; governed by current DocStrip and ltxdoc packages in TeX Live |
| Öppen standard | Ja · royaltyfri |
| Specifikation | ctan.org |
DTX-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om DTX-filer.
Vanliga frågor
Hur installerar jag ett .dtx-paket i LaTeX?
latex package.ins (den tillhörande installationsfilen) för att extrahera .sty-filen, flytta den sedan till ditt lokala texmf-träd och kör texhash. Eller använd din distributions pakethanterare (tlmgr / MiKTeX Package Manager).Kan jag öppna en .dtx-fil utan att ha LaTeX installerat?
Vad är skillnaden mellan .dtx och .ins?
Hur läser jag dokumentationen för ett .dtx-paket?
pdflatex package.dtx för att generera en PDF-manual. Många CTAN-paket tillhandahåller även den färdigbyggda PDF-filen.