TeX | это... Что такое TeX? (original) (raw)

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

ΤΕΧ (обычным текстом — TeX; произносится «тех»[1]) — система компьютерной вёрстки, разработанная американским профессором информатики Дональдом Кнутом в целях создания компьютерной типографии. В неё входят средства для секционирования документов, для работы с перекрёстными ссылками. Многие считают TeX лучшим способом для набора сложных математических формул. В частности, благодаря этим возможностям, TeX популярен в академических кругах, особенно среди математиков и физиков.

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

Тип MIME для ΤΕΧ — application/x-tex.

ΤΕΧ является свободным ПО.

Содержание

Особенности

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

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

Использование

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

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

Шрифты

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

История

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

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

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

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

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

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

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

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

Интересные факты

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

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

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

См. также

Примечания

  1. TeX Frequently Asked Questions — question label «TeXpronounce»

Литература

Ссылки

Просмотр этого шаблона ΤΕΧ
Макропакеты AMS-LaTeX • ArabTeX • ConTeXt • FarsiTeX • Texinfo\mathrm{L\!\!^{{}_{\scriptstyle A}} \!\!\!\!\!\;\; T\!_{\displaystyle E} \! X}MusiXTeX • Plain TeX • PSTricks • TIPA • XyMTeX
Альтернативные движки ΤΕΧ eTeX • luaTeX • pdfTeXXeTeX • New Typesetting System • Omega
Дистрибутивы TeX LiveteTeX • fpTeX • MiKTeX • proTeXt • MacTeX • gwTeX • OzTeX • Latexian • PasTeX
Сообщество CTAN • TUGboat • The PracTeX Journal • Deutschsprachige Anwendervereinigung TeX
Related DVI • Computer Modern • MetafontMetaPost • WEB • CWEB • TeX Directory Structure • TeX font metric
Просмотр этого шаблона Языки разметки документов
Офисных документов Compound Document Format · OOXML (SpreadsheetML, PresentationML, WordprocessingML) · ODF · UOF
Общеизвестные HTML · XHTML · MathML · JSON · RTF · TeX · LaTeX
Менее известные CML · C-HTML · ConTeXt · Crossmark · DITA · DocBook · eLML · EAD · Enriched text · FHTML · GML · GuideML · HDML · HyTime · HyperTeX · IPF · FictionBook · LilyPond · LinuxDoc · Lout · MIF · MAML · MEI · MusicXML · OMDoc · OpenMath · POD · RTML · RTML · RFT · S1000D · TEI · Texinfo · troff · Вики-текст · WML · WapTV · XAML · YAML · Z Format
Просмотр этого шаблона Редакторы TeX
Свободные GNU TeXmacs • GummiKile • LaTeXila • LyX • MeWa • TeXShop • TeXnicCenter • Texmaker • TeXstudio • TeXworks TeX logo.svg
Бесплатные LaTeX-Editor (LEd) • proTeXt • WinShell
Retail Inlage • Scientific WorkPlace • VerbTeX • WinEdt
Онлайн LaTeX Lab • ScribTeX
КатегорияСравнение
Просмотр этого шаблона Свободная типографика
Гарнитуры операционных систем GNU FreeFont • Ghostscript fonts • GNU Unifont • DroidRobotoLiberation • Ubuntu
Другие гарнитуры Allerta • Asana-Math • Bitstream Vera • Caslon Roman • Chandas • Charis SIL • Computer Modern • DejaVu • Doulos SIL • Fixedsys Excelsior • Gentium • Inconsolata • Junicode • Kochi • Linux Libertine • M+ • Nimbus Mono • Nimbus Roman • Nimbus Sans • PT • Tiresias • Ubuntu-Title • Terminus
Программное обеспечение FontForgeFreeTypeMETAFONTMetaPost • METATYPE1 • PangoTeX
Лицензии OFL • Ubuntu Font Licence
Группы и люди Дональд Кнут • Open Font Library
Свободные гарнитуры UnicodeСписок свободных гарнитур • Список свободных гарнитур Unicode
Просмотр этого шаблона Дональд Кнут
Публикации Искусство программирования • «The Complexity of Songs» • Computers and TypesettingКонкретная математикаSurreal NumbersThings a Computer Scientist Rarely Talks AboutSelected papers series
Программное обеспечение ΤΕΧ • MIXAL (MIXMMIX • GNU MDK)
Шрифты AMS Euler • Computer Modern • METAFONT
Грамотное программирование WEB • CWEB
Алгоритмы Knuth's Algorithm X • Knuth–Bendix completion algorithm • Алгоритм Кнута — Морриса — Пратта • Knuth shuffle • Robinson–Schensted–Knuth correspondence • Trabb Pardo–Knuth algorithm
Other Dancing Links • Knuth reward check • Премия Кнута • Man or boy test • Quater-imaginary base • -yllion • Potrzebie system of weights and measures