TeX

Материал из свободной русской энциклопедии «Традиция»
Перейти к: навигация, поиск

TEΧ (чистым текстом — TeX, название произносится как «тех», буква E опущена ниже T и X.) — мощная система для компьютерной верстки документов, разработанная американским профессором информатики Дональдом Кнутом, автором знаменитой книги «Искусство программирования для ЭВМ». Собственно TeX и был разработан при написании этой книги, для облегчения и ускорения ее верстки.

В основу системы входил:

  • мощный (хотя и чрезвычайно заумный) препроцессор, разбирающий плоский (ASCII) входной текст на последовательность лексических единиц — токенов, и осуществляющий сложную последовательность подстановок (раскрытий макросов, включений файлов).
  • процессор верстки, занимающийся расположением текста, старающийся минимизировать все метрики верстки, препятствующие удобному чтению (неровные границы текста, неравномерные интервалы между символами, строчками и абзацами и т. п.).
  • высококачественные векторные шрифты, (полученные с помощью разработанной также Кнутом, системы METAFONT) — остаются одними из лучших до сих пор.
  • богатый базовый набор команд для представления практически произвольных математических формул — TeX разметка математических формул до сих пор является самой распространенной (см. например Help:Формулы), кроме того, одна достаточно удобна, и при всех ее недостатках, набор в формул в этой разметке гораздо быстрей, чем ввод формул через графический интерфейс.

Базовый набор макросов, известный как «plaintex» позволял опытному «гуру» TeXа сделать практически любой документ, предоставляя базу, на которой можно построить дерево (или пирамиду) собственных макросов, представляющих по сути дела язык документа. Однако, такая ситуация могла устраивать далеко не всех — только очень продвинутых авторов, доносящих верстку своего текста непосредственно до типографской машины. Во всех иных случаях, возникала проблема понимания и взаимодействия — т. к. кроме автора в структуре и смысле исходного текста никто (ни издательство, ни другие авторы/соавторы) разобраться не могли. Поэтому получили распространение несколько пакетов макросов более высокого уровня, практически (но увы, не до конца) снимающие описанные проблемы. Самым известным таким пакетом, является <m>L^AT_EX</m>, содержащий набор стандартных макросов для:

  • определения структуры документа,
  • ссылочной целостности внутри документа,
  • оформления плавающих объектов (картинок, таблиц).

Вот пример начала LaTex-документа:

\documentclass[10pt, a4paper,onecolumn, notitlepage]{article}
\usepackage[cp1251]{inputenc}
\usepackage[english,russian]{babel}
\newtheorem{theorem}{Теорема}
\begin{document}
\title{Новый приближенный алгоритм для отрицательного квадратичного программирования}
\author{Иванов И.П}
\date{}
\maketitle
  \begin{abstract}
     Предлагается новый алгоритм нахождения $\varepsilon$-оптимального решения
     задачи отрицательного квадратичного программирования.
  \end{abstract}
\section{Введение}

LaTeX конечно не так «чисто» описывает структуру документа, как SGML Docbook, но вполне достаточно, чтобы обеспечить не требующий чрезвычайных умственных усилий набор текста, который можно отдать в издательство для верстки в сборник статей, или послать коллеге или соавтору. Впрочем, конечно есть множество авторов, любителей изобретения сотен собственных макросов и переопределения десятков стандартных макросов LaTeX, делающих «пересадку» их текста в другие документы практически невозможной.

LaTeX, являясь пакетом TeX-макросов, сам является платформой для разработки LaTeX-пакетов макросов, которых в данный момент уже насчитываются сотни. Упомянем наиболее (на наш взгляд) полезные из них:

babel
разметка многоязыковых текстов;
amsmath,amssymb
матсимволы и матвыражения, утвержденные «American Math Society»;
index
для составления индексного указателя;
multicol
для верстки многоколоночных фрагментов;
graphicx
включение графических картинок;
verbatim
включение преформатированных блоков текста;
hyperref
построение гиперссылок в выходном документе.

В настоящее время, TeX больше не приходит один, а всегда в составе «TeX-дистрибутива», включающий, наравне с базовым TeXом, и LaTeXом, десятки дополнительных пакетов и утилит, сотни шрифтов в различных форматах, программы для WYSIWYG-редактирования. Упомянем некоторые значимые пакеты и утилиты из TeX-дистрибутива:

makeindex
составление индексного указателя;
bibtex
ведение библиографических баз и возможность автоматически формировать ссылки на упомянутую литературу;
dvips
преобразование выходных DVI-файлов, которых как правило, можно просматривать только на машине с инсталлированным TeX-дистрибутивом, в Postscript — распространенный формат электронных документов.
metapost
средство построения произвольных векторных изображений по описанию, с использованием всего аппарата декларативной векторной графики, который использовался для описания METAFONT-шрифтов.

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

  • Miktex — лучший TeX-дистрибутив под Windows. Бесплатный, OpenSource.
  • TexNicCenter — лучший TeX-редактор под Windows. Бесплатный, OpenSource.
  • TeX for the Impatient - свободно доступная (PDF,DVI, исходные TeX-тексты) книга (357 страниц), предназначена для начинающих и среднепродвинутых пользователей.
  • TeX by Topic: A TeXnician's Reference - доступная в PDF (307 страниц), книга для сильно продвинутых пользователей.


По крайней мере часть этого текста взята с ресурса http://lib.custis.ru/ под лицензией GDFL.Список авторов доступен на этом ресурсе в статье под тем же названием.