TeX

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
TeX logo.svg
Texniccenter.png
Тип

Компьютерная вёрстка

Разработчик

Дональд Кнут

Написана на

Изначально WEB

Операционная система

Кроссплатформенное

Языки интерфейса

TeX

Первый выпуск

1978 год

Последняя версия

3.1415926 (март 2008)

Состояние

Поддерживается

Лицензия

Пермиссивная

Сайт

http://tug.org

TeX — система компьютерной вёрстки, разработанная американским профессором информатики Дональдом Кнутом в целях создания компьютерной типографии. В неё входят средства для секционирования документов, для работы с перекрёстными ссылками. Многие считают TeX лучшим способом для набора сложных математических формул. В частности, благодаря этим возможностям, TeX популярен в академических кругах, особенно среди математиков и физиков.

Название произносится как «тех» (от греч. τέχνη — «искусство», «мастерство»)[1]. В написании буква E опущена ниже T и X. Внутри самого TeX’а название форматируется как ΤΕΧ.

Тип MIME для TeX — application/x-tex.

TeX является свободным ПО.

Особенности[править | править вики-текст]

В отличие от обыкновенных текстовых процессоров и систем компьютерной вёрстки, построенных по принципу WYSIWYG, в TeX’е пользователь лишь задает текст и его структуру, а TeX самостоятельно на основе выбранного пользователем шаблона форматирует документ, заменяя при этом дизайнера и верстальщика. Документы набираются на собственном языке разметки в виде обычных ASCII-файлов, содержащих информацию о форматировании текста или выводе изображений. Эти файлы (обычно имеющие расширение «.tex») транслируются специальной программой в файлы «.dvi» (device independent — «независимые от устройства»), которые могут быть отображены на экране или напечатаны. DVI-файлы можно специальными программами преобразовать в PostScript, PDF или другой электронный формат.

Ядро TeX’а представляет собой язык низкоуровневой разметки, содержащий команды отступа и смены шрифта. Огромные возможности в TeX’е предоставляют готовые наборы макросов и расширений. Наиболее распространённые расширения стандартного TeX’а (наборы шаблонов, стилей и т. д): LaTeX (произносится «латех» или «лейтех») и AMS-TeX. При использовании пакета расширения LaTeX можно превратить разросшуюся статью в книгу изменением одного слова в исходнике, вставлять оглавление одной командой, не задумываться о нумерации разделов, теорем, рисунков. Есть много пакетов для оформления химических формул (например, пакет XymTeX), диаграмм (xypic), создания презентаций и визитных карточек и тому подобного.

Использование[править | править вики-текст]

TeX можно использовать для всех видов текста, начиная с короткого письма и заканчивая многотомными книгами, причём изначально TeX создавался для более длинных текстов и научных работ. Многие большие научные издательства используют его для книгопечатания или книжного набора. Особую силу имеют как формульный набор, так и очко шрифта.

С недавних пор стало возможным использование TeX для автоматического создания сложного макета для XML-данных. Различия в синтаксисе между двумя дескрипторными языками могут быть преодолены с помощью «TeXML». Таким образом, в контексте XML-публикации TeX можно рассматривать в качестве альтернативы XSL-FO.

Шрифты[править | править вики-текст]

Для создания шрифтов совместно с TeX’ом используется специально разработанная Д. Кнутом система METAFONT, в которой шрифты описываются программами на специализированном языке Meta. Могут также использоваться векторные шрифты в формате PostScript Type 1, TrueType и OpenType.

История[править | править вики-текст]

Первый том книги «Искусство программирования» Д. Кнута был опубликован в 1969 году и печатался методом монотипии, технологии XIX века, которая давала на выходе издание в «хорошем классическом стиле», что нравилось Кнуту. Когда в 1976 году публиковалось второе издание второго тома, всю книгу пришлось набирать вновь, поскольку монотипия почти повсеместно была замещена фотографической техникой, и оригинальные шрифты больше не использовались.

