Читаем Журнал «Компьютерра» № 14 от 11 апреля 2006 года полностью

Все перечисленные и некоторые другие недостатки TEX обусловлены примитивностью формата dvi — передового для 80-х, но явно устаревшего уже в 90-х. Наращивание возможностей этого формата или даже поддержание его «на плаву» — чрезвычайно трудоемкая задача. По идее, для каждого нового устройства вывода нужно писать свой dvi-драйвер. Понятно, что в современных условиях это практически невозможно. Вместо постоянного сопровождения dvi сообществом пользователей TEX был выбран другой путь — путь разработки универсального драйвера, конвертирующего dvi в стандартный для полиграфических систем язык PostScript. Параллельно с развитием GNU-системы Ghostscript, которая обеспечивает трансляцию текстов PostScript в форму, непосредственно воспринимаемую устройствами вывода, это решило проблему совместимости с устройствами печати.

PostScript и dvips

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

Система dvips, существующая в нескольких вариантах, конвертирует файлы в формате dvi в PostScript-программы. Возможности PostScript (вставка картинок, трансформация текста, цвет) значительно шире, чем у dvi, и естественно, что для их использования были разработаны макропакеты. Формат dvi, благодаря наличию в TEX команды \special, позволяет вставлять указания, специфические для выбранного драйвера, в частности программы на PostScript.

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

Этот формат (portable document format) — прямое развитие PostScript, хотя он и не является «настоящим» языком программирования. В pdf нельзя, например, вычислить 2+2. Данные в этом формате в основном бинарные, но даже текстовая часть связана абсолютными ссылками, что не позволяет ее изменять.

Зато pdf обладает неплохими средствами для организации диалога с пользователем. Фактически pdf по этому параметру не уступает html (поддерживаются гиперссылки, формы, которые могут обрабатываться самим документом или веб-сервером, а также javascript) и может использоваться вместо него. В отличие от html, языка обобщенной (логической) разметки, pdf жестко фиксирует способ показа каждого элемента документа.

Структура pdf-файла весьма проста — это список занумерованных объектов, после которых следует каталог ссылок на них, а затем — ссылка на этот каталог. Часть данных в pdf-формате (содержимое объектов), как правило, упакована по известным алгоритмам сжатия. Одним из недостатков pdf, отсутствующим у PostScript, является необходимость считывания всего документа перед показом любой его части, что обусловлено местом расположения каталога объектов.

Система pdfTEX создает основу для работы макропакетов типа ConTEXt, выдавая результат сразу в виде pdf. С одной стороны, она позволяет использовать разнообразные полиграфические средства — такие же, как в PostScript; а с другой — поддерживает все диалоговые возможности pdf: работу с графическими изображениями, цветом, мультимедиа, трансформацией текстов и изображений, элементами управления типа кнопок, полей ввода данных и т. п., а также веб-ссылки. Отметим еще всплывающие аннотации к любому участку документа, возможность размещения статьи в виде не связанных друг с другом фрагментов текста и простоту — одной командой — изготовления брошюр, когда, например, на листе A4 печатаются две страницы A5. рdf-ссылки могут указывать не только на какой-то URL, но и на другое место в текущем файле, а также на другой pdf-документ, и содержат указание не только на то, куда они отсылают, но и на способ отображения целевого объекта. В pdfTEX большое внимание уделяется работе с объектами — более мощными разновидностями традиционных теховских «боксов»[Бокс (калька с английского слова box) — прямоугольник, куда помещается картинка (в простейшем случае состоящая из одного символа)].

Перейти на страницу:

Все книги серии Компьютерра

Похожие книги

«Если», 1998 № 03
«Если», 1998 № 03

ФАНТАСТИКАЕжемесячный журналСодержание:Роберт Силверберг. ЗОВИТЕ МЕНЯ ТИТАНОМ, рассказВладимир Губарев, Мириам Салганик. ОКО ЗА ОКО?ФАКТЫЭлиот Финтушел. ИЗЗИ И ОТЕЦ СТРАХА, повестьСергей Лукьяненко. ХОЛОДНЫЕ БЕРЕГА, романВладислав Гончаров. ИСТОРИЯ: ЕСТЬ ВАРИАНТЫ?ФАКТЫФАНТАРИУМ*Звездный портПРЯМОЙ РАЗГОВОР*Гарри Гаррисон «НЕ БУДЬ Я ПИСАТЕЛЕМ, СТАЛ БЫ МИЛЛИОНЕРОМ…» (ответы на вопросы читателей «Если»)Эдуард Геворкян. ЧТО-ТО СТРАННОЕ ГРЯДЕТ…КУРСОРРЕЦЕНЗИИPERSONALIAВЕРНИСАЖ*Елена Николаева. ПАРАЛЛЕЛЬНЫЙ ШЕХОВВИДЕОДРОМ*Тема— Вл. Гаков. ЭКСПЕРИМЕНТЫ С РЕАЛЬНОСТЬЮ*Рецензии*Интервью— Наталья Милосердова. РУССКИЕ В ГОЛЛИВУДЕ (интервью с Александром Балуевым)Обложка С. Шехова.Иллюстрации Г. Варканова, А. Филиппова.

Владимир Гаков , Владимир Степанович Губарев , Гарри Гаррисон , Журнал «Если» , Сергей Васильевич Лукьяненко , Эдуард Вачаганович Геворкян , Элиот Финтушел

Фантастика / Журналы, газеты / Научная Фантастика