Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
5_fichiers:dvi:qu_est_qu_un_fichier_dvi [2021/03/10 14:39] – Suppression d'un paragraphe en anglais oublié. Mots-clefs OpenGraph. jejust | 5_fichiers:dvi:qu_est_qu_un_fichier_dvi [2022/09/23 16:44] (Version actuelle) – Suppression d'espace inutile dbitouze | ||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
- | " | + | " |
- | car ce format de fichier est fait pour pouvoir être converti | + | C'est historiquement le format de fichier |
- | pour être imprimé ou visualisé sur la plupart des types | + | Il porte ce nom car il est conçu |
+ | en vue d'être imprimé ou visualisé sur la plupart des types | ||
de périphériques de sortie (écrans, imprimantes...). | de périphériques de sortie (écrans, imprimantes...). | ||
Ce format de fichier n'a rien à voir avec le type de connexion | Ce format de fichier n'a rien à voir avec le type de connexion | ||
Ligne 10: | Ligne 11: | ||
que vous utilisez pour brancher un écran sur votre ordinateur. | que vous utilisez pour brancher un écran sur votre ordinateur. | ||
- | Un fichier DVI (c' | ||
- | est le principal fichier de sortie du TeX " | ||
- | avec les commandes '' | ||
- | Les systèmes ultérieurs, | ||
- | ou [[1_generalites: | ||
- | d' | ||
- | Un fichier | + | ===== Où rencontre-t-on les fichiers |
- | ou à la prévisualisation, à l'exception des dessins caractères, | + | |
- | et de tout élément introduit par [[5_fichiers: | + | Lorsque vous compilez votre document avec les commandes |
+ | un fichier dont l'extension est '' | ||
+ | et [[1_generalites: | ||
+ | et sont généralement utilisés pour produire directement des fichiers PDF.)). | ||
+ | Ce format DVI est le format de fichier de sortie d' | ||
+ | et implémenté par Donald E. Knuth quand il a écrit le moteur TeX. | ||
+ | Contrairement aux fichiers TeX ou LaTeX, qui sont dans un langage balisé fait pour être écrit et lu par des humains, | ||
+ | les fichiers DVI ne sont pas destinés | ||
+ | la présentation visuelle d'un document d'une manière qui ne dépend pas d'un format d' | ||
+ | d'une imprimante particuliers. | ||
+ | |||
+ | Un fichier TeX doit donner la même sortie DVI quelle que soit l'implémentation | ||
+ | de TeX utilisée pour le compiler. | ||
+ | |||
+ | |||
+ | Un fichier DVI est généralement utilisé comme entrée d'un second programme, appelé « [[5_fichiers: | ||
+ | qui va s'occuper de le traduire en informations graphiques. | ||
+ | Par exemple, la plupart des distributions TeX comprennent un programme permettant de prévisualiser les fichiers DVI | ||
+ | sur un écran d'ordinateur. D'autres pilotes vont convertir les fichiers DVI en PostScript ou en PDF | ||
+ | (des langages de description de pages), ou dans des formats spéciaux pour tel ou tel modèle d'imprimante. | ||
+ | |||
+ | |||
+ | |||
+ | Le DVI diffère du PostScript et du PDF en ce que, s'il contient bien toute les autres informations nécessaires | ||
+ | à l' | ||
+ | soit intégrer leurs polices à l' | ||
Dans le fichier DVI, les caractères (représentant les glyphes pour l' | Dans le fichier DVI, les caractères (représentant les glyphes pour l' | ||
apparaissent selon un codage décrit dans le document. | apparaissent selon un codage décrit dans le document. | ||
+ | Donc pour qu'un fichier DVI puisse être imprimé ou même correctement prévisualisé, | ||
+ | les polices auxquelles il fait référence doivent être déjà installées. | ||
- | Un même fichier TeX doit conduire au même fichier DVI | + | Autre élément manquant dans le fichier DVI: tout ce qui a été introduit |
- | quelle que soit l'implémentation | + | par [[5_fichiers: |
+ | (qui sont généralement une façon | ||
+ | pour s' | ||
+ | voir ci-après). | ||
- | Un fichier DVI est généralement traité par un [[5_fichiers: | ||
- | pour produire une sortie conçue spécifiquement pour tel ou tel modèle d' | ||
- | ou pour être converti dans un autre format (pour être distribué), | ||
- | ou enfin pour être prévisualisé sur un écran d' | ||
- | La référence ultime pour la structure d'un fichier | + | Comme le PDF, et à la différence du PS, le DVI utilise un langage qui n'est pas |
- | du programme '' | + | un langage |
- | était | + | Il est est limité et offre une [[wpfr> |
+ | |||
+ | |||
+ | Le balisage du document TeX initial | ||
+ | mais ce processus ne retrouvera pas les constructions | ||
+ | des extensions complexes (ne serait-ce que LaTeX). | ||
<note tip> | <note tip> | ||
- | [[1_generalites: | + | [[1_generalites: |
utilise un " | utilise un " | ||
et il faut utiliser le [[5_fichiers: | et il faut utiliser le [[5_fichiers: | ||
</ | </ | ||
+ | |||
+ | |||
+ | ===== Spécifications ===== | ||
+ | |||
+ | La référence ultime pour la structure d'un fichier DVI est le code-source | ||
+ | du programme [[ctanpkg> | ||
+ | était de visualiser le contenu d'un fichier DVI). Mais ce n'est pas très pratique | ||
+ | pour rendre ce format accessible à d' | ||
+ | le [[https:// | ||
+ | les [[ctanpkg> | ||
+ | Ces spécifications sont partiellement basées sur un [[https:// | ||
+ | |||
+ | |||
+ | Le format DVI a été conçu pour être compact et facilement lisible par une machine. | ||
+ | Dans ce but, un fichier DVI est une séquence de commandes qui forment une sorte de | ||
+ | « langage machine », selon les termes de Knuth. | ||
+ | Chaque commande commence par un opcode de huit bits, suivi de zéro octet ou plus de paramètres. | ||
+ | Par exemple, un opcode du groupe '' | ||
+ | insère un unique caractère et déplace le curseur de la largeur de ce caractère. | ||
+ | L' | ||
+ | prend au moins quatorze octets de paramètres, | ||
+ | 255 octets((Les spécifications du format ne le précisent pas, mais DVI est [[wpfr> | ||
+ | |||
+ | |||
+ | De façon plus générale, un fichier DVI se compose d'un préambule, d'une ou plusieurs pages et d'un postambule. | ||
+ | Six variables d' | ||
+ | (//h//, //v//, //w//, //x//, //y//, //z//): | ||
+ | * //h// et //v// sont les décalages horizontaux et verticaux actuels par rapport au coin supérieur gauche (quand //v// augmente le curseur se déplace vers le bas de la page), | ||
+ | * //w// et //x// contiennent les informations d' | ||
+ | * //y// et //z// contiennent les informations d' | ||
+ | |||
+ | Ces variables peuvent être ajoutée ou retirées de la pile (//pushed// et // | ||
+ | En outre, la police actuelle, notée //f//, est stockée sous forme d'un entier, | ||
+ | mais elle pas stockées dans la pile avec les autres variables d' | ||
+ | Les informations sur la taille de chaque caractère sont chargées depuis les fichiers TFM. | ||
+ | Les polices elles-mêmes ne sont pas incluses dans le fichier DVI, mais seulement référencées | ||
+ | par un entier défini par l' | ||
+ | pour chaque police chargée : une fois avant qu' | ||
+ | //f// contient une valeur entière d'une longueur maximale de quatre octets, bien qu'en pratique, | ||
+ | TeX ne donne que des numéros de polices compris entre 0 et 255. | ||
+ | |||
+ | De même, le format DVI prend en charge les codes de caractères d'une longueur maximale de quatre octets, | ||
+ | même si seule la plage 0-255 est couramment utilisée, le format TFM étant limité à cette plage. | ||
+ | Les codes de caractères du fichier DVI font référence au codage des caractères dans la police actuelle, | ||
+ | et non à celui du système. Cela signifie, par exemple, qu'un système EBCDIC peut traiter un fichier DVI généré | ||
+ | sur un système ASCII, à condition que les mêmes polices soient installées. | ||
+ | |||
+ | |||
+ | ===== L' | ||
+ | |||
+ | Le format DVI ne prend pas en charge les dessins, à l' | ||
+ | Par contre, le format DVI propose un mécanisme général d' | ||
+ | qui permet que le pilote DVI passe simplement les informations à l' | ||
+ | Ainsi, avec la commande TeX '' | ||
+ | des couleurs dans le fichier DVI. Le pilote DVI n'y touchera pas, il se contentera de transmettre ces information | ||
+ | à des filtres de post-traitement. Il existe de nombreuses commandes spéciales DVI, dont les plus remarquables | ||
+ | sont des commandes spéciales PostScript (utilisée intensivement par l' | ||
+ | mais d' | ||
Ligne 46: | Ligne 130: | ||
// | // | ||
* [[faquk> | * [[faquk> | ||
- | * [[wpfr> | + | * [[wpfr> |
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
{{htmlmetatags> | {{htmlmetatags> |