В этом приложении не содержится никаких практических рецептов. Его цель в том, чтобы читатель, прочитавший основную часть книги, получил общее представление о структуре работающего комплекта TeX'а.
Как гласит легенда, Дональд Кнут (Donald E. Knuth) написал программу TeX для
себя, чтобы готовить к печати книги серии "Искусство
программирования для ЭВМ". Первая версия TeX'а появилась в
1978 году; начиная с 1989 года все изменения в TeX'е сводятся в
основном к исправлению ошибок (Кнут сознательно не стремится
совершенствовать TeX дальше, чтобы предотвратить
распространение несовместимых версий). Тому, кто первым
обнаружит очередную ошибку, Кнут выплачивает денежную премию;
время от времени ставка удваивается, и тем не менее Кнут отнюдь
не
Программа TeX распространяется свободно, а ее исходные тексты полностью доступны: помимо книги [2], обязательной для изучения каждому, кто собирается стать TeX ником, в виде книги опубликован и полный текст программы с комментариями. Текст программы написан на изобретенном Кнутом псевдокоде под названием Web; раньше Web транслировали в Pascal (с помощью программы, написанной все тем же Кнутом), в настоящее время используется транслятор из Web'а в язык C.
Если получить программу TeX из кнутовского исходного текста
(то есть перевести псевдокод в Pascal или C, а затем
скомпилировать), то использовать полученную программу ("
чистый TeX" — по-английски говорят еще "virgin
TeX") для обработки текстов будет еще невозможно: чистый
TeX не знает смысла ни
Стало быть, прежде чем использовать TeX для дела, его надо обучить смыслу тех многочисленных макросов, которые используются в реальных tex-файлах. Набор TeX'овских макросов, используемый для обработки текстов, называется макропакетом. С одним из TeX'овских макропакетов вы уже неплохо знакомы: это тот самый LaTeX, которому посвящена вся эта книга.
Как же TeX узнает определения макросов из
используемого вами макропакета? Ответ таков. Среди известных
чистому TeX'у примитивных команд есть и команда, предназначенная
для определения макросов (чем-то похожая на известные вам \newcommand и \renewcommand ); если перед началом файла с текстом
и формулами, который вы хотите обработать, приписать "исходный
текст макропакета" — список всех используемых в макропакете
(скажем, том же LaTeX'е) макроопределений — и передать
полученный файл для обработки программе TeX, то TeX сначала
узнает смысл используемых вами макросов, а к моменту начала
собственно текста будет уже "во всеоружии" и благополучно
создаст нужный вам
На практике, однако, так никогда не делается: макропакеты имеют достаточно большой размер, и обработка их TeX'ом даже на современных компьютерах происходит не мгновенно, а уж в конце семидесятых годов потери времени при работе по такой схеме были бы совершенно неприемлемы. Поэтому Кнут применил в этом месте следующую оптимизацию: при установке TeX'а для работы с каким-то макропакетом TeX считывает исходный текст этого макропакета и записывает содержимое своих внутренних таблиц в специальный файл, называемый форматным ; при запуске для работы с текстом TeX предварительно считывает информацию о макросах, содержащуюся в макропакете, из форматного файла (или попросту " формата", как иногда говорят), что существенно быстрее, чем всякий раз обрабатывать исходный текст макропакета заново.
(Строго говоря, сказанное в предыдущем абзаце не вполне соответствует действительности. Использование файлов формата — не только оптимизация, поскольку таблицы переносов, необходимые для верстки абзацев, могут быть обработаны TeX'ом только на стадии генерации форматного файла.)
Первый макропакет написал одновременно с программой TeX сам Кнут: это пакет Plain TeX, который также описан в книге [2].
Следующим после Plain TeX'а макропакетом, получившим распространение, стал AMS-TeX, созданный Майклом Спиваком (Michael Spivak). По сравнению с Plain TeX'ом в него были добавлены удобные средства для набора сложных формул, особенно многострочных. Подчеркнем, что всех AMS-TeX'овских эффектов можно добиться и в Plain TeX'е — возможности TeX'а новый макропакет расширить не может, — но там это требует громоздких записей и довольно серьезного знания TeX'овских внутренних механизмов; Спивак создал для этих целей удобные сокращенные обозначения (то есть макроопределения!), которыми математики стали с удовольствием пользоваться (и до сих пор пользуются).
В 1984 году Лесли Лэмпорт (Leslie Lamport) создал макропакет
LaTeX (его заключительная версия, вышедшая в 1989 году,
называется LaTeX 2.09). Возможно, одной из важнейших новых черт
LaTeX 'а явилась возможность автоматической нумерации и —
главное — автоматической генерации ссылок с помощью
команд \label, \ref и \pageref. Достижение этого
эффекта средствами Plain TeX'а требует весьма изощренного
программирования.
Наконец, в 1995 году появилась новая версия LaTeX'а, а именно тот самый LaTeX $$2_{\varepsilon}$$, описанию которого посвящена вся эта книга. Одним из первоначальных толчков к коренной переработке LaTeX'а было желание включить в него возможности AMS-TeX'а, в частности, возможность пользоваться символьными шрифтами Американского математического общества (в "старом" LaTeX'е добавлять новые шрифты сверх стандартного комплекта было довольно неудобно). В настоящее время поддержкой и совершенствованием системы LaTeX $$2_{\varepsilon}$$ занимается группа TeXнологов (Frank Mittelbach, Michel Goossens и другие); после первоначального периода быстрых изменений LaTeX практически стабилизировался, хотя раз в год и выходит новая версия.
Подведем предварительные итоги: при практической работе программу TeX запускают не просто так, но с указанием форматного файла, соответствующего используемому макропакету; форматные файлы генерируются при установке TeX'а из исходных текстов макропакетов. Отметим еще, что исходные тексты макропакетов переносимы между платформами (DOS, Linux и т.п.), а форматные файлы зависят от реализации TeX'а.
Как мы уже говорили, программа TeX (то есть интерпретатор языка TeX) написана Кнутом не на каком-то из использовавшихся в то время языков программирования, но на специальном псевдокоде. Благодаря этому TeX можно сравнительно легко приспособить к различным типам компьютеров и операционных систем, и эти реализации будут работать одинаково. (Чтобы достичь единообразия, Кнут практически нигде не пользуется вычислениями с плавающей запятой: на разных компьютерах они могут дать разные результаты, а это, в свою очередь, может повлиять на верстку.)
Конечно, пользовательский интерфейс и интерфейс с операционной
системой в разных реализациях устроены по-разному, но при
обработке одного и того же tex-файла с одним и тем же
макропакетом на любой платформе получится один и тот же
Реализации TeX'а имеют свои названия. Например, долгое время
была популярна созданная Эберхардом Маттесом
(Eberhard
Не следует путать реализации с макропакетами: в принципе в любой из реализаций TeX'а можно установить любой макропакет (в частности, Plain, LaTeX и AMSTeX установлены всюду). Поэтому на задаваемый иногда новичками вопрос: "А у тебя LaTeX или MiKTeX?" ответить невозможно.
Как мы уже говорили, программа TeX (с тем или иным
макропакетом) читает TeX-файл и преобразует его в файл с
расширением .
Заметим, что в
Откуда же берутся шрифты, используемые TeX'ом? Первоначальный комплект шрифтов создал сам Дональд Кнут. Для этого он вместе со своими коллегами
Вот пример: описание шрифта Computer Modern Roman (прямой светлый, как в основном тексте книги) размера 10 pt на языке METAFONT содержится в файле cmr10.mf (точнее, этот файл устанавливает значения параметров и затем отсылает к другим файлам). Программа METAFONT, запущенная на этом файле с указанием разрешения 600 dpi (оно предусмотрено во многих современных принтерах), порождает файл cmr10.tfm (который на самом деле не зависит от разрешения) и файл cmr10.600pk.
Из этих двух файлов TeX использует лишь первый. Второй понадобится,
когда
Помимо шрифта cmr10, в стандартный комплект TeX а входят шрифты других размеров (cmr5, cmr6, cmr7, cmr8, cmr9, cmr12, cmr17). Кроме того, можно масштабировать шрифты (при этом TeX использует тот же самый tfm-файл, но другой pk-файл, потому что число точек в увеличенном шрифте другое).
Вернемся к
В свою очередь,
Например, драйвер dvihplj, входящий в состав системы
emTeX (для DOS), преобразует
Современные
Некоторые реализации TeX'а идут в этом отношении еще дальше: если в процессе обработки tex-файла встречается запрос на шрифт, для которого нет соответствующего tfm-файла, то вызывается метафонт, который недостающий tfm-файл и генерирует (по канону в такой ситуации TeX должен выдавать сообщение об ошибке).
Строго говоря, TeX может работать с любыми шрифтами, надо только, чтобы для них были соответствующие tfm-файлы и чтобы соответствующие имена шрифтов были предусмотрены в используемом макропакете. В частности, довольно часто с TeX'ом используют так называемые "Type 1 PostScript-шрифты". О них, а также о языке PostScript, более подробно говорится в приложении Б.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.