TeX
TEΧ (чистым текстом — TeX, название произносится как «тех», буква E опущена ниже T и X.) — мощная система для компьютерной верстки документов, разработанная американским профессором информатики Дональдом Кнутом, автором знаменитой книги «Искусство программирования для ЭВМ». Собственно TeX и был разработан при написании этой книги, для облегчения и ускорения ее верстки.
В основу системы входил:
- мощный (хотя и чрезвычайно заумный) препроцессор, разбирающий плоский (ASCII) входной текст на последовательность лексических единиц — токенов, и осуществляющий сложную последовательность подстановок (раскрытий макросов, включений файлов).
- процессор верстки, занимающийся расположением текста, старающийся минимизировать все метрики верстки, препятствующие удобному чтению (неровные границы текста, неравномерные интервалы между символами, строчками и абзацами и т. п.).
- высококачественные векторные шрифты, (полученные с помощью разработанной также Кнутом, системы METAFONT) — остаются одними из лучших до сих пор.
- богатый базовый набор команд для представления практически произвольных математических формул — TeX разметка математических формул до сих пор является самой распространенной (см. например Help:Формулы), кроме того, одна достаточно удобна, и при всех ее недостатках, набор в формул в этой разметке гораздо быстрей, чем ввод формул через графический интерфейс.
Базовый набор макросов, известный как «plaintex» позволял опытному «гуру» TeXа сделать практически любой документ, предоставляя базу, на которой можно построить дерево (или пирамиду) собственных макросов, представляющих по сути дела язык документа. Однако, такая ситуация могла устраивать далеко не всех — только очень продвинутых авторов, доносящих верстку своего текста непосредственно до типографской машины. Во всех иных случаях, возникала проблема понимания и взаимодействия — т. к. кроме автора в структуре и смысле исходного текста никто (ни издательство, ни другие авторы/соавторы) разобраться не могли. Поэтому получили распространение несколько пакетов макросов более высокого уровня, практически (но увы, не до конца) снимающие описанные проблемы. Самым известным таким пакетом, является , содержащий набор стандартных макросов для:
- определения структуры документа,
- ссылочной целостности внутри документа,
- оформления плавающих объектов (картинок, таблиц).
Вот пример начала 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 страниц), книга для сильно продвинутых пользователей.
Внимание! Эта статья была создана путем автоматического реплицирования из внутренней базы знаний компании Заказные Информ Системы. Любые правки этой статьи могут быть перезаписаны при следующем сеансе репликации. Если у вас есть серьезное замечание по тексту статьи, запишите его в раздел «discussion».
Статья реплицируется в Wiki4IntraNet.