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!
 

Комментарии

Страницы

Аватар пользователя Валерий
Господа, что вы так в ТеХ вцепились и цивиллизованными компаниями пугаете?

Чем, например, плох FrameMaker+SGML?

Масса известных мне цив. компаний работает во Фрэйме.

Аватар пользователя Владимир
Латех нужен для полного контроля за обстановкой, так чтобы никакой Бил с одной стороны не подкапался, а с другой не сел верхом. Будущее можно делать, а

можно прожигать --- что лучше неизвестно, но интересы разнообразны...

Аватар пользователя Ооо!!!
Вы знаете, развитие свободных программ у меня порой вышибает соплю умиления. Страх вспомнить, сколько лет понадобилось, чтоб после Латеха 2.09 появился Латех 2е, который еще худо-бедно удовлетворяет потребности авторов и издателей (если кто не знает, версия 2е была выпущена как компромисс для срочного удовлетворения накипевших потребностей, чтобы не торопить выход 3-й версии). И с тех пор консорциум Латех3 ведет свою многолетнюю, напряженную, кипучую деятельность по совершенствованию Латеха. Значит, так он и нужен сообществу юзеров. Юзаем что есть, приспособились. А для полного контроля над обстановкой, если на другом конце связи сидит не крутой ТеХперт, есть PS and PDF, в которые хорошо перегоняется и Ворд.
Аватар пользователя Викинг
Ooo!!!: если скорость процесса тебя не устраивает, можешь внести свой посильный вклад.
Аватар пользователя Ооо!!!
Викингу:

Может, и могу, но не буду, это уж точно. Странно: уж в который раз на свои слова "заявления о продвинутости свободного ПО и эффективности работы его создателей не соответствуют действительности" слышу "иди сюда, поработаешь". Как ответил Ийон Тихий в конце своего путешествия на планету Инда, "Но я же не индиот!"

Аватар пользователя Викинг
Ооо!!!: Свободное ПО работает? Оно чем-то *принципиально* хуже коммерческого?

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

Аватар пользователя Ооо!!!
=А те... должны или внести ..., или заткнуться и купить...=

Начнем с того, что я ничего не должен. Дальше?

Аватар пользователя Владимир
OOO! слабо с ТеХом разобраться!... Легче под Биллом будущее прожигать? А мне собственно до этого нет никакого дела. Хотя жаль, что DVI намного слабее PS/PDF, которые под Adobe... но с ТеХ они в принципе имеют мало общего --- надо не ооокать, а еще доучиться.
Аватар пользователя Викинг
> Начнем с того, что я ничего не должен.

Ты - пользуешься чужим трудом бесплатно, ничего не отдавая взамен. Поэтому ты - должен. Дальше?

Аватар пользователя Ооо!!!
=Ты - пользуешься чужим трудом бесплатно, ничего не отдавая взамен. Поэтому ты - должен.=

Где было оговорено, до того, как я это взял юзать, что я что-то должен взамен? Потому и не должен. Нефиг раздавать даром, а после требовать нижайших поклонов там, где самое мягкое -- это сказать "фу". Не должен. Как и не должен обожать глюки бесплатной почты. Так и не должен восторгаться черепашьими темпами развития бесплатного софта. Викинг, кончай морализаторствовать. Не тянешь.

=надо не ооокать, а еще доучиться=

Спасыба, дарагой каллега! Рад, что ты уже можешь сравнить дивиай и пидиэфом.

Страницы