TeX

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

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

Тип 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’а.

Смотреть:
150-е годы

Он планировал завершить систему во время своего творческого отпуска 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. Вопреки своему желанию сохранить программу неизменной, Кнут осознал, что 128 различных символов недостаточно, чтобы обеспечить ввод текста на разных языках. Таким образом, главным изменением в версии 3.0 была возможность работать с 8-битными входными данными, которые позволяли использовать 256 различных символов.

С версии 3.0 TeX использует оригинальную систему нумерации версий: каждое обновление добавляет дополнительную десятичную цифру в конце номера версии так, что она асимптотически приближается к




π


{\displaystyle \pi }

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




π


{\displaystyle \pi }

, и с этого момента все ошибки станут особенностями. Точно так же версии системы METAFONT, начиная с версии 2.0, асимптотически приближаются к




e


{\displaystyle e}

и так же завершатся на e после смерти Кнута.

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

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

Смотреть:
1637 год

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

  • LaTeX
  • pdfTeX
  • XeTeX
  • LuaTeX
  • Omega (TeX)
  • BibTeX
  • ABC (нотная запись)
  • XyMTeX

См. также

  • CTAN — архив документации и программного обеспечения для TeX
  • TUG — группа пользователей TeX’а
  • ChiWriter — текстовый редактор для набора научных текстов для среды MS-DOS
  • PUB (язык разметки) — ранний скриптовый язык разметки.

Примечания

Литература

  • Кнут Д. Э. Все про 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.

Ссылки

  • Кириллический TeX на сайте МГУ
  • TeX в каталоге ссылок Open Directory Project (dmoz)
  • ru_tex — русское ЖЖ-сообщество о TeX’е.
  • TeXLive — дистрибутив TeX Live.
  • MiKTeX — дистрибутив MiKTeX.
  • TeX Users Group — группа пользователей TeX’а.


Поделиться ссылкой: