TeX

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
TeX
Логотип программы TeX
Тип Компьютерная вёрстка
Разработчик Дональд Эрвин Кнут
Написана на Изначально WEB
Операционная система Кроссплатформенное
Языки интерфейса TeX
Первый выпуск 1978
Последняя версия 3.14159265 (январь 2014)
Состояние Поддерживается
Лицензия Пермиссивная
Сайт tug.org

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

Название произносится как «тех» (от греч. τέχνη — «искусство», «мастерство»)[1].

Тип 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’а, в Стэнфорде находился Гай Стил[англ.]. Осенью того же года он вернулся в MIT и переписал систему ввода-вывода TeX под операционную систему ITS[англ.]. Первая версия TeX’а была написана на языке программирования SAIL[англ.] и работала на PDP-10 под операционной системой WAITS[англ.]. Для следующих версий Кнут изобрёл концепцию «грамотного программирования» (англ. literate programming), способ получения совместимого исходного кода и документации к нему (конечно, в виде текста на TeX’е) из одного и того же оригинального файла. Этот язык был назван WEB и производил программы на Паскале.

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

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

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

Сообщество

Логотип TeX Users Group

Известные организации в сообществе TeX включают группу пользователей TeX (ΤΕΧ Users Group сокращённо TUG), которая издает TUGboat и The PracTeX Journal, охватывающие широкий спектр тем в цифровой типографике, относящихся к TeX. Deutschsprachige Anwendervereinigung TeX (DANTE) — большая группа пользователей в Германии. Группа пользователей TeX была основана в 1980 году для образовательных и научных целей, представляет собой организацию для тех, кто интересуется типографикой и дизайном шрифтов, а также является пользователями системы набора текста TeX, изобретенной Кнутом. Группа пользователей TeX представляет интересы пользователей TeX во всем мире. Группа пользователей TeX издает журнал TUGboat три раза в год[2] DANTE издает Die TeXnische Komödie четыре раза в год. Другие группы пользователей включают DK-TUG в Дании, GUTenberg во Франции, GuIT в Италии, NTG в Нидерландах и UK-TUG в Великобритании; группы пользователей совместно ведут полный список.[3] Российская группа пользователей ΤΕΧ CyrTUG самораспустилась в 1999 году[4].

Дистрибутивы

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

Разновидности и расширения

См. также

Примечания

  1. How should I pronounce «TeX»? | The TeX FAQ. Дата обращения: 8 июля 2017. Архивировано 28 июня 2017 года.
  2. The Communications of the TeX Users Group. tug.org. TeX Users Group. Дата обращения: 15 марта 2019. Архивировано 3 апреля 2019 года.
  3. All TeX User Groups. tug.org. TeX Users Group. Дата обращения: 17 ноября 2019. Архивировано 22 декабря 2019 года.
  4. Константин Кноп. Ирина Маховая: «…Было обидно наблюдать общий упадок». Компьютерра (12 марта 2001). Дата обращения: 3 марта 2019. Архивировано 6 марта 2019 года.
  5. PUB manual. Дата обращения: 7 сентября 2017. Архивировано 23 октября 2016 года.

Литература

  • Кнут Д. Э. Все про TeX = The TeXbook / Пер. с англ. М. В. Лисиной. — Протвино: АО RDTeX, 1993. — 592 с. — ISBN 5-900614-01-8.
  • Дональд Кнут. Все про TEX = The TEXBook. — М.: Вильямс, 2003. — С. 560. — ISBN 5-8459-0382-3.
  • Дональд Кнут. Все про METAFONT = The METAFONTbook. — М.: Вильямс, 2003. — С. 384. — ISBN 5-8459-0442-0.

Ссылки