CFA LogoCFA Logo Computer
Новости Статьи Магазин Драйвера Контакты
Новости
RSS канал новостей
В конце марта компания ASRock анонсировала фирменную линейку графических ускорителей Phantom Gaming. ...
Компания Huawei продолжает заниматься расширением фирменной линейки смартфонов Y Series. Очередное ...
Компания Antec в своем очередном пресс-релизе анонсировала поставки фирменной серии блоков питания ...
Компания Thermalright отчиталась о готовности нового высокопроизводительного процессорного кулера ...
Компания Biostar сообщает в официальном пресс-релизе о готовности флагманской материнской платы ...
Самое интересное
Программаторы 25 SPI FLASH Адаптеры Optibay HDD Caddy Драйвера nVidia GeForce Драйвера AMD Radeon HD Игры на DVD Сравнение видеокарт Сравнение процессоров

АРХИВ СТАТЕЙ ЖУРНАЛА «МОЙ КОМПЬЮТЕР» ЗА 2003 ГОД

Верстальщик ТеХтов

Андрей АБИЗОВ

Сегодня многим приходится готовить дипломы и курсовые на различные научно-технические темы. Многие делают это в обычном Word’е, а математические выражения (дроби, интегралы и т.д.) набирают во встроенном редакторе формул Equation. Но у пользователей с не очень мощными компьютерами Word начинает ощутимо тормозить с увеличением количества формул, да и конечный результат выглядит похуже, чем профессионально изданные книги и статьи. Все эти проблемы решает система TeX, которая будет рассмотрена в данной статье.

Немного истории

Система верстки текстов TeX была создана Дональдом Кнутом более чем 20 лет назад. По его собственным словам, ему надоело посредственное качество публикации его статей и книг, поэтому он решил найти собственное решение данной проблемы. Так в 1978 году появился TeX, который был стандартизован в 1985 году.

TeX имеет оригинальную систему нумерации версий — начиная с версии 3 все последующие нумеровались посредством добавления еще одной цифры числа пи после запятой таким образом, что номер версии стремится к пи. Текущая версия равна 3.14159.

Интересно, что качество системы настолько высоко, что Кнут выплачивает денежные премии тем, кто найдет в ней ошибку. Текущий размер премии составляет $327.68, но Кнута это не разорило, т.к. было найдено очень небольшое количество ошибок.

Принцип работы

Надо сказать, что TeX совершенно не похож на то, к чему привыкло большинство пользователей. По своей идеологии TeX немного похож на HTML, но, если HTML является интерпретируемым языком, то TeX — компилируемым. Да, TeX представляет собой именно язык, а точнее язык разметки документов. То есть первоначальный документ TeX представляет собой обычный текстовый документ («исходник»), который после компиляции превращается в удобочитаемый сверстанный текст, удовлетворяющий самым требовательным запросам.

Команды языка TeX начинаются со знака косой черты —\, например \newline. Каждая команда преобразуется в несколько других команд или в текст, который уже может содержать форматирование. Получившиеся команды также преобразуются до тех пор, пока не останется только один текст. Вся прелесть заключается в том, что набор команд не является жестко фиксированным, и пользователи могут определять свои собственные команды.

Компилятор языка TeX точно знает размеры всех символов и, используя эту информацию, точно вычисляет оптимальное расположение символов в строке и строк на странице. В результате компиляции получается файл DVI (DeVice Independent), который может быть распечатан или преобразован в другие форматы (например, PostScript или PDF).

Однако язык команд TeX достаточно сложен для изучения и, что самое неприятное, в нем отсутствует структура (как, например, в HTML).

Чтобы избежать этих неприятностей, Лесли Лампортом была создана надстройка над TeX под названием LaTeX (от слов LAmport TeX, произносится как «латех»). В LaTeX’е появились команды для автоматической нумерации глав, формул, гибкая система создания ссылок, таблиц и многое другое. А главное, пользователь получил возможность сконцентрироваться на структуре документа, а не на деталях форматирования.

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

Выбор дистрибутива и инсталляция

На текущий момент TeX и LaTeX являются только стандартами — существует множество дистрибутивов, обеспечивающих сходную функциональность. Как это ни печально :-), но на текущий день на компьютерах большинства пользователей стоит Windows в различных ее ипостасях. Я говорю об этом с сожалением, потому что практически любой дистрибутив Linux содержит пакет TeTeX, который включает в себя TeX, LaTeX, а также много других полезных вещей. Но в силу упомянутого выше обстоятельства рассматриваться будет именно Windows. Самым лучшим, на мой взгляд, дистрибутивом TeX/LaTeX для Win32 является MikTeX, созданный немецким программистом Кристианом Шенком. На текущий момент он существует в версии 2.2, которая доступна для загрузки по адресу http://www.miktex.org.

Процессы загрузки и инсталляции чем-то напоминает аналогичные для Internet Explorer’а: сначала загружается маленький инсталлятор/загрузчик, который затем сам загружает все необходимые пакеты. Устанавливать рекомендую следующим образом: сначала выбрать опцию Только загрузка, а затем установить из указанной при загрузке директории. При загрузке доступны три варианта: минимальная, стандартная и полная. Рекомендуется выбрать полную — это обойдется вам в 150 Мб, но всегда (почти) есть возможность найти кого-то с большим каналом :-). В процессе инсталляции будет предложено выбрать место, куда были загружены файлы, основной корневой каталог и локальный корневой каталог (от его создания можно отказаться). В локальном корневом каталоге хранятся созданные растровые шрифты, форматные файлы и настройки (Рис. 1).

После установки нужно обеспечить поддержку русских переносов. В MikTeX начиная с версии 2.0 это делается сравнительно просто: в Start > Programs > Miktex 2.2 нужно выбрать MikTeX Options. Запустится программа настройки. Далее в закладке Languages нужно проставить птички напротив нужных языков (например, русского, английского и украинского) и нажать Apply. (Рис. 2).

Рис. 1   Рис. 2

Но это еще не все! Дело в том, что данная операция всего лишь изменит несколько строчек в файле languages.dat, который спрятан в глубине структуры каталогов TeX. Ранее, до того как Кристиан Шенк написал данную конфигурационную утилиту, этот файл приходилось редактировать вручную. Чтобы изменения были учтены, необходимо пересоздать форматные файлы, нажав кнопку Update Now в закладке General. Форматные файлы содержат предварительно откомпилированные встроенные команды TeX, LaTeX и других расширений TeX. Такой подход используется для ускорения компиляции документов. После этого можно приступать к работе.

Использование

Сначала нам понадобится обычный текстовый редактор. В принципе, подойдет любой, даже Блокнот, но я бы рекомендовал Far с установленным плагином Colorer для подсветки синтаксиса (можно и без него — если подсветка вам не нужна). Откроем редактор Far’а и создадим в нем документ следующего содержания:

(Рис. 3)

После этого сохраните данный файл под названием test.tex и выполните команду latex test. Нужное расширение компилятор подставит автоматически. При этом нужно удостовериться, что путь к файлу latex.exe (например, d:\texmf\miktex\bin) указан в переменной окружения path. Результатом данной операции будет файл с расширением .dvi, который можно просмотреть с помощью специального просмотрщика. В пакете MikTeX его роль выполняет программа Yap. Файл yap.exe находится там же, где и latex.exe, поэтому для запуска достаточно набрать в командной строке имя файла и нажать клавишу Enter. Когда вы откроете в данной программе нужный DVI-файл, программа будет некоторое время создавать растровые шрифты, которые используются для отображения и печати этих файлов. Дело в том, что TeX использует собственную систему управления шрифтами под названием MetaFont. В этой системе на основе исходного кода создается растровый шрифт для указанного расширения, который затем используется для просмотра и печати. После окончания процедуры создания шрифтов (которая выполняется однократно для конкретного шрифта и разрешения) вы увидите документ, который содержит текст и формулу, выражающую закон Ньютона-Лейбница (Рис. 4).

Рис. 3   Рис. 4

DVI-файл затем можно преобразовать в файл PostScript с помощью команды dvips и в формат PDF с помощью команды dvipdfm. Сейчас в состав MikTeX и большинства других пакетов входит программа pdflatex, которая на входе получает исходник, а на выходе дает не DVI, а PDF.

Рассмотрим текст исходника.

В первой строке мы указываем стиль документа —article. Стиль — это набор правил, контролирующий процесс превращения «исходника» в конечный документ. В данном случае слово article указывает на то, что будет использоваться стиль, типичный для научной статьи. Также есть стили book (книга), report (отчет) и много других. В принципе, стили можно создавать самому, но это очень сложный и трудоемкий процесс.

Вторая строка открывает окружение —document. Окружение (environment) — это одна из ключевых структур LaTeX. Оно имеет следующий синтаксис:

Окружение «document» — это главное окружение LaTeX, которое должно содержать весь текст документа.

Далее идет текст. Из-за того, что TeX самостоятельно форматирует текст в абзацах и расставляет переносы, все строки, разделенные символом перевода строки, сливаются компилятором в единый абзац, а признаком конца абзаца является пустая строка. Поэтому третья и четвертая строки будут помещены в первый абзац, а 6-я — во второй. Если вам нужен не абзац, а разрыв строки, то это делается с помощью команд \\ и \newline. Обратите внимание: весь текст после символа % воспринимается как комментарий и игнорируется компилятором.

Шестая строка также содержит формулу. TeX различает два вида формул — те, которые должны находиться в строке, и те, для которых в конечном документе выделяется отдельный абзац. В этой строке приведен первый тип формулы. Содержание такой формулы должно находиться между двумя символами $. Когда TeX встречает такой символ, он переходит в так называемый «математический режим». В математическом режиме доступны особые команды для набора формул. Например, \int — значок интеграла.

