Che cos'è il formato di file DTX?
Un file .dtx è un file Documented LaTeX Source - il formato standard per la distribuzione di pacchetti LaTeX su CTAN (il Comprehensive TeX Archive Network). Il formato implementa un approccio di programmazione letterata: un singolo file .dtx alterna il codice sorgente eseguibile del pacchetto con la sua documentazione completa impaginata in un unico file di testo semplice autosufficiente.
Il meccanismo si basa su DocStrip, un'utilità inclusa in ogni distribuzione TeX. I commenti di guardia nella forma % <guard> contrassegnano quali righe appartengono all'implementazione e quali sono pura documentazione. Eseguendo latex package.ins (utilizzando il file di installazione associato .ins) si rimuovono i marcatori di documentazione e si estraggono i file del pacchetto .sty o .cls utilizzabili. Eseguendo invece pdflatex package.dtx si impagina il manuale completo - completo di codice sorgente annotato ed evidenziato sintatticamente.
Quasi ogni pacchetto CTAN viene fornito come una coppia .dtx + .ins. Il file .ins è un breve script DocStrip che indica all'estrattore quali file di output produrre e dove posizionarli.
I file .dtx sono testo semplice UTF-8 (o ASCII) e si aprono in qualsiasi editor di testo, sebbene gli editor compatibili con TeX come TeXstudio o Texmaker forniscano l'evidenziazione della sintassi. La classe di documento ltxdoc, parte del kernel LaTeX, viene utilizzata per impaginare la documentazione .dtx e fornisce ambienti per annotare le definizioni delle macro insieme al loro codice sorgente.
Sicurezza e incolumità
RISCHIO: LOWI file DTX sono file sorgente in testo semplice; non pongono rischi diretti di esecuzione quando aperti in un editor di testo. La compilazione di un .dtx non attendibile con LaTeX comporta lo stesso rischio di eseguire qualsiasi documento LaTeX: il codice TeX malevolo potrebbe eseguire comandi di shell se --shell-escape è abilitato. Non compilare file .dtx da fonti non attendibili con shell-escape abilitato.
Dettagli del formato
in sintesiProgrammi che aprono file DTX
latex package.ins tramite il menu Strumenti per estrarre i file .sty. latex package.ins nel terminale per estrarre .sty/.cls; esegui pdflatex package.dtx per creare la documentazione PDF. latex package.ins tramite il menu Strumenti per estrarre i file .sty. latex package.ins tramite il menu Strumenti per estrarre i file .sty. Dettagli tecnici
specifiche approfondite| Codifica | Testo semplice - ASCII o UTF-8 |
| Meccanismo | Sistema di programmazione letterata DocStrip (Frank Mittelbach, 1989) |
| Sintassi di guardia | I commenti % <guard> controllano quali righe vengono estratte come codice rispetto a quelle impaginate come documentazione |
| File associato | Lo script di installazione .ins guida il processo di estrazione di DocStrip |
| Comando di estrazione | latex package.ins - produce file di output .sty o .cls |
| Comando documentazione | pdflatex package.dtx - impagina il manuale del sorgente annotato |
| Classe di documentazione | ltxdoc (parte del kernel LaTeX); fornisce gli ambienti \DescribeMacro e \DescribeEnv |
| Dimensione tipica del file | 5 KB - 500 KB (pacchetti grandi con documentazione completa possono raggiungere diversi MB) |
| Piattaforma di distribuzione | CTAN (Comprehensive TeX Archive Network) - virtualmente tutti i pacchetti CTAN usano .dtx |
| Sistemi operativi | Windows, Linux, macOS |
| File di output | .sty (pacchetto) o .cls (classe di documento) estratti da DocStrip dal sorgente .dtx |
| Contenitore | Testo semplice; nessun wrapper binario o compressione |
| Rilasciato | 1989 (DocStrip mechanism introduced with LaTeX2e era) |
| Ultima versione | no versioned format spec; governed by current DocStrip and ltxdoc packages in TeX Live |
| Standard aperto | Sì · royalty-free |
| Specifica | ctan.org |
Conversioni DTX
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file DTX.
Domande frequenti
Come installo un pacchetto .dtx in LaTeX?
latex package.ins (il file di installazione associato) per estrarre il file .sty, quindi spostalo nel tuo albero texmf locale ed esegui texhash. Oppure usa il gestore pacchetti della tua distribuzione (tlmgr / MiKTeX Package Manager).Posso aprire un file .dtx senza avere LaTeX installato?
Qual è la differenza tra .dtx e .ins?
Come leggo la documentazione di un pacchetto .dtx?
pdflatex package.dtx per generare un manuale PDF. Molti pacchetti CTAN ospitano anche il PDF già compilato.