Однако 30 марта 1977 года, когда Кнут получил новые оттиски, он увидел, что они выглядят ужасно. Примерно в это же время Кнут впервые увидел результат работы высококачественной цифровой типографической системы и заинтересовался возможностями цифровой типографии. Не оправдавшие ожиданий оттиски дали ему дополнительный толчок к тому, чтобы, разработав свою типографическую систему, решить проблему раз и навсегда. 13 мая 1977 года он написал заметку самому себе, описывающую базовые возможности TeX’а.

Он планировал завершить систему во время своего творческого отпуска 1978 года, но финальная версия языка появилась на свет лишь в 1979 году. Летом 1978 года, когда Кнут писал первую версию TeX’а, в Стенфорде находился Гай Стил (Guy Steele). Осенью того же года он вернулся в MIT и переписал систему ввода-вывода TeX под операционную систему ITS. Первая версия TeX’а была написана на языке программирования SAIL и работала на PDP-10 под операционной системой WAITS. Для следующих версий Кнут изобрёл концепцию «грамотного программирования» (англ. literate programming), способ получения совместимого исходного кода и документации к нему (конечно, в виде текста на TeX’е) из одного и того же оригинального файла. Этот язык был назван WEB и производил программы на Паскале.

Новая, переписанная с нуля версия TeX’а, была издана в 1982 году и названа TeX82. Помимо других изменений, первоначальный алгоритм переносов был заменён новым, написанным Франком Ляном (Frank Liang). Чтобы обеспечить воспроизводимость результата на различном оборудовании, вместо арифметики с плавающей запятой, TeX82 использовал арифметику с фиксированной запятой. Помимо этого, под нажимом Гая Стила, в TeX82 появился настоящий, тьюринг-полный язык программирования.

В 1989 году Дональд Кнут выпустил новые версии систем TeX и METAFONT. Вопреки своему желанию сохранить программу неизменной, Кнут осознал, что 128 различных символов недостаточно, чтобы обеспечить ввод текста на разных языках. Таким образом, главным изменением в версии 3.0 была возможность работать с 8-битными входными данными, которые позволяли использовать 256 различных символов.

С версии 3.0 TeX использует оригинальную систему нумерации версий: каждое обновление добавляет дополнительную десятичную цифру в конце номера версии так, что она асимптотически приближается к \pi. Это отражает тот факт, что текущая версия TeX’а — 3.1415926 — очень стабильна и возможны лишь мелкие обновления. Последнее обновление было в марте 2008 года. На версии 3.0 дизайн системы был заморожен, поэтому добавление новой функциональности не планируется и все новые версии будут содержать только исправления ошибок. Хотя Дональд Кнут сам предложил несколько областей, в которых TeX мог бы быть улучшен, он тем не менее считал, что существование неизменной версии, которая бы выдавала одинаковый результат сейчас и в будущем, важнее, чем добавление новых возможностей. Поэтому он заявил, что «совершенно последнее изменение (сделанное после моей смерти)» сменит номер версии на ~\pi, и с этого момента все ошибки станут особенностями. Точно так же версии системы METAFONT начиная с версии 2.0 асимптотически приближаются к e и так же завершатся на e после смерти Кнута.


Дистрибутивы[править | править вики-текст]

Распространённые комплекты вёрстки на основе TeX’а: для WindowsTeX Live и MikTeX, для UNIX-подобных систем — TeX Live и teTeX (последний более не поддерживается — первый считается его преемником), для Mac OSMacTeX.

Интересные факты[править | править вики-текст]

TeX применяется в исходных текстах Википедии для набора математических формул (см. Википедия:Формулы).

Название английской книги Michael Spivak (автора AMS-TeX) The Joy of TeX («Радость TeX’а») является игрой слов с другой известной книгой «The Joy of Sex» («Радость секса»).

Разновидности и расширения[править | править вики-текст]

См. также[править | править вики-текст]

  • CTAN — архив документации и программного обеспечения для TeX
  • TUG — группа пользователей TeX’а

Примечания[править | править вики-текст]

Литература[править | править вики-текст]

Ссылки[править | править вики-текст]