Далее идет окружение, содержащее формулу второго типа. Внутри этого окружения также действует математический режим, поэтому команды те же. Здесь встречаются команды _ — нижний индекс и ^ — верхний индекс. После каждой из них должен в фигурных скобках идти требуемый текст. Если в качестве аргумента выступает один символ, то скобки можно опустить. Вообще, фигурные скобки в LaTeX — это некий аналог сложного оператора из мира программирования, т.е. все их содержимое воспринимается как единое целое. Сами же фигурные скобки, если они должны быть включены в текст, задаются Рис. 5командами \{ и \}.

Чтобы LaTeX автоматически подгонял размер скобок по размеру того, что в них заключено (как это делается в профессиональной печати), существуют специальные команды. Для круглых скобок это \left( и \right). Соответственно, для квадратных нужно вместо круглых подставить квадратные, а для фигурных — приведенные выше команды (т.е. \left\{ и \right\}). Оценить это можно с помощью нижеприведенного примера (Рис. 5).

Достигается этот результат компиляцией следующего файла:

Теперь о поддержке русского языка. Чтобы ее включить, нужно добавить в документ 3 пакета (package). Пакет — это дополнение, расширяющее базовую функциональность LaTeX. Синаксис команды следующий:

Добавим в имеющийся документ после первой еще 3 строки:

В первой строке подключается пакет inputenc, который в качестве опции принимает кодировку входного текстового документа. Для кодировки Windows это cp1251, для кодировки DOS —cp866. Второй пакет определяет внутреннюю кодировку документа. Для русских документов почти всегда используется T2A. Третий пакет —babel, отвечает за языковую поддержку. В качестве опций через запятую указываются языки, которые будут использоваться в документе. Язык определяет словарь, используемый для переноса слов, а также некоторые названия (например, глав, теорем и т.п.) Как правило, для русских документов указывается только русский язык, а для англоязычных эти 3 пакета вообще не нужны — все работает по умолчанию. Попробуйте вместо фразы This is an example of the text набрать что-нибудь по-русски и откомпилировать. Если у вас вместо нужного текста окажутся другие русские буквы — это значит, что вы неправильно указали кодировку исходного текста.

Сопутствующие программы и ресурсы

Одним из наиболее распространенных редакторов исходников TeX/LaTeX для Windows является WinEdt. Его можно достать по адресу http://www.winedt.com. Он имеет кучу кнопочек для автоматической вставки многих команд LaTeX, просмотра и компиляции документа. Также доступны проверка орфографии (в том числе и русской), подсветка синтаксиса и т.п. Один недостаток — он платный :-) (Рис. 6).

По адресу http://www.lyx.orgдоступен редактор LyX, который позволяет набирать документы, используя преимущества WYSIWYM (What You See Is What You Mean). Набирая документ, вы сразу видите результат, приближенный к окончательному результату (все формулы, интегралы и т.п.). При наборе это выглядит достаточно коряво, а при финальном просмотре — просто замечательно. Надо сказать, что этот редактор использует собственный формат, который при просмотре автоматически конвертируется в формат LaTeX. LyX изначально разработан под Unix-системы (в частности Linux), а сейчас портируется и под Win32, но работы еще далеки от завершения (Рис. 7).

Рис. 6   Рис. 7

TeXMacs (http://www.texmacs.org) — уникальная разработка (тоже под Linux), тоже использующая собственный формат и позволяющая набирать TeX-совместимые (автоматически в него конвертируемые) документы в режиме WYSIWYG. Почему я ей не пользуюсь? Потому что она еще очень сырая и на моем 800-м Celeron’е с 256 Мб ОЗУ тормозит (Рис. 8).

Ghostscript и GsView. Это разные программы, но обычно используются в паре. Ghostscript — это бесплатный интерпретатор языка PostScript. Он используется просмотрщиком Yap для отображения рисунков в формате EPS. Также Ghostscript использует программа GsView, которая позволяет просматривать и конвертировать файлы PS (Рис. 9).

Рис. 8   Рис. 9

Теперь о ресурсах. Один из лучших ресурсов — это конференция fido.ru.tex, в которой можно получить ответ практически на любой вопрос по этой теме. Также там периодически выходит FAQ, который является квинтэссенцией полезной информации о TeX. Его можно также достать на сайтах http://myke.webjump.сom/tex и http://cyrtex.da.ru. Существует множество электронной документации по LaTeX, однако почти вся она на английском языке. На сайте http://xtalk.price.ru/texможно достать переводы многих электронных книг и статей.

Ну вот, в сущности, и все.

Happy TeXing!

Рекомендуем ещё прочитать:






Данную страницу никто не комментировал. Вы можете стать первым.

Ваше имя:
Ваша почта:

RSS
Комментарий:
Введите символы или вычислите пример: *
captcha
Обновить





Хостинг на серверах в Украине, США и Германии. © sector.biz.ua 2006-2015 design by Vadim Popov