Este artículo necesita citas adicionales para su verificación . ( agosto de 2014 ) |
Extensión de nombre de archivo | .dvi |
---|---|
Tipo de medio de Internet | application/x-dvi (no oficial) |
Desarrollado por | David R. Fuchs |
Tipo de formato | documento |
El formato de archivo independiente del dispositivo ( DVI ) es el formato de archivo de salida del programa de composición tipográfica TeX , diseñado por David R. Fuchs en 1979. [1] A diferencia de los archivos de marcado TeX utilizados para generarlos, los archivos DVI no están pensados para ser legibles por humanos ; consisten en datos binarios que describen el diseño visual de un documento de una manera que no depende de ningún formato de imagen , hardware de visualización o impresora específicos . Los archivos DVI se utilizan normalmente como entrada para un segundo programa (llamado controlador DVI ) que traduce los archivos DVI a datos gráficos. Por ejemplo, la mayoría de los paquetes de software TeX incluyen un programa para obtener una vista previa de los archivos DVI en la pantalla de la computadora de un usuario; este programa es un controlador. Los controladores también se utilizan para convertir de DVI a lenguajes de descripción de página populares (por ejemplo, PostScript , PDF ) y para imprimir.
El marcado TeX puede ser al menos parcialmente diseñado a la inversa a partir de archivos DVI, aunque es poco probable que este proceso produzca construcciones de alto nivel idénticas a las presentes en el marcado original, especialmente si el marcado original usaba extensiones TeX de alto nivel (por ejemplo, LaTeX ).
DVI se diferencia de PostScript y PDF en que no admite ningún tipo de incrustación de fuentes, sino que simplemente hace referencia a nombres de fuentes externas. (Tanto los formatos PostScript como PDF pueden incrustar sus fuentes dentro de los documentos). Para que un archivo DVI se pueda imprimir o incluso previsualizar correctamente, las fuentes a las que hace referencia ya deben estar instaladas. Al igual que PDF, DVI utiliza un tipo limitado de lenguaje de máquina con garantías de terminación que no es un lenguaje de programación completo y de Turing-completo como PostScript.
A partir de 2004 existe una compilación de las especificaciones que debe implementar un controlador DVI por parte del "TUG DVI Driver Standards Committee". [2] Parece estar basado en un artículo de TUGboat del mismo nombre de 1992, pero que es mucho más corto. [3] Estos documentos no especifican el endianness , que sin embargo es big endian, como se puede ver al observar un archivo DVI en sí.
El formato DVI fue diseñado para ser compacto y fácil de leer por máquina. Con este fin, un archivo DVI es una secuencia de comandos que forman "un lenguaje similar al de una máquina ", en palabras de Knuth . [1] Cada comando comienza con un código de operación de ocho bits , seguido de cero o más bytes de parámetros. Por ejemplo, un código de operación del grupo 0x00
hasta 0x7F
(decimal 127), , compone un solo carácter y mueve el cursor implícito a la derecha por el ancho de ese carácter. En contraste, el código de operación (decimal 247), (el preámbulo, que debe ser el primer código de operación en el archivo DVI), toma al menos catorce bytes de parámetros, más un comentario opcional de hasta 255 bytes.set_char_i
0xF7
pre
En un sentido más amplio, un archivo DVI consta de un preámbulo, una o más páginas y un epílogo. Se mantienen seis variables de estado como una tupla de números enteros de 32 bits con signo: . h y v son los desplazamientos horizontales y verticales actuales desde la esquina superior izquierda (el aumento de v hace que se desplace hacia abajo en la página), w y x contienen valores de espacio horizontal, y y z , verticales.
Estas variables se pueden insertar o extraer de la pila . Además, la fuente actual f se conserva como un valor entero, pero no se inserta ni se extrae con el resto de las variables de estado cuando se encuentran los códigos de operación push
o . La información de espaciado de fuentes se carga desde archivos TFM . Las fuentes en sí no están incrustadas en el archivo DVI, solo se hace referencia a ellas mediante un valor entero definido en la operación relevante. (Esto se hace exactamente dos veces para cada fuente cargada: una vez antes de que se haga referencia a ella y otra en el epílogo). f contiene un valor entero de hasta cuatro bytes de longitud, aunque en la práctica, TeX solo genera números de fuente en el rango de 0 a 255.pop
fnt_defi
De manera similar, el formato DVI admite códigos de caracteres de hasta cuatro bytes de longitud, aunque normalmente solo se ve el rango de 0 a 255, ya que el formato TFM está limitado a ese rango. Los códigos de caracteres en los archivos DVI hacen referencia a la codificación de caracteres de la fuente actual, en lugar de a la del sistema que la procesa. Esto significa, por ejemplo, que un sistema basado en EBCDIC puede procesar un archivo DVI generado por un sistema basado en ASCII , siempre que tenga instaladas las mismas fuentes.
El formato DVI no admite gráficos, excepto los cuadros en blanco y negro más básicos. En su lugar, DVI tiene un mecanismo de escape/extensión general, conocido como specials (expresado por el \special
comando en TeX), que posterga los gráficos (y el color) a los filtros de posprocesamiento. Existen numerosos specials de DVI, los más notables de los cuales son los especiales de PostScript , pero otros programas como tpic tienen los suyos propios. [4] : 6, 17
Esta sección necesita ser ampliada . Puedes ayudar agregándole algo. ( Agosto 2014 ) |
Los archivos DVI suelen convertirse a formato PDF, PostScript o PCL para su lectura e impresión. También pueden visualizarse directamente mediante visualizadores DVI.
Los primeros previsualizadores DVI capaces de previsualizar y modificar documentos LaTeX en pantalla funcionaban en Amigas . [10] [11]
dvipdf es una herramienta para traducir archivos DVI (generados por TeX ) a archivos PDF . En las distribuciones Linux actuales como Ubuntu , es una envoltura delgada alrededor de dvips y Ghostscript , y sus derechos de autor pertenecen a Artifex Software (los creadores de Ghostscript). [12] Un programa posiblemente diferente con el mismo nombre, descrito como una versión modificada de dvips, fue anunciado a fines de la década de 1990 por Sergey Lesenko, [13] [14] [15] sin embargo, aparentemente nunca fue lanzado . [16] [17]
dvipdfm es un traductor de DVI a PDF desarrollado por Mark A. Wicks. La documentación inicial de dvipdfm menciona específicamente la disponibilidad limitada de dvipdf de Lesenko como una razón para crear dvipdfm. [18] dvipdfm admite la mayoría de las funciones especiales más nuevas del formato PDF, incluidos marcadores , anotaciones , miniaturas y especiales de dvips (una característica que hace posible la inclusión de archivos PostScript encapsulado (.eps) como la salida METAPOST ), así como la inclusión de imágenes JPEG y PNG ; otras características de dvipdfm incluyen la incrustación parcial de fuentes (reduciendo el tamaño del archivo) y el equilibrio de los árboles de documentos PDF internos para acelerar la representación de documentos grandes. [4] : 798 Muchas de estas características (excepto el soporte directo para archivos .eps [19] ) también están presentes en pdfTeX , que compone TeX directamente a PDF. La cuarta edición de la Guía de LaTeX de 2004 los compara de la siguiente manera: [20]
El programa dvipdfm sigue el espíritu original de TEX, que utiliza DVI como formato intermedio universal para todas las salidas. Los puristas pueden tender a respetar este ideal. Después de todo, nadie jamás consideró reescribir TEX para producir una salida PostScript directamente. Dicho esto, hay que tener en cuenta que TEX se inventó en los días en que ninguna especificación de impresora dominaba el campo. Hoy, PDF es mucho más que un formato de impresora; es el medio de representar documentos electrónicamente. Eso por sí solo no justificaría la preferencia de pdfTEX por sobre un conversor de DVI a PDF, ni tampoco el hecho de que ahorra un paso de procesamiento; el argumento decisivo es que pdfTEX se ha establecido como confiable, robusto y flexible. Al final, es probable que sea una cuestión de con qué programa uno se siente más cómodo y cuál ha dado los mejores resultados para el usuario en particular.
dvipdfmx es una versión extendida del traductor DVI-a-PDF dvipdfm, incluido en distribuciones TeX actuales como TeX Live 2014 [21] y MiKTeX 2.9. [22] El objetivo principal del proyecto dvipdfmx es soportar codificaciones de caracteres multibyte y conjuntos de caracteres CJK para idiomas del este asiático. [23] dvipdfmx también está incluido (en una forma algo modificada) en XeTeX . [4] : 798
La segunda edición de 2008 de LaTeX Graphics Companion hace la siguiente sugerencia de flujo de trabajo: [4] : 803
La ruta que debes seguir depende principalmente del material gráfico que quieras incluir. Si la mayor parte está en formato EPS, la forma más fácil es utilizar latex, seguido de dvips y, por último, ps2pdf . Si todos tus archivos gráficos ya están en formato PDF, con algunas imágenes JPEG y PNG, la ruta más directa es ejecutar pdflatex. También puedes combinar ambos enfoques ejecutando latex y el programa dvipdfmx. Si utilizas mucho PSTricks , deberías echar un vistazo al paquete pst-pdf.
El primer programa DVItype fue diseñado por David Fuchs en 1979.
{{cite book}}
: CS1 maint: varios nombres: lista de autores ( enlace ){{cite web}}
: CS1 maint: unfit URL (link)