TeX
TeX (произносится как «тех», от греческого τέχνη — искусство, мастерство) — это система компьютерной вёрстки, предназначенная для набора математических, технических и научных текстов. Разработана американским учёным и программистом Дональдом Кнутом в 1978—1989 годах. TeX считается стандартом в академических и издательских кругах для подготовки публикаций, содержащих сложные формулы, таблицы, перекрёстные ссылки и библиографию.
История
Предпосылки создания
В 1970-х годах Дональд Кнут, профессор Стэнфордского университета, завершал работу над многотомным изданием «Искусство программирования». В процессе подготовки второго издания он столкнулся с неудовлетворительным качеством полиграфического набора математических символов и формул. Существовавшие на тот момент типографские системы (Linotype, Monotype) не обеспечивали необходимой гибкости и точности, а компьютерные программы для вёрстки были примитивными.
Разработка
В 1977 году Кнут начал проектирование собственной системы вёрстки. Первая версия TeX была написана на языке SAIL (Stanford Artificial Intelligence Language) для компьютера PDP-10. В 1978 году вышла версия 1.0, которая уже позволяла набирать сложные формулы, но имела ограничения по размеру буфера и скорости работы.
В 1982 году Кнут полностью переписал TeX на языке WEB (смесь Pascal и документации), выпустив версию 2.0. В 1989 году вышла версия 3.0, в которой была добавлена поддержка шрифтов в формате METAFONT. С этого момента система считается стабильной: Кнут объявил, что вносить в неё новые функции не будет, ограничившись исправлением ошибок (багов). Номер версии после каждого исправления увеличивается на единицу, приближаясь к числу π (текущая версия — 3.141592653, по состоянию на 2025 год).
Распространение
В 1980-е годы TeX быстро распространился среди математиков, физиков и компьютерных специалистов. В 1985 году Лесли Лэмпорт разработал надстройку LaTeX, упростившую работу с документами. К началу 1990-х годов TeX стал де-факто стандартом для научных публикаций в области точных наук. В России система активно используется с середины 1990-х годов, особенно в математических журналах и университетских издательствах.
Архитектура и принципы работы
Основные компоненты
- Ядро TeX — программа, интерпретирующая команды макросов и управляющая разбиением текста на строки, страницы и размещением символов.
- Шрифты — наборы глифов в формате METAFONT (собственный формат Кнута) или PostScript Type 1 / OpenType.
- Форматы — наборы макросов, расширяющих возможности ядра. Самые популярные: Plain TeX (базовый), LaTeX (стандартный для документов), ConTeXt (для сложной вёрстки).
- Драйверы — программы, преобразующие выходной файл (DVI — DeVice Independent) в формат для печати или просмотра (PostScript, PDF).
Алгоритм разбиения на строки
Ключевая инновация TeX — алгоритм оптимального разбиения текста на строки, основанный на динамическом программировании. Система вычисляет для каждого возможного варианта переноса слов и пробелов штрафные очки, а затем выбирает глобально оптимальное разбиение абзаца. Это позволяет получать равномерные межсловные пробелы и избегать «висячих» строк.
Алгоритм разбиения на страницы
Аналогичный алгоритм применяется для разбиения документа на страницы. TeX учитывает запреты на разрывы (например, нельзя разрывать формулу или таблицу в неудобном месте) и стремится к равномерному заполнению страниц.
Поддержка математики
TeX предоставляет специальные команды для набора математических выражений:
- Индексы и степени:
x^2,a_{ij} - Дроби:
\frac{a}{b} - Суммы и интегралы:
\sum_{i=1}^n,\int_a^b - Скобки:
\left(,\right) - Специальные символы: греческие буквы, операторы, стрелки
Система автоматически выбирает размер и положение символов, выравнивает формулы по центру и обрабатывает многострочные выражения.
Классификация и версии
Основные форматы
| Формат | Назначение | Разработчик |
|---|---|---|
| Plain TeX | Базовый, для опытных пользователей | Дональд Кнут |
| LaTeX | Стандартный для документов (статьи, книги, отчёты) | Лесли Лэмпорт |
| ConTeXt | Для сложной вёрстки (презентации, бюллетени) | Ханс Хаген |
| AMS-TeX | Для математических публикаций | Американское математическое общество |
Дистрибутивы
- TeX Live — наиболее полный дистрибутив для Linux, macOS и Windows. Содержит ядро, форматы, шрифты, утилиты и документацию.
- MiKTeX — дистрибутив для Windows, ориентированный на лёгкую установку и автоматическую загрузку пакетов.
- MacTeX — версия TeX Live для macOS, включает графическую оболочку TeXShop.
Применение
Научные публикации
TeX (в основном LaTeX) используется для подготовки статей в рецензируемых журналах, диссертаций, монографий и учебников. Многие издательства (Springer, Elsevier, American Mathematical Society) принимают рукописи в формате LaTeX.
Книгоиздание
Система применяется для вёрстки книг, особенно технической и математической литературы. В России TeX используется издательствами «МЦНМО», «Физматлит», «Лань» и другими.
Создание презентаций
С помощью пакета Beamer (надстройка LaTeX) создаются слайды для научных докладов и лекций.
Автоматизация документооборота
TeX используется для генерации отчётов, каталогов, бюллетеней и других документов с автоматическим обновлением данных.
Интересные факты
- Номер версии — Кнут установил, что номер версии TeX после каждого исправления приближается к числу π. Текущая версия (3.141592653) соответствует π с точностью до 9 знаков после запятой. После смерти Кнута номер будет заморожен на π.
- Премия за ошибки — Кнут выплачивает вознаграждение за каждую найденную ошибку в TeX: $2.56 за первую, $1.28 за вторую и так далее (уменьшение вдвое). По состоянию на 2025 год выплачено более 1000 долларов.
- Влияние — TeX вдохновил создание многих других систем вёрстки, включая GNU TeXmacs, MathJax (для веба) и LyX (графический редактор).
- Юбилей — В 2018 году отмечалось 40-летие первой версии TeX. В честь этого вышла специальная книга «Digital Typography» (сборник статей Кнута).
Критика
Несмотря на широкое признание, TeX имеет ряд недостатков:
- Крутая кривая обучения — освоение системы требует времени и усилий, особенно для пользователей, не знакомых с программированием.
- Сложность настройки — изменение стилей, шрифтов и макетов часто требует написания макросов или использования специализированных пакетов.
- Устаревший подход — система ориентирована на однопроходную обработку (в отличие от современных WYSIWYG-редакторов), что затрудняет интерактивное редактирование.
- Ограниченная поддержка графики — встроенные средства для работы с изображениями и диаграммами (например, TikZ) мощны, но требуют дополнительного обучения.
Тем не менее, для задач, связанных с набором математических формул и сложной вёрсткой научных текстов, TeX остаётся непревзойдённым инструментом.
Источники
- Knuth, D. E. (1986). The TeXbook. Addison-Wesley.
- Lamport, L. (1994). LaTeX: A Document Preparation System. Addison-Wesley.
- Eijkhout, V. (1992). TeX by Topic. Addison-Wesley.
- Документация дистрибутива TeX Live (2024).
- Статья «TeX» в энциклопедии «Википедия» (русскоязычный раздел, 2025).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →