LATEX

Когда-то в далекой галактике жил компьютер по имени Ар. Джей. Дрофнатс. Мистер Дрофнатс, или просто "Ар. Джей.", как он предпочитал, чтобы его называли, был самым счастливым существом, когда на работе ему приходилось набирать красивые документы.

А. Тор

Наверняка вы никогда не слышали про LATEX1. Но даже если вы уже знаете, что это - мощная издательская система, ставшая "де-факто" стандартом в подготовке научно-технических публикаций, то вряд ли вам когда-то приходилось создавать свои документы с ее помощью. Ведь, по статистике, LATEX установлена на каких-то единицах персональных компьютеров из ста. Тем не менее, она, несомненно, придется по душе тем, кто часто набирает на компьютере красивые документы, содержащие большое количество математических или химических формул. А в последнее время LATEX начинает пользоваться популярностью даже у "гуманитариев" благодаря профессиональному качеству полученных документов и той легкости, с которой в ней создаются сноски, ссылки, оглавление, указатель и список литературы, удовлетворяющие точным журнальным стандартам. Поскольку LATEX - это издательская система, то созданные в ней документы выглядят "напечатанными", чего очень трудно (если вообще возможно) добиться с помощью MS Word. И в то же время LATEX - это издательская система для авторов, не требующая от них профессиональных навыков верстальщика как в случае с Adobe PageMaker или Corel Ventura Publishing. В этом смысле LATEX находит применение в двух различных областях: в подготовке документов обычным пользователем ПК и в издательском деле. Обычному пользователю LATEX дает возможность получить профессионально набранный документ; издательство же может сэкономить немало средств и времени в процессе подготовки издания, поскольку LATEX является бесплатным продуктом, а набранные в ней вклады отдельных авторов попадают в издательство фактически уже сверстанными.

Более того, TEX и LATEX интересны не только как инструменты для создания красивых математических книг, статей, курсовых и дипломных. TEX - это еще и "компьютерная программа, которой профессор информатики и вычислительных систем может гордиться"2. Вот почему история их создания очень познавательна.


Как возникли TEX и LATEX

Вначале была TEX. Точнее, в далеком 1977 году, когда профессор Стэнфордского университета и автор всемирно известного труда "Искусство программирования" Дональд Кнут получил гранки второго издания этой своей самой знаменитой книги, TEX еще не было. В отличие от первого издания, типографский набор книги производился с помощью компьютера, фотонаборным методом, и, к сожалению, гранки выглядели ужасно. Это обстоятельство так сильно огорчило Д. Кнута, что издательство "Аддисон-Весли" даже предложило перенабрать книгу по старой технологии - с помощью буквоотливного автомата. А некоторое время спустя Д. Кнуту попались на глаза гранки другой книги, сделанные с помощью новой цифровой машины, использующей растровую технологию, которые имели значительно более высокое качество исполнения. После того Кнут бросил все и занялся цифровой типографией. Два года ушло на создание системы, позволяющей получить лучшее из когда-либо достижимого качество форматирования текста3, и еще семь лет - на создание привлекательных шрифтов для набора текста и математических формул.

 

Работая над TEX, Дональд Кнут разработал концепцию грамотного программирования и реализующий ее язык программирования WEB. Грамотное программирование заключалось в создании легко читаемого исходного текста программы, содержащего в одном файле как компилируемый код, так и документацию, которые, после разделения синтаксическим анализатором, использовались, соответственно, для создания исполняемого машинного кода и профессионально сверстанной документации. Кнут переписывал TEX дважды, и во второй раз он создавал его уже с помощью WEB. Благодаря тому, что Дональд Кнут сделал исходники TEX свободно распространяемыми и создал инструментальные средства для разработки программ на WEB, TEX была перенесена практически на все платформы - от Атари до суперкомпьютеров.

С точки зрения программирования, TEX - это макропроцессор, предоставляющий пользователю огромные возможности, но в то же время являющийся очень сложным в управлении "агрегатом". Первоначальный пакет макросов, облегчавший пользование TEX, был создан самим Д. Кнутом и назывался plainTEX. Позднее Лесли Лампорт написал пакет макросов для верстки на основе профессионально разработанных макетов документов, имевший в своем названии две начальные буквы фамилии автора. LATEX2e (читается "латех два е", самая последняя версия LATEX) получила широкое распространение, поскольку оказался настоящим компромиссом между легкостью использования и функциональностью. LATEX избавила автора от раздумывания над тонкостями типографского искусства.


Как работает LATEX

В основе работы LATEX лежит логическое структурирование документа и использование стилевых файлов, т.е. то, что на самом деле было известно и использовалось в издательском деле задолго до возникновения LATEX. Автор предоставляет издательству манускрипт, в котором указана его логическая структура: разбиение на части, главы, подглавы и т.д., а также то, что какой-то текст является цитатой или листингом компьютерной программы, или должен быть по-особому выделен, поскольку автор хочет обратить на него внимание читателя. Технический редактор определяет дизайн или стиль печатного издания: будет ли текст располагаться в одну или несколько колонок, каким шрифтом набрать название главы, а каким - основной текст, и т.д. И, наконец, профессиональный верстальщик на основе указаний технического редактора создает с помощью технических средств оригинал-макет, с которого будет печататься издание.

Автор, набирающий в LATEX, выполняет свою "классическую" работу - создает размеченный понятными командами для указания логической структуры (например, \chapter для указания начала главы) документ. Затем система компилирует документ и стилевые файлы (которые издательство обычно предоставляет своим авторам; если же документ создается для "себя", то вполне можно воспользоваться классами документов, предоставляемыми самой LATEX), используя для типографского набора всю мощь процессорной машины TEX.


MikTEX и Winedt

Наиболее полной и современной реализацией LATEX под ОС Windows является созданный Кристианом Шенком MikTEX (www.miktex.org). Оболочка Winedt (www.winedt.com) предоставляет мощный и простой интерфейс, позволяющий с легкостью воспользоваться многими функциями LATEX. О том же, как создавать исходные файлы в LATEX, можно прочесть в "Не очень кратком введении в LATEX2e, или LATEX2e за 84 минуты" (xtalk.price.ru/tex).


Вместо заключения

Инсталляция самого полного дистрибутива LATEX займет свыше 500 мегабайт на вашем жестком диске. А в "Полном сетевом архиве TEX" (Comprehensive TEX Archive Network, CTAN, www.ctan.org) вы сможете найти свыше двух гигабайтов различных дистрибутивов, имеющих размер от 20 до 150 мегабайтов, полезных программ и информации, касающейся LATEX. И когда вы создадите с помощью LATEX свой первый документ, вам станет известно, в чем мистер Дрофнатс набирал свои красивые документы.

Владимир КАШКАН


1 Читается "лате`х".

2 Слова Д.Кнута в предисловии к книге "TEX: The Program".

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

Версия для печатиВерсия для печати

Номер: 

48 за 2001 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!
 

Комментарии

Страницы

Аватар пользователя Викинг
> Где было оговорено, до того, как я это взял юзать, что я что-то должен взамен?

Естественно, никто тебя с тебя денег не требует. С другой стороны, никто тебе Латекс силком не совал. Если уж взялся пользоваться чужим трудом и не давать ничего взамен, веди себя прилично, докторант. Дареному коню в зубы не смотрят. Народная мудрость.

Понятно, что в free software есть куча недостатков - все сделанное человеком несовершенно. Решение этих технических проблем главным образом требует человеческих ресурсов, и ожидать, что люди, для которых это хобби, будут перед тобой бегать на цырлах только потому что ты соизволил пользоваться их продуктом - глупо.

Возможно, мир, где ты мог бы потребовать от любого человека удовлетворения своих прихотей "за так", был бы лучше, но увы - наш мир устроен по-другому. Можешь возмущаться этим сколько угодно, но таковы люди - ты и сам такой.

Смирись.

Аватар пользователя Ооо!!!
=Если уж взялся пользоваться чужим трудом и не давать ничего взамен, веди себя прилично, докторант=

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

=Дареному коню в зубы не смотрят. Народная мудрость=

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

=Смирись=

а можно я лучше поработаю? разрешите, дяденька?

Аватар пользователя В
Итак, те кто против латех --- хамят... Но как подметили американские коллеги ``спор о ТеХ может легко перерасти в религиозную войну''... и, я думаю, не совсем вокруг ТеХ, а на войне хамы могут иногда победить...
Аватар пользователя Ваня
Крутая у Вас логика, господин доцент. Победы Вам.
Аватар пользователя Lonely Wolf
Сравнивать TeX с Word-ом, тоже самое, что сравнивать Squid с WinGate.
Аватар пользователя Levitva
Принятие решения об использовании LaTex в большом коллективе, реализующем огромное количество документации по своим разработкам носит волевой характер. Опыт показывает, что он хорошо приживается, удобен в стыковках различных кусков и редактировании. Написание сложных многоэтажных формул не просто в любой изд системе.
Аватар пользователя Инкогнито
>>Принятие решения об использовании LaTex в большом коллективе, реализующем огромное количество документации по своим разработкам носит волевой характер.

Разработкам? Каким? Какого рода? Документация содержит таблицы, векторную и растровую графику? В таком случае характер принятия решения -- волюнтаризм.

>>Опыт показывает, что он хорошо приживается, удобен в стыковках различных кусков и редактировании.

Аха, особенно когда два куска используют несовместные пакеты.

>>Написание сложных многоэтажных формул не просто в любой изд системе

Не могли бы Вы подсчитать, сколько у нас в стране Больших Коллективов, реализующих Огромное Количество Документации с Многоэтажными Формулами? А затем соотнести трудозатраты в латехе и ворде на такие повседневные дела коллективов как нарисовать таблицу и вставить картинку!

Страницы