Jump to content

Независимый от устройства формат файла

(Перенаправлено из формата файла DVI )
Независимый от устройства (DVI)
Выполните предварительный просмотр файла DVI. Обратите внимание, что изображения, на которые имеются ссылки, не отображаются, поскольку они не являются частью файла DVI. Изображения будут добавлены драйвером печати, например dvips .
Расширение имени файла
.два
Тип интернет-СМИ application/x-dvi (неофициальный)
Разработано Дэвид Р. Фукс
Тип формата документ

Независимый от устройства формат файла ( DVI ) — это выходной формат файла программы TeX набора текста , разработанный Дэвидом Р. Фуксом и реализованный Дональдом Э. Кнутом в 1982 году. [1] В отличие от файлов разметки TeX, используемых для их создания, файлы DVI не предназначены для чтения человеком ; они состоят из двоичных данных, описывающих визуальное расположение документа способом, не зависящим от какого-либо конкретного формата изображения , оборудования дисплея или принтера . Файлы DVI обычно используются в качестве входных данных для второй программы (называемой драйвером DVI ), которая преобразует файлы DVI в графические данные. Например, большинство пакетов программного обеспечения TeX включают программу для предварительного просмотра файлов DVI на дисплее компьютера пользователя; эта программа является драйвером. Драйверы также используются для преобразования из DVI в популярные языки описания страниц (например, PostScript , PDF ) и для печати.

Разметка TeX может быть, по крайней мере, частично перепроектирована из файлов DVI, хотя этот процесс вряд ли приведет к созданию конструкций высокого уровня, идентичных тем, которые присутствуют в исходной разметке, особенно если исходная разметка использовала расширения TeX высокого уровня (например, LaTeX ).

DVI отличается от PostScript и PDF тем, что он не поддерживает никакую форму встраивания шрифтов, а просто ссылается на имена внешних шрифтов. (И форматы PostScript, и PDF могут встраивать свои шрифты в документы.) Чтобы файл DVI можно было распечатать или даже правильно просмотреть, шрифты, на которые он ссылается, должны быть уже установлены. Как и PDF, DVI использует ограниченный тип машинного языка с гарантиями завершения, который не является полным, полным по Тьюрингу языком программирования, таким как PostScript.

По состоянию на 2004 год «Комитетом по стандартам драйверов TUG DVI» составлен сборник спецификаций, которые должен реализовать драйвер DVI. [2] Похоже, что он основан на одноименной статье TUGboat 1992 года, но она намного короче. [3] В этих документах не указан порядок байтов , который, однако, имеет обратный порядок байтов, как можно увидеть, глядя на сам файл DVI.

Спецификация

[ редактировать ]

Формат DVI был разработан как компактный и легко читаемый компьютером. С этой целью файл DVI представляет собой последовательность команд, которые , образуют « машинный язык » . Кнута , по словам [1] Каждая команда начинается с восьмибитного кода операции , за которым следует ноль или более байтов параметров. Например, опкод из группы 0x00 через 0x7F (десятичное число 127), set_char_i, вводит один символ и перемещает неявный курсор вправо на ширину этого символа. Напротив, код операции 0xF7 (десятичное число 247), pre (преамбула, которая должна быть первым кодом операции в файле DVI), занимает не менее четырнадцати байтов параметров плюс необязательный комментарий длиной до 255 байт.

В более широком смысле файл DVI состоит из преамбулы, одной или нескольких страниц и послесловия. Шесть переменных состояния сохраняются как кортеж 32-битных целых чисел со знаком: . h и v — текущие горизонтальные и вертикальные смещения от верхнего левого угла (увеличение v перемещает страницу вниз), w и x содержат значения горизонтального пространства, y и z — вертикального.

Эти переменные могут быть помещены в стек или извлечены из него . Кроме того, текущий шрифт f сохраняется как целочисленное значение, но не перемещается вместе с остальными переменными состояния, когда коды операций push или pop встречаются. Информация о расстоянии между шрифтами загружается из TFM файлов . Сами шрифты не встроены в файл DVI, на них ссылается только целочисленное значение, определенное в соответствующем файле. fnt_defi оп. (Это делается ровно дважды для каждого загруженного шрифта: один раз перед ссылкой на него и один раз в постамбуле.) f содержит целое значение длиной до четырех байт, хотя на практике TeX всегда выводит номера шрифтов только в диапазоне от 0 до 255.

Точно так же формат DVI поддерживает коды символов длиной до четырех байтов, хотя обычно встречается только диапазон 0–255, поскольку формат TFM ограничен этим диапазоном. Коды символов в файлах DVI относятся к кодировке символов текущего шрифта, а не к кодировке системы, которая его обрабатывает. Это означает, например, что система на основе EBCDIC может обрабатывать файл DVI, созданный системой на основе ASCII , если в ней установлены те же шрифты.

Графика как специальное предложение

[ редактировать ]

Формат DVI не поддерживает графику, за исключением самых простых черно-белых изображений. Вместо этого DVI имеет общий механизм выхода/расширения, известный как специальные (выраженный \special команда в TeX), которая передает графику (и цвет) на фильтры постобработки. Существует множество специальных возможностей DVI, наиболее заметными из которых являются специальные возможности PostScript , но и у других программ, таких как tpic, есть свои собственные. [4] : 6, 17 

DVI-версии

[ редактировать ]
[ редактировать ]

Файлы DVI часто конвертируются в формат PDF, PostScript или PCL для чтения и печати. Их также можно просматривать напрямую с помощью программы просмотра DVI.

  • Программы просмотра DVI: YAP (включены в MiKTeX ), xdvi , Windvi , Evince , KDVI , Okular , dviout , dviwin , DView (включены в коммерческий дистрибутив BaKoMa TeX), javaDVI , MDVI и DVIWindo (из ныне несуществующей коммерческой Y&Y TeX, который был открыт в открытом доступе). [5]
  • DVI в удобочитаемый формат: dvitype (своего рода дизассемблер)
  • Преобразователи DVI в PDF: dvipdf, dvipdfm, dvipdfmx
  • Преобразователи DVI-PS: dvips является стандартом де-факто. CTAN включает в себя некоторые старые версии, такие как dvitops (и DVIPSONE). [6] ) с пометкой, что свою долю рынка они уже давно потеряли. [7]
  • Преобразователи DVI в растровое изображение: dvipng (генерирует GIF или PNG) или используйте dvips и Ghostscript.
  • Преобразователи DVI в SVG: dvisvg , [4] : 13  dvisvgm , [4] : 13  dvi2svg; [4] : 13  [8] По состоянию на 2014 год единственный, включенный в CTAN и активно поддерживаемый, — это dvisvgm. [9]

Первые программы предварительного просмотра DVI, способные просматривать и изменять документы LaTeX на экране, работали на Amigas . [10] [11]

Конвертеры DVI в PDF

[ редактировать ]

dvipdf — это инструмент для перевода файлов DVI (сгенерированных TeX ) в файлы PDF . В текущих дистрибутивах Linux, таких как Ubuntu , это тонкая оболочка вокруг dvips и Ghostscript , авторские права на которую принадлежат Artifex Software (создателям Ghostscript). [12] Возможно, другая программа с тем же названием, описываемая как модифицированная версия dvips, была анонсирована в конце 1990-х годов Сергеем Лесенко. [13] [14] [15] однако он, по-видимому, так и не был выпущен . [16] [17]

dvipdfm — это переводчик DVI в PDF, разработанный Марком А. Уиксом. В ранней документации dvipdfm особо упоминается ограниченная доступность dvipdf Лесенко как причина создания dvipdfm. [18] dvipdfm поддерживает большинство новых специальных функций формата PDF, включая закладки , аннотации , миниатюры и специальные функции dvips — функция, позволяющая включать файлы инкапсулированного PostScript (.eps), такие как выходные данные METAPOST , а также включение JPEG и PNG. изображений ; другие функции dvipdfm включают частичное внедрение шрифтов (уменьшение размера файла) и балансировку внутренних деревьев PDF-документов для ускорения рендеринга больших документов. [4] : 798  Многие из этих функций (за исключением прямой поддержки файлов .eps) [19] ) также присутствуют в pdfTeX , который верстает TeX непосредственно в PDF. В 4-м издании «Руководства по LaTeX» 2004 г. они сравниваются следующим образом: [20]

Программа dvipdfm выполнена в оригинальном духе TEX, который использует DVI в качестве универсального промежуточного формата для всех выходных данных. Пуристы, возможно, склонны уважать этот идеал. В конце концов, никто никогда не рассматривал возможность переписать TEX для прямого вывода PostScript. Тем не менее, следует учитывать, что TEX был изобретен в те дни, когда ни одна спецификация принтера не доминировала в этой области. Сегодня PDF — это нечто большее, чем просто формат принтера; это средство представления документов в электронном виде. Это само по себе не оправдывает предпочтение pdfTEX перед конвертером DVI-to-PDF, равно как и тот факт, что он экономит этап обработки; Решающим аргументом является то, что pdfTEX зарекомендовал себя как надежный, надежный и гибкий. В конце концов, скорее всего, возникает вопрос о том, какая программа более удобна и какая из них дала лучшие результаты для конкретного пользователя.

dvipdfmx — это расширенная версия переводчика dvipdfm DVI-to-PDF, включенная в текущие дистрибутивы TeX, такие как TeX Live 2014. [21] и МиКТекс 2.9. [22] Основная цель проекта dvipdfmx — поддержка многобайтовых кодировок символов и наборов символов CJK для восточноазиатских языков. [23] dvipdfmx также включен (в несколько измененной форме) в XeTeX . [4] : 798 

