Элементарное введение
Общие замечания
Что такое TeX и LaTeX
Как уже отмечалось в предисловии, TeX (произносится "тех", пишется также "TeX") - это созданная американским математиком и программистом Дональдом Кнутом (Donald E. Knuth)- система для верстки текстов с формулами. Сам по себе TеX представляет собой специализированный язык программирования (Кнут не только придумал язык, но и написал для него транслятор, причем таким образом, что он работает совершенно одинаково на самых разных компьютерах), на котором пишутся издательские системы, используемые на практике. Точнее говоря, каждая издательская система на базе ТеХ-а представляет собой пакет макроопределений (макропакет) этого языка. В частности, LaTeX (произносится "латех" или "лэйтех", пишется также "LaTeX") - это созданная Лесли Лэмпортом (Leslie Lamport) издательская система на базе TeX-а.
Прежде чем углубиться в изучение собственно LaTeX'а, скажем несколько слов о других издательских системах на базе TeX'а. Наряду с LaTeX'ом распространены также макропакеты Plain-TeX и AMS-TeX. Макропакет Plain-TeX был разработан самим Дональдом Кнутом, рассматривавшим его в качестве платформы для построения более сложных систем; на практике он используется и как средство для обмена текстами (текст, подготовленный для Plain TeX'а, сравнительно несложно переделать в исходный текст для того же LaTeX'а). Что касается AMS-TeX'а, то эта издательская система сориентирована на важный, но узкий круг приложений: верстку статей для математических журналов и книг, издаваемых Американским математическим обществом. Соответственно, в AMS-TeX'е предусмотрено большое количество весьма изощренных возможностей для создания сложных математических формул, но при этом нет многих вещей, которые естественно было бы ожидать в издательских системах общего назначения (например, автоматической нумерации частей документа). Современные версии LaTeX'а включают в себя AMS-TeX'овские возможности для набора формул (и используются Американским математическим обществом).
Настоящее издание этой книги посвящено описанию LaTeX'а версии (она называется LaTeX , произносится " два е" или "два эпсилон"). Эта версия, вышедшая в 1994 году, в настоящее время стала стандартной. Ее создатели Йоханнес Браамс (Johannes Braams), Михаэль Гуссенс (Michael Goossens), Алан Джеффри (Alan Jeffrey), Дэвид Карлайл (David Carlisle), Франк Миттельбах (Frank Mittelbach), Крис Роули (Chris Rowley) и Райнер Шепф (Rainer Schopf). Иногда встречаются тексты, набранные в более старой версии LaTeX'а (так называемый LaTeX 2.09, описанный в предыдущих изданиях этой книги). Во многих случаях файл, подготовленный в LaTeX'e 2.09, успешно обрабатывается и с помощью LaTeX'а , хотя абсолютной совместимости "снизу вверх" все же нет.
Достоинства и недостатки
Все издательские системы на базе TeX'а обладают достоинствами, заложенными в самом TeX'е. Для новичка их можно описать одной фразой: напечатанный текст выглядит "совсем как в книге". LaTeX как издательская система предоставляет удобные и гибкие средства достичь этого полиграфического качества. В частности, указав с помощью простых средств логическую структуру текста, автор может не вникать в детали оформления, причем эти детали при необходимости нетрудно изменить (чтобы, скажем, сменить шрифт, которым печатаются заголовки, не надо шарить по всему тексту, а достаточно заменить одну строчку в так называемом " стилевом файле"). Такие вещи, как нумерация разделов, ссылки, оглавление и т.п. получаются почти что "сами собой".
Огромным достоинством систем на базе TeX'а является высокое качество и гибкость верстки абзацев и математических формул (в этом отношении TeX до сих пор не превзойден).
Программа TeX (и все издательские системы на ее базе) неприхотлива к технике (в свое время автор этих строк с успехом работал в TeX'е на компьютерах на базе всеми забытого 80286-процессора, и даже на таком электронном тихоходе, как IBM XT, а уж с современными компьютерами проблем заведомо не возникает).
С другой стороны, TeX'овские файлы (особенно английские — с русскими дело обстоит хуже; см приложение E) обладают высокой степенью переносимости: вы можете подготовить LaTeX'овский исходный текст на своей IBM PC, переслать его (скажем, по электронной почте) в издательство, и надеяться, что там ваш текст будет правильно обработан и на печати получится в точности то же, что получилось у вас при пробной печати на вашем любимом принтере (с той единственной разницей, что фотонаборный автомат даст отпечаток более высокого качества). Благодаря этому обстоятельству TeX стал очень популярен как язык международного обмена статьями по математике и физике.
Есть у TeX'а и недостатки. Тем, кто привык к редакторам наподобие Word'а, может не понравиться, что TeX не является системой типа WYSIWYG: работа с исходным текстом и просмотр того, как текст будет выглядеть на печати, — разные операции. На взгляд автора, благодаря этой особенности время на подготовку текста типографского качества только сокращается, но представления об удобстве у всех разные.
Далее, хотя параметры оформления менять легко, создать принципиально новое оформление (новый "класс документов") — совсем не простое дело.
Переносимость TeX'овских текстов снижается, если в них предусмотрен импорт графических файлов (эта возможность в TeX'е зависит от его реализации). Впрочем, в последнее время в этом отношении наметился определенный прогресс: стандартом de facto в TeX'овском мире становится представление графики в формате PostScript, причем в LaTeX'e появились удобные средства для включения этой графики в текст.
Наконец, как мы отмечали в предисловии, TeX плохо приспособлен для верстки страниц со сложным взаимодействием текста и графики.
Литература по TeX'у
Каноническое описание языка TeX и макропакета Plain TeX — трудная книга Дональда Кнута [2]. У рядового пользователя LaTeX'а необходимость читать эту книгу обычно не возникает.
Каноническое описание AMS-TeX'а — книга [5], также написанная самим создателем AMS-TeXа Майклом Спиваком (Michael Spivak).
Наконец, каноническое описание LaTeX'а — книга Лесли Лэмпорта[1]. Настоящее пособие в чем-то уже, чем книга[1], а в чем-то — шире: мы не упоминаем о некоторых средствах LaTeX'а, которые, на наш взгляд, редко используются на практике, но при этом рассказываем о многих полезных вещах, о которых в [1] не упоминается. Разнообразные модификации стандартного стиля оформления (" пакеты") описаны в книге Миттельбаха, Гуссенса и Самарина [6], рассчитанной на читателя, уже умеющего работать в LaTeX'е. Некоторые другие книги по LaTeX'у приведены в списке литературы .
Одной из первых книг по LaTeX'у на русском языке была брошюра [4], представляющая собой выполненный А.Шенем перевод краткого руководства [3] с дополнением переводчика, посвященным описанию одной из популярных реализаций TeX'а под DOS - системы emTeX.
Как проходит работа с системой LaTeX
В дальнейшем мы будем отмечать, какие свойства системы специфичны для LaTeX'а, а какие относятся вообще к TeX'у и ко всем издательским системам на его базе, но при первом чтении вы можете об этих тонкостях не задумываться и воспринимать слова TeX и LaTeX как синонимы.
В частности, все, что сказано в этом разделе, применимо не только к LaTeX'у, но и к любому другому макропакету для TeX'а, хотя мы всегда будем говорить "LaTeX".
Для начала автор должен подготовить с помощью любого текстового редактора файл с текстом, оснащенным командами для LaTeX'а. Такие файлы по традиции имеют расширение "tex" (описанию того, что должно быть в таком файле, и посвящена вся эта книга )1Подчеркнем, что это должен быть именно " чистый" текстовый файл; doc-файлы для этих целей не годятся!. Дальнейшая работа протекает в два этапа. Сначала надо обработать файл с помощью программы-транслятора; в результате получается файл с расширением "dvi" (device independent - не зависящий от устройства).
Теперь полученный файл (его называют еще dvi-файлом) можно с помощью программ, называемых драйверами, распечатать на лазерном или струйном2Или даже на матричном.. принтере, посмотреть на экране (текст будет в таком же виде, как он появится на печати) и т.д. (для разных устройств есть разные драйверы). Неудовлетворенный результатом, автор вносит изменения в исходный файл, и цикл повторяется.
На самом деле повторений цикла будет больше, так как придется еще исправлять синтаксические ошибки в исходном тексте.
Перед тем, как начать работать в системе LaTeX, вам необходимо уяснить для себя три вопроса:
- Что нужно сделать, чтобы оттранслировать исходный текст (т.е. создать из него dvi-файл)?
- Что нужно сделать, чтобы просмотреть dvi-файл на экране?
- Что нужно сделать, чтобы напечатать dvi-файл?
Кроме того, для создания исходного текста нужно, естественно, уметь обращаться с каким-нибудь текстовым редактором.
Ответы на эти вопросы проще всего получить у знакомых, которые уже пользуются TeX'ом; они же помогут его достать (практически все реализации TeX'а являются свободно распространяемыми) и установить. Некоторые сведения о реализациях TeX'а для систем типа Unix (Linux, FreeBSD и др.) и для DOS/Windows приведены в приложении E.