Опубликован: 07.02.2007 | Доступ: свободный | Студентов: 3740 / 1162 | Оценка: 4.56 / 3.95 | Длительность: 23:09:00
Специальности: Художник
Дополнительный материал 2:

Приложение Б. PostScript и TeX

Драйвер dvips

предыдущем разделе мы уже упоминали программу dvips. Эта программа получает на вход dvi-файл и преобразует его в PostScript-файл. При этом она использует pk-файлы для шрифтов, ссылки на которые есть в dvi-файле, и включает описания этих шрифтов (или только нужных букв из этих шрифтов) в PostScript-файл. Таким образом, имея dvi-файл, программу dvips и PostScript-принтер, можно получить печатный текст: надо лишь1Это не всегда просто. В системах типа DOS или Windows иногда может помочь команда copy /b prn ; для использования PostScript-файлов в этих системах при отсутствии PostScript-принтера полезны программы Ghostscript и GSView, см. приложение Ж}. направить результат работы программы dvips в принтер.

При этом изготовление PostScript-файла и его печать могут быть разделены во времени и пространстве. Можно положить PostScript-файл статьи в архив препринтов, чтобы и через много лет (какой автор не мечтает об этом?) интересующиеся читатели его списывали и читали. Можно изготовить файл в одной стране и послать его по электронной почте в издательство другой страны.

Заметим, что для этого не нужно, чтобы в издательстве умели пользоваться системой TeX — вполне достаточно, чтобы там умели печатать PostScript-файлы.

Приведем примеры использования программы dvips. Команда

dvips -o article.ps article.dvi

преобразует файл article.dvi в PostScript-файл article.ps. Команда

dvips -o article.ps -p 5 -l 7 article.dvi

помещает в PostScript-файл только три страницы (с пятой по седьмую); указав только -p 5, можно напечатать все страницы с пятой до конца, а указав только -l 7, можно напечатать все страницы с начала до седьмой включительно. Команда

dvips -D 300 -o article.ps article.dvi

указывает, что нужно использовать (и включить в PostScript-файл) шрифты с разрешением 300 dpi (по умолчанию обычно используются шрифты 600 dpi); это можно быть полезно для старых принтеров. Ключ -E мы уже видели выше, он применим к файлам из одной страницы и обрезает их по краям (в качестве BoundingBox берется минимальный блок, содержащий текст). Наконец, иногда полезен ключ -e 0, который говорит, что при вычислении положений букв не надо полагаться на округления, произведенные в pk-шрифте (это полезно, если без этого получаются нерегулярные промежутки между буквами).

Ghostscript

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

Фирма Adobe, которая разработала язык PostScript, написала интерпретатор этого языка, который можно встраивать в другие продукты (принтеры, программы). Например, существует программа Adobe Acrobat, которая умеет показывать на экране PostScript-файлы и печатать их на разных принтерах (то есть преобразовывать в другие форматы, доступные этим принтерам).

К сожалению, продукты фирмы Adobe дороги, часто требуют для работы (также дорогой) системы Windows, а воровать (как в теории признавал, кажется, даже Остап Бендер) грешно. К счастью, разработчики свободно распространяемого программного обеспечения о нас позаботились. Peter Deutsch и его коллеги написали свободно распространяемую программу Ghostscript, которая представляет собой интерпретатор языка PostScript, умеющий работать с самыми разными принтерами (лазерными, струйными, матричными), а также выводить файлы в разнообразных форматах (включая PDFPortable Document Format, также разработанный фирмой Adobe). При этом используются любезно предоставленные фирмой URW шрифты. Эта программа приспособлена практически для всех операционных систем (Linux, FreeBSD, другие виды UNIX, DOS, Windows и др.) и стала стандартом defacto. (Например, организаторы некоторых конференций просят, чтобы присылаемые на рецензию статьи в формате PostScript правильно обрабатывались этой программой.)

Программа Ghostscript является составной частью программ, показывающих PostScript-файлы на экране (популярные программы такого типа — gv, ghostview, GSView). Обычно в такие программы встроена также возможность печати всего текста (текущей страницы, выбранного множества страниц) на принтере. Именно эти программы вы скорее всего будете использовать на практике; их интерфейс зависит от операционной системы, и мы скажем про него в приложении Ж.

Василий Майоров
Василий Майоров
Даврон Юсупалиев
Даврон Юсупалиев
Андрей Лучицкий
Андрей Лучицкий
Россия
Михаил Алексеев
Михаил Алексеев
Россия, Уфа, УГАТУ, 2002