Co to jest format pliku DTX?
Plik .dtx to udokumentowany plik źródłowy LaTeX - standardowy format dystrybucji pakietów LaTeX w sieci CTAN (Comprehensive TeX Archive Network). Format ten realizuje podejście programowania piśmiennego (literate programming): pojedynczy plik .dtx przeplata kod źródłowy pakietu z jego pełną dokumentacją w jednym autonomicznym pliku tekstowym.
Mechanizm ten opiera się na DocStrip, narzędziu dołączonym do każdej dystrybucji TeX. Komentarze strażnicze (guards) w formie % <guard> oznaczają, które linie należą do implementacji, a które są czystą dokumentacją. Uruchomienie latex package.ins (przy użyciu towarzyszącego pliku instalacyjnego .ins) usuwa znaczniki dokumentacji i wyodrębnia użyteczne pliki pakietów .sty lub .cls. Z kolei uruchomienie pdflatex package.dtx składa pełny podręcznik - wraz z opatrzonym komentarzami i wyróżnioną składnią kodem źródłowym.
Prawie każdy pakiet CTAN jest dostarczany jako para .dtx + .ins. Plik .ins to krótki skrypt DocStrip, który informuje ekstraktor, jakie pliki wyjściowe należy wygenerować i gdzie je umieścić.
Pliki .dtx to zwykły tekst UTF-8 (lub ASCII) i można je otworzyć w dowolnym edytorze tekstu, choć edytory obsługujące TeX, takie jak TeXstudio lub Texmaker, zapewniają podświetlanie składni. Klasa dokumentu ltxdoc, będąca częścią jądra LaTeX, służy do składania dokumentacji .dtx i udostępnia środowiska do opisywania definicji makr obok ich kodu źródłowego.
Bezpieczeństwo
RYZYKO: LOWPliki DTX to pliki źródłowe w formacie tekstowym; nie stanowią bezpośredniego zagrożenia przy otwieraniu w edytorze tekstu. Kompilacja niezaufanego pliku .dtx za pomocą LaTeX niesie ze sobą takie samo ryzyko, jak uruchomienie dowolnego dokumentu LaTeX: złośliwy kod TeX może wykonywać polecenia powłoki, jeśli włączona jest opcja --shell-escape. Nie należy kompilować plików .dtx z niezaufanych źródeł z włączoną opcją shell-escape.
Szczegóły formatu
w pigułceProgramy otwierające pliki DTX
latex package.ins przez menu Narzędzia, aby wyodrębnić pliki .sty. latex package.ins w terminalu, aby wyodrębnić .sty/.cls; uruchom pdflatex package.dtx, aby zbudować dokumentację PDF. latex package.ins przez menu Narzędzia, aby wyodrębnić pliki .sty. latex package.ins przez menu Narzędzia, aby wyodrębnić pliki .sty. Szczegóły techniczne
specyfikacja| Kodowanie | Zwykły tekst - ASCII lub UTF-8 |
| Mechanizm | System programowania piśmiennego DocStrip (Frank Mittelbach, 1989) |
| Składnia strażników | Komentarze % <guard> kontrolują, które linie są wyodrębniane jako kod, a które składane jako dokumentacja |
| Plik towarzyszący | Skrypt instalacyjny .ins steruje procesem wyodrębniania DocStrip |
| Polecenie wyodrębniania | latex package.ins - generuje pliki wyjściowe .sty lub .cls |
| Polecenie dokumentacji | pdflatex package.dtx - składa opatrzony komentarzami podręcznik źródłowy |
| Klasa dokumentacji | ltxdoc (część jądra LaTeX); udostępnia środowiska \DescribeMacro i \DescribeEnv |
| Typowy rozmiar pliku | 5 KB - 500 KB (duże pakiety z pełną dokumentacją mogą osiągać kilka MB) |
| Platforma dystrybucji | CTAN (Comprehensive TeX Archive Network) - praktycznie wszystkie pakiety CTAN używają .dtx |
| Systemy operacyjne | Windows, Linux, macOS |
| Pliki wyjściowe | .sty (pakiet) lub .cls (klasa dokumentu) wyodrębnione przez DocStrip ze źródła .dtx |
| Kontener | Zwykły tekst; brak binarnego opakowania lub kompresji |
| Wydano | 1989 (DocStrip mechanism introduced with LaTeX2e era) |
| Najnowsza wersja | no versioned format spec; governed by current DocStrip and ltxdoc packages in TeX Live |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | ctan.org |
Konwersje DTX
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki DTX.
Najczęściej zadawane pytania
Jak zainstalować pakiet .dtx w LaTeX?
latex package.ins (towarzyszący plik instalacyjny), aby wyodrębnić plik .sty, a następnie przenieś go do lokalnego drzewa texmf i uruchom texhash. Możesz też użyć menedżera pakietów swojej dystrybucji (tlmgr / MiKTeX Package Manager).Czy mogę otworzyć plik .dtx bez zainstalowanego LaTeX?
Jaka jest różnica między .dtx a .ins?
Jak przeczytać dokumentację pakietu .dtx?
pdflatex package.dtx, aby wygenerować podręcznik PDF. Wiele pakietów CTAN udostępnia również gotowe pliki PDF.