Одним из самых популярных таких макропакетов является LaTeX, в котором реализовано практически все, что может понадобиться при подготовке широкого спектра документов. К сожалению, за высокую гибкость и многофункциональность приходится платить --- этот пакет (по мнению автора) весьма объемист и сложен в освоении.
Одной из основных функций, заложенных в TeX при его проектировании, была возможность простого набора математических формул. Можно сказать, что это удалось. По субъективной оценке автора, набор сложных формул существенно легче и быстрее "визуальных" редакторов (M$ Equation, MathCAD). В особенности это заметно, где требуется выравнивание формул относительно друг друга, расстановка нумерации, а также при использовании нестандартных математических обозначений (последняя возможность вообще не встречалась автором нигде, кроме TeX). Американское математическое общество (American Mathematical Society) разработало макропакет AmSTeX, который содержит стандартные элементы статей, подаваемых для публикации в изданиях этого общества. Благодаря наличию этого пакета автор может самостоятельно подготовить текст публикации, который автоматически будет оформлен в соответствии с правилами. Также не составляет труда поменять внешний вид оформления --- достаточно по-другому определить стилевой файл, не переделывая при этом сами документы. Достаточно легко научить TeX вводу химических, музыкальных обозначений, и т.п. Подобные выдающиеся возможности делают TeX фактическим стандартом в научных издательствах.
Заслуживают внимания и такие вспомогательные средства, как index и BibTeX --- специальные программы, написанные для работы с TeX и позволяющие проставлять индексы, правильно вставлять ссылки и составлять список литературы в требуемом формате. BibTeX позволяет вытащить из базы данных (сама база данных --- чисто текстовый файл, вполне читабельный и его можно вручную корректировать) упомянутые в статье ссылки в нужном порядке, и каждая ссылка будет иметь расположение авторов, название и и т.п. в порядке, указанном стилевым файлом. Проблемы с неправильной нумерацией ссылок, часто встречающиеся при интенсивном редактировании текста, исчезают.
Непосредственное отношение к TeX имеют системы структурированного документирования программ WEB (Pascal) и CWEB (C/C++), позволяющие писать программы, как статьи, либо книги --- излагая словами и формулами идею алгоритма с "иллюстрациями" его реализации на соответствующем языке программирования. Впоследствие из такого файла можно с помощью соответствующих программ "вычистить" литературную часть и получить готовую программу, а можно получить хорошо структурированное и подготовленное к печати описание программы, снабженное перекрестными ссылками и т.п.
5. Разновидности ТеХа
LaTeX — является надстройкой над системой ТеХ в виде набора макропакетов и макрокоманд, и является системой более высокого уровня, чем ТеХ. LaTeX был написан Лесли Лампортом. Он использует
как наборщика.В 1994 году пакет LaTeX был обновлен командой LaTeX3 во главе с Франком Миттельбахом, с целью включения некоторых давно ожидаемых улучшений, а также объединения всех усовершенствованных версий, которые появились со времени выхода версии LaTeX 2.09 много лет назад. Чтобы не путать эту новую версию со старой, она называется LaTeX2e. Далее идет описание именно LaTeX2e .
Рисунок : Составные системы LaTeX
Рисунок показывает, как работают вместе
В среде LaTeX, LaTeX берет на себя роль дизайнера книги, используя
как наборщика. Но LaTeX — это «лишь» компьютерная программа, и потому требует четких инструкций. Автор должен предоставить дополнительную информацию, которая описывает логическую структуру его работы - заголовки разделов, цитаты, примеры, формулы и т.д.. Эта информация записывается в текст в виде команд LaTeX .Это существенно отличается от подхода WYSIWYG (What you see is what you get — что Вы видите, то и получите), принятого у большинства современных текстовых процессоров, таких как MS Word или Corel WordPerfect. В этих программах, авторы форматируют документ интерактивно, одновременно с набором текста на компьютере. В процессе работы они могут видеть на экране, какой вид будет иметь документ, когда он будет напечатан.
Используя LaTeX, как правило, невозможно увидеть конечную картину во время набора текста. Отформатированный документ однако можно просмотреть на экране после обработки файла LaTeX. При необходимости, исправления можно сделать, непосредственно, перед печатью.
LaTeX позволяет предотвратить ошибки форматирования, принуждая автора декларировать логическую структуру его документа. Затем LaTeX выбирает наиболее подходящий макет документа.
Существуют профессионально выполненные макеты, которые предоставляют документам вид «как из издательства».
LaTeX имеет также некоторые недостатки, но тяжело найти среди них существенные
РdfTEX- этот формат (portable document format) – прямое развитие PostScript, хотя он и не является «настоящим» языком программирования. В pdf нельзя, например, вычислить 2+2. Данные в этом формате в основном бинарные, но даже текстовая часть связана абсолютными ссылками, что не позволяет ее изменять.
Зато pdf обладает неплохими средствами для организации диалога с пользователем. Фактически pdf по этому параметру не уступает html (поддерживаются гиперссылки, формы, которые могут обрабатываться самим документом или веб-сервером, а также javascript) и может использоваться вместо него. В отличие от html, языка обобщенной (логической) разметки, pdf жестко фиксирует способ показа каждого элемента документа.
Структура pdf-файла весьма проста – это список занумерованных объектов, после которых следует каталог ссылок на них, а затем – ссылка на этот каталог. Часть данных в pdf-формате (содержимое объектов), как правило, упакована по известным алгоритмам сжатия. Одним из недостатков pdf, отсутствующим у PostScript, является необходимость считывания всего документа перед показом любой его части, что обусловлено местом расположения каталога объектов.
Система pdfTEX создает основу для работы макропакетов типа ConTEXt, выдавая результат сразу в виде pdf. С одной стороны, она позволяет использовать разнообразные полиграфические средства – такие же, как в PostScript; а с другой – поддерживает все диалоговые возможности pdf: работу с графическими изображениями, цветом, мультимедиа, трансформацией текстов и изображений, элементами управления типа кнопок, полей ввода данных и т. П., а также веб-ссылки. Отметим еще всплывающие аннотации к любому участку документа, возможность размещения статьи в виде не связанных друг с другом фрагментов текста и простоту – одной командой – изготовления брошюр, когда, например, на листе A4 печатаются две страницы A5. рdf-ссылки могут указывать не только на какой-то URL, но и на другое место в текущем файле, а также на другой pdf-документ, и содержат указание не только на то, куда они отсылают, но и на способ отображения целевого объекта. В pdfTEX большое внимание уделяется работе с объектами – более мощными разновидностями традиционных теховских «боксов»[Бокс (калька с английского слова box) – прямоугольник, куда помещается картинка (в простейшем случае состоящая из одного символа)].