Современная технология 26.02.2003 Владимир Лидовский
Макропакеты Plain и Eplain TEX задают процедурную разметку, а LATEX, ConTEXt и Texinfo — логическую. METAFONT используется для создания высококачественных растровых (bitmap) шрифтов. Шрифты для него описываются на специальном языке со значительной долей декларативности в семантике: рисунки знаков задаются, как правило, системами уравнений, решаемых автоматически. Шрифты на этом языке — масштабируемые, растр знаков создается для конкретных устройств вывода, но не интерпретацией в реальном времени, как для шрифтов Adobe PostScript или TrueType, а предварительной компиляцией, то есть METAFONT — это еще и растеризатор (raster image processor, RIP). Компиляция позволяет описывать сколь угодно сложные формы и проводить высококачественную растеризацию с коррекцией, но плата за это — время. Результат работы METAFONT — это не только двоичные матрицы для символов в файле формата pk (packed), но и файл метрик шрифта формата tfm (TEX font metric), в котором описываются размеры каждого символа шрифта. Кнут «заморозил» развитие METAFONT, из-за чего у этой программной системы, имеющей возможности для развития и модификации не меньшие, чем сам TEX, практически нет вариантов. BibTEX — система, разработанная к концу 1980-х Ореном Поташником, для удобной работы с библиографией в TEX-документах [7]. Она является примером системы, задачи которой не могут быть решены простыми средствами. В первой половине 1990-х Джоном Д. Хобби из AT&T создал MetaPost — последний в серии необходимых компонентов любой TEX-системы. Эта программа используется для подготовки графических иллюстраций. Она практически идентична METAFONT и отличается от него лишь тремя деталями: - создает не растровые картинки, а масштабируемые в формате PostScript, поэтому; - не имеет возможностей для растеризации; - не имеет встроенных возможностей для показа рисунков знаков на экране. Ее можно использовать для преобразования шрифтов METAFONT в шрифт Adobe Type 3. Возможности MetaPost во многом превзошел созданный к 1998 году графический макропакет Xy-pic. Упрощенно взаимосвязи основных компонентов классической TEX-системы представлены на схеме, из которой видно, что помимо собственной системы шрифтов можно использовать масштабируемые шрифты Adobe Type 1 и 3, а также TrueType. Использование в TEX фирменных шрифтов осложнено тем, что в них часто не определен полный диапазон нужных знаков. Остроту последней проблемы во многом снимают виртуальные шрифты, позволяющие объединять в себе знаки из разных шрифтовых файлов и задавать нужную кодировку. Программа Dvips обеспечивает подключение к TEX возможностей языка PostScript, которые значительно превосходят возможности языка dvi-файлов3 Д. Кнута, а программа Ghostscript (gs) позволяет печатать ps-файлы на не-PostScript-принтере, а также конвертировать их в другие форматы, например в pdf или растровые картинки. Работа с масштабируемыми не-mf-шрифтами основана на Dvips и Ghostscript.
Возможности конкретной TEX-системы определяются подключаемым стандартным макропакетом. Кнут в своей книге «The TEX book» [2] описал макропакет Plain. В 1990-е Карл Берри и Стивен Смит значительно расширили его функции своим макропакетом Eplain (Expanded Plain), доведя их до уровня LATEX [7, 12]. Сам же LATEX Лесли Лэмпорта, появившийся еще в 1980-е и постоянно развивающийся, является самой значительной работой после той, которую проделал Кнут. К нему созданы сотни разнообразных стилей. Известный макропакет AMS-TEX [10, 12], созданный Американским математическим обществом, ныне является частью LATEX. Весьма интересным, появившимся в конце 1990-х, макропакетом является ConTEXt [8]. Он позволяет, в частности, создавать цветные интерактивные pdf-документы и печатать сложные химические структуры. Пока ConTEXt не поддерживает в полном объеме работу с текстами на русском. Особым макропакетом является Texinfo — это стандарт для ведения документации в GNU. Он позволяет из одного исходника получать как печатные издания, так и гипертекстовые документы GNU info или html. Кроме базовых к любой TEX-системе можно подключать макропакеты для расширения ее отдельных возможностей. Среди них стоит отметить графические PiCTEX [11] и Xy-pic [9], интересный своим объектно-ориентированным языком описания рисунков, Babel — для поддержки работы с многоязычными текстами в LATEX и TreeTEX — для рисования бинарных деревьев. Есть также специальные макропакеты для нотной записи, описания принципиальных электрических схем, импорта графики и др. Существуют программы-конверторы SGML, HTML и RTF в LATEX и TEX в HTML. Хотя идеальной средой для TEX является Unix, его варианты существуют практически для всех операционных систем, включая, конечно, Microsoft Windows и Mac OS. Всего в каталоге CTAN4 насчитывается около 1200 документированных компонентов TEX. Кроме того, ряд программ доступны помимо CTAN.
Конкуренты, перспективы и дистрибутивы… Поскольку Кнут отказался развивать свои системы, в 1992 году началась реализация проекта NTS (New Typesetting System) с целью разработки системы, превосходящей TEX. В рамках проекта разрабатывается e-TEX. Работа идет очень медленно. Единственным заметным достижением стала возможность использования обычной математической нотации при расчетах, в частности в логических конструкциях. Наиболее перспективными ныне являются разрабатываемые TEX-системы Omega (W) и PDFTEX. W значительно расширяет рамки ограничений классической системы, оставаясь максимально совместимой с нею. W позволяет использовать 16-разрядное кодирование, в частности Unicode, количество регистров каждого типа увеличивается до 65536, дает возможность работать с фрагментами текстов разной ориентации: европейской — слева направо и сверху вниз, арабской — справа налево и сверху вниз, японской — сверху вниз и справа налево, старомонгольской — сверху вниз и слева направо. Система PDFTEX может сохранять файлы в формате pdf вместо dvi и позволяет использовать дополнительные возможности этого формата (цвет, все типы шрифтов и шрифтовых манипуляций, интерактивность и прочее). Перспективными также являются разработки подключения TEX как заключительного звена к системам SGML и XML. Хотя нельзя не отметить, что в последние несколько лет разработка новых компонентов TEX несколько замедлилась. Автор интенсивно использует TEX уже более семи лет, и системы WYSIWYG5 вызывают у него теперь лишь чувства, похожие на соблазн, который испытывает уставший человек, видящий удобную инвалидную коляску с мотором… Это мнение не бесспорно, поэтому для TEX существует ряд WYSIWYG-редакторов, лучшие из которых — LyX и TEXmacs, причем последний, по мнению его автора, позволяет сконцентрироваться именно на логической структуре текста, а не на визуальной. В настоящее время используются еще две системы, во многом схожие с TEX, — это Troff и Lout. Первая является одной из самых древних средств компьютерной полиграфии, корни которой уходят в разработки AT&T конца 1960-х. Это весьма гибкая и мощная система, но крайне громоздкая и уже неразвивающаяся. Она применяется до сих пор, так как на ней написана большая часть документации к Unix — страницы руководства. Сейчас ее вытесняет Texinfo. Система Lout, созданная в 1990-е в университете Сиднея в основном Джеффри Х. Кингстоном, является потомком неудачливого конкурента TEX, системы Scribe Брайана К. Рейда. Она целиком основана на фундаменте языка PostScript, что до появления программ Dvips и особенно PDFTEX давало ей некоторые преимущества… Есть несколько известных дистрибутивов TEX. Практически в каждом дистрибутиве Linux есть пакет teTEX, содержащий все необходимое. Можно заказать диски CD-ROM TEX-Live или Dante CTAN. Для MS-DOS и OS/2 есть хорошо зарекомендовавший себя дистрибутив emTEX. Для среды Microsoft Windows неплохим выбором будет либо дистрибутив MikTEX, либо fpTEX — версия teTEX. Есть еще дистрибутив BaKoMa TEX с улучшенной поддержкой русского языка. На Apple Macintosh можно использовать дистрибутив OzTEX. Перечислены только бесплатные или условно-бесплатные (shareware) программы. Главный веб-сайт TEX — www. tug.org. На нем и на других сайтах CTAN есть поисковые серверы, используя которые, можно быстро найти необходимые файлы.
1 TEX — торговая марка Американского математического общества (American Mathematical Society). 2 METAFONT — торговая марка компании Addison Wesley Publishing. 3 dvi — Device Independent — мобильный бинарный формат для результата компиляции документа TEX. 4 CTAN — Comprehensive TEX Archive Network — полная сеть TEX-архивов, поддерживаемая более чем на шестидесяти ftp-серверах по всему миру, среди которых, например, ftp://ftp.dante.de/ tex-archive. 5 WYSIWYG — What Your See Is What Your Get — системы типа Microsoft Word, которые позволяют редактировать документ в виде, приближенном к напечатанному.
Литература [1] J. D. Hobby. A User’s Manual for MetaPost. — AT&T Bell Laboratories, Murray Hill, NJ 07974, 1998. [2] D. E. Knuth. The TEX book. — Addison-Wesley, Reading, Massachusetts, 1986. Volume A of Computers and Typesetting. Русский перевод: Д. Е. Кнут. Все про TEX. — АО RDTEX, Протвино, 1993. [3] D. E. Knuth. TEX: The Program. — Addison-Wesley, Reading, Massachusetts, 1986. Volume B of Computers and Typesetting. [4] D. E. Knuth. The METAFONT book. — Addison-Wesley, Reading, Massachusetts, 1986. Volume C of Computers and Typesetting. [5] D. E. Knuth. METAFONT: The Program. — Addison-Wesley, Reading, Massachusetts, 1986. Volume D of Computers and Typesetting. [6] D. E. Knuth. Computer Modern Typefaces. — Addison-Wesley, Reading, Massachusetts, 1986. Volume E of Computers and Typesetting. [7] L. Lamport. LATEX: A Document Preparation System, User’s Guide and Reference Manual. — Addison-Wesley, 1994. [8] T. Otten, H. Hagen. ConTEXt: an excursion. — PRAGMA, Ridderstraat 27, 8064GH Hasselt, The Netherland, 1998. [9] K. H. Rose, R. Moore. Xy-pic Reference Manual — в электронном виде доступно в CTAN по адресу /macros/generic/diagrams/ xypic.tar.gz, 1999. [10] M. Spivak. The Joy of TEX. A gourmet guide to typesetting with the AMS-TEX macro package. — American Mathematical Society, Providence, RI, 1990. Русский перевод: М. Спивак. Восхитительный TEX: руководство по комфортному изготовлению научных публикаций в пакете AMS-TEX. — М.: Мир, 1993. [11] M. J. Wichura The PiCTEX Manual. — The University of Chicago, 1987. [12] С. М. Львовский. Набор и верстка в пакете LATEX. — М.: Космосинформ, 1995. |
Независимость или взаимозависимость? [ "13-я КОМНАТА" ]
Новости [ "НОВОСТИ" ]
Микрофишки [ "НОВОСТИ" ]
Циклы истории [ "НОВОСТИ" ]
Путь наш во мраке [ "НОВОСТИ" ]
Особенности национальной безопасности [ "РЕПОРТАЖ" ]
Добрая работа [ "КАФЕДРА ВАННАХА" ]
Виртуальная стройка [ "ТЕМА НОМЕРА" ]
Призракдома на холме [ "ТЕМА НОМЕРА" ]
Большие братья [ "ТЕМА НОМЕРА" ]
Хостеть не вредно [ "ТЕМА НОМЕРА" ]
Системы управления:
без денег [ "ТЕМА НОМЕРА" ]
Движки
для двигателя
торговли [ "ТЕМА НОМЕРА" ]
Анализаторы
статистики [ "ТЕМА НОМЕРА" ]
Домашнее задание [ "ТЕМА НОМЕРА" ]
Суб
культура [ "КОМПЬЮFЕРРА LITE" ]
Над сетевым адаптером APC TravelPower 75 [ "КОМПЬЮFЕРРА LITE" ]
Параллельные миры [ "SOFTТЕРРА LITE" ]
Рождение горы [ "SOFTТЕРРА LITE" ]
События [ "SOFTТЕРРА LITE" ]
Овечный вопрос:
попытка некролога [ "АНАЛИЗЫ" ]
Коллеги покойной [ "АНАЛИЗЫ" ]
Современная технология [ "ПРОДУКТЫ" ]
Компьютерное вторсырье [ "МЫСЛИ" ]
Славяне в окопах Португалии [ "МЫСЛИ" ]
Хостинг [ "СОЧИНЕНИЯ" ]
Тише едешь… [ "UNDOCUMENTED" ]
Верите ли вы в унификацию интерфейса в вебе? Есть ли преимущества у платных контент-менеджеров перед бесплатными? [ "ВОПРОС НЕДЕЛИ" ]
«Редакция не отвечает за то, что печатает» [ "ПИСЬМОНОСЕЦ" ]
|