¿Qué es el formato de archivo DTX?
Un archivo .dtx es un archivo de fuente LaTeX documentado, el formato estándar para distribuir paquetes de LaTeX en CTAN (Comprehensive TeX Archive Network). El formato implementa un enfoque de programación literaria: un único archivo .dtx intercala el código fuente ejecutable del paquete con su documentación completa tipografiada en un solo archivo de texto plano autónomo.
El mecanismo se basa en DocStrip, una utilidad incluida en todas las distribuciones de TeX. Los comentarios de guarda en la forma % <guard> marcan qué líneas pertenecen a la implementación y cuáles son pura documentación. Al ejecutar latex package.ins (usando el archivo instalador .ins complementario) se eliminan los marcadores de documentación y se extraen los archivos de paquete .sty o .cls utilizables. Al ejecutar pdflatex package.dtx, en su lugar, se tipografía el manual completo, con el código fuente anotado y resaltado por sintaxis.
Casi todos los paquetes de CTAN se envían como un par .dtx + .ins. El archivo .ins es un pequeño script de DocStrip que indica al extractor qué archivos de salida producir y dónde colocarlos.
Los archivos .dtx son texto plano UTF-8 (o ASCII) y se abren en cualquier editor de texto, aunque los editores compatibles con TeX como TeXstudio o Texmaker proporcionan resaltado de sintaxis. La clase de documento ltxdoc, parte del núcleo de LaTeX, se utiliza para tipografiar la documentación de los .dtx y proporciona entornos para anotar definiciones de macros junto con su código fuente.
Seguridad y protección
RIESGO: LOWLos archivos DTX son archivos de fuente en texto plano; no presentan riesgo de ejecución directa cuando se abren en un editor de texto. Compilar un .dtx no confiable con LaTeX conlleva el mismo riesgo que ejecutar cualquier documento de LaTeX: el código TeX malicioso podría ejecutar comandos de shell si --shell-escape está habilitado. No compile archivos .dtx de fuentes no confiables con shell-escape habilitado.
Detalles del formato
en pocas palabrasProgramas que abren archivos DTX
latex package.ins a través del menú Herramientas para extraer los archivos .sty. latex package.ins en la terminal para extraer .sty/.cls; ejecute pdflatex package.dtx para generar la documentación en PDF. latex package.ins a través del menú Herramientas para extraer los archivos .sty. latex package.ins a través del menú Herramientas para extraer los archivos .sty. Detalles técnicos
especificación profunda| Codificación | Texto plano - ASCII o UTF-8 |
| Mecanismo | Sistema de programación literaria DocStrip (Frank Mittelbach, 1989) |
| Sintaxis de guarda | Los comentarios % <guard> controlan qué líneas se extraen como código frente a las que se tipografían como documentación |
| Archivo complementario | El script instalador .ins dirige el proceso de extracción de DocStrip |
| Comando de extracción | latex package.ins - produce archivos de salida .sty o .cls |
| Comando de documentación | pdflatex package.dtx - tipografía el manual de la fuente anotada |
| Clase de documentación | ltxdoc (parte del núcleo de LaTeX); proporciona los entornos \DescribeMacro y \DescribeEnv |
| Tamaño de archivo típico | 5 KB - 500 KB (los paquetes grandes con documentación completa pueden alcanzar varios MB) |
| Plataforma de distribución | CTAN (Comprehensive TeX Archive Network) - prácticamente todos los paquetes de CTAN usan .dtx |
| Sistemas operativos | Windows, Linux, macOS |
| Archivos de salida | .sty (paquete) o .cls (clase de documento) extraídos por DocStrip de la fuente .dtx |
| Contenedor | Texto plano; sin envoltura binaria ni compresión |
| Lanzado | 1989 (DocStrip mechanism introduced with LaTeX2e era) |
| Última versión | no versioned format spec; governed by current DocStrip and ltxdoc packages in TeX Live |
| Estándar abierto | Sí · libre de regalías |
| Especificación | ctan.org |
Conversiones de DTX
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos DTX.
Preguntas frecuentes
¿Cómo instalo un paquete .dtx en LaTeX?
latex package.ins (el archivo instalador complementario) para extraer el archivo .sty, luego muévalo a su árbol local texmf y ejecute texhash. O use el gestor de paquetes de su distribución (tlmgr / MiKTeX Package Manager).¿Puedo abrir un archivo .dtx sin tener LaTeX instalado?
¿Cuál es la diferencia entre .dtx y .ins?
¿Cómo leo la documentación de un paquete .dtx?
pdflatex package.dtx para generar un manual en PDF. Muchos paquetes de CTAN también alojan el PDF ya compilado.