Во втором издании LaTeX Graphics Companion за 2008 г. содержится следующее предложение по рабочему процессу: [4] : 803 

Маршрут, по которому вам следует следовать, в основном зависит от графического материала, который вы хотите включить. Если большая часть файлов находится в формате EPS, проще всего использовать latex, затем dvips и, наконец, ps2pdf . Если все ваши графические файлы уже находятся в формате PDF и содержат некоторые изображения JPEG и PNG, более прямой путь — запустить pdflatex. Вы также можете объединить оба подхода, запустив latex и программу dvipdfmx. Если вы часто используете PSTricks , вам следует [...] посмотреть пакет pst-pdf.

Ссылки и примечания

[ редактировать ]
  1. ^ Перейти обратно: а б Дональд Э. Кнут (декабрь 1995 г.). «DVItype» ( исходный код WEB ; извлеките полную документацию с помощью WEAVE ) . Версия 3.6 . Проверено 7 мая 2008 г.
  2. ^ Комитет по стандартам драйверов TUG DVI. «Стандарт драйвера DVI, уровень 0» (PDF) . ctan.org .
  3. ^ Комитет по стандартам драйверов TUG DVI (1992). «Стандарт драйвера DVI, уровень 0» (PDF) . БУКСИР . 13:54 .
  4. ^ Перейти обратно: а б с д и ж г Мишель Гуссенс, Франк Миттельбах, Себастьян Рахц , Денис Рогель, Герберт Восс (2008). LaTeX Graphics Companion (2-е изд.). Эддисон Уэсли. ISBN  978-0-321-50892-8 . {{cite book}}: CS1 maint: несколько имен: список авторов ( ссылка )
  5. ^ «Y&Y Inc. — DVIWindo» . www.tug.org .
  6. ^ "Y&Y Inc. -- ДВИПСОН" . www.tug.org .
  7. ^ «CTAN: /tex-archive/dviware/dvitops» . ctan.org .
  8. ^ https://www.tug.org/TUGboat/tb27-2/tb87frischauf.pdf [ пустой URL PDF ]
  9. ^ «CTAN: /tex-archive/dviware» . ctan.org .
  10. ^ В 1986 году Томас Рокицки напечатал свою первую страницу с помощью dvisw, раннего драйвера принтера DVI для Amiga, на QMS SmartWriter с использованием AmigaTeX от Radical Eye Software . Ссылка на реликтовую информацию об основных вехах истории LaTeX доступна на этом внешнем сайте .
  11. ^ Рокицки, Томас (апрель 1988 г.). «Коммодор Amiga: волшебная машина TeX» (PDF) . БУКСИР . 9 (1): 40–41 . Проверено 19 ноября 2010 г.
  12. ^ «Страница руководства Ubuntu: Dvipdf — преобразование файла TeX DVI в PDF с помощью Ghostscript и dvips» . Архивировано из оригинала 9 сентября 2015 г. Проверено 3 августа 2014 г.
  13. ^ https://www.tug.org/TUGboat/tb17-3/tb52lese.pdf . [ пустой URL PDF ]
  14. ^ https://www.tug.org/TUGboat/tb18-3/tb56lese.pdf . [ пустой URL PDF ]
  15. ^ «(La)TeX Навигатор» .
  16. ^ Хельмут Копка; Патрик В. Дейли (февраль 2008 г.) [2004 г.]. Руководство по LaTeX (4-е; 9-е печатное изд.). Пирсон Образование. § 13.2.2 драйвер dvipdfm. ISBN  978-0-321-17385-0 .
  17. ^ "Где арт dvipdf? - comp.text.tex" . www.compgroups.net . Архивировано из оригинала 11 августа 2014 года. {{cite web}}: CS1 maint: неподходящий URL ( ссылка )
  18. ^ Марк А. Уикс, Руководство пользователя Dvipdfm. Архивировано 6 июля 2015 г. на Wayback Machine , версия 0.12.4, 19 сентября 1999 г., страница 2.
  19. ^ «перенаправление texfaq2html, эмулирующее поиск cgi-bin на исходном сайте» . www.texfaq.org .
  20. ^ Хельмут Копка; Патрик В. Дейли (февраль 2008 г.) [2004 г.]. Руководство по LaTeX (4-е; 9-е печатное изд.). Пирсон Образование. § 13.2.3 Программа pdfTEX. ISBN  978-0-321-17385-0 .
  21. ^ «Debian — Подробная информация о пакете texlive-base в sid» . packages.debian.org .
  22. ^ «Пакеты MiKTeX AZ» . сайт miktex.org .
  23. ^ «Проект DVIPDFMx» . project.ktug.org .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 2291348c365547955f0deecf543bc931__1716244260
URL1:https://arc.ask3.ru/arc/aa/22/31/2291348c365547955f0deecf543bc931.html
Заголовок, (Title) документа по адресу, URL1:
Device independent file format - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)