Vad är filformatet DVI?
En .dvi-fil är det binära typsatta dokumentet som skapas av typsättningssystemen TeX och LaTeX. Namnet står för «Device Independent» (enhetsoberoende), vilket återspeglar designmålet: formatet kodar exakt varje glyfposition och linje på varje sida utan att binda sig till en specifik utmatningsenhet - skrivare, skärm eller fotosättare.
DVI-filer är sekventiella strömmar av opkoder. Den första byten är alltid 0xF7 (opkoden pre för preamble) och den andra byten är formatversionen: 0x02 för standard DVI eller 0x03 för den utökade Omega/Lambda-varianten med stöd för dubbelriktad text. Sidblock som avgränsas av opkoderna bop och eop registrerar absoluta glyfpositioner, typsnittsval och box-regler. En postamble följer som innehåller typsnittstabellen och sidmått, och avslutande 0xDF-bytes fyller ut filen till en fyrbytesgräns.
En kritisk egenskap: DVI-filer refererar till typsnitt via namn och TFM-kontrollsumma men bäddar inte in dem. Visningsprogrammet eller konverteraren måste ha de refererade typsnitten tillgängliga lokalt - vanligtvis genom en TeX-distribution. Detta skiljer sig från PDF, som bäddar in typsnittsdelmängder för fristående rendering.
Moderna TeX-motorer går alltmer förbi .dvi helt och hållet: pdfLaTeX och LuaLaTeX skapar PDF direkt; XeTeX genererar en mellanliggande .xdv utökad DVI-fil. Den klassiska kedjan - .tex → .dvi → dvips → .ps → PDF - förblir fullt fungerande under TeX Live och MiKTeX. Plain TeX och standard LaTeX (icke-PDF-motorer) fortsätter att generera .dvi som sin nativa utdata.
Säkerhet & trygghet
RISK: LOWDVI-filer innehåller inga inbäddade skript eller makron. Kommandona «xxx» (special) bäddar in drivrutinsspecifika strängar (t.ex. PostScript-specialare via dvips) men dessa tolkas endast av DVI-drivrutinen och körs inte som kod. Lågriskformat som uteslutande används i akademiska sammanhang och TeX-sammanhang.
Formatdetaljer
i ett nötskal- Digital Video Interface (hårdvarukontakt) - DVI refererar även till standarden för bildskärmskontakter (DVI-D, DVI-I, DVI-A) - helt orelaterat; hårdvara, inte ett filformat.
Program som öppnar DVI-filer
Tekniska detaljer
djup specifikation| Kodning | Binär opkod-ström; heltal med flera bytes är big-endian |
| Magic bytes | 0xF7 vid offset 0 (pre preamble-opkod); 0x02 vid offset 1 för standard DVI-formatversion |
| Formatvarianter | Versionsbyte 0x02 = standard DVI; 0x03 = Omega/Lambda utökad DVI (RTL/LTR dubbelriktad); XDV = XeTeX-tillägg |
| Filstruktur | Preamble → sidblock (bop/eop-opkoder) → postamble (typsnittstabell, sidantal, dimensioner) → 0xDF utfyllnadsbytes |
| Typsnittshantering | Typsnitt refereras med namn och TFM-kontrollsumma; ej inbäddade - visningsprogram kräver lokal typsnittsinstallation |
| Typsnittskontrollsumma | TFM-kontrollsumma inbäddad per typsnittsdefinition; avvikelse utlöser en varning i visningsprogrammet |
| Filavslutning | Avslutande 0xDF-bytes fyller ut den totala fillängden till en multipel av 4 bytes |
| Typisk filstorlek | 10 KB - 5 MB (från vetenskaplig artikel till hel bok) |
| Koordinatsystem | Dimensioner i DVI-enheter (1 DVI-enhet = 100 nm vid standard 1000-enhets förstoring); absolut sidpositionering |
| Associerade OS | Linux, Windows, macOS, Unix (plattformsoberoende via TeX Live, MiKTeX, MacTeX) |
| Efterbehandlingskedja | dvips konverterar till PostScript; dvipdfm/dvipdfmx konverterar till PDF; dvisvgm konverterar till SVG |
| Byteordning | Big-endian för alla heltal med flera bytes inom DVI-opkoder |
| Släppt | 1979 (with TeX; first described in TUGboat 1982) |
| Senaste version | DVI format 2 (standard); format 3 = DVItype with mixed RTL/LTR (Omega/Lambda); XDV = extended DVI used by XeTeX |
| Öppen standard | Ja · royaltyfri |
| Specifikation | www.mn.uio.no |
DVI-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om DVI-filer.