Программируем документ: введение
АрхивОфисные приложения (архив)Первая часть цикла статей о LaTeX. LaTeX - это издательская система, созданная на основе системы выдающегося математика и программиста Дональда
=+=+=+=Порой бывает так, что хочется изящно усложнить жизнь и получить при этом удовольствие. Либо наоборот: жизнь вас заставляет крутиться и придумывать оригинальные решения. Одной из интересных проблем в современном мире является обмен документами с людьми работающими на компьютерах разных архитектур и, конечно с разными операционными системами. У кого-то старенькая четверка, другой сидит только на Alpha, третий - на SPARC, а четвертый не мыслит себе работы иначе как на Макинтоше. В добавок требуется высокое полиграфическое качество, при чем одинаковое на разных системах.
В 70-x годах этой проблемой занялся выдающийся математик и программист Дональд Кнут создав TeX - систему верстки текстов с формулами, которая остается востребованной до сих пор. Так например, его формат является основным для большого числа изданий математической и физической направленности.
Примечательно, что в этой системе можно создавать документы любой сложности: от небольшой статьи - до собрания сочинений, при этом прекрасное качество этих документов не идет ни в какое сравнение c "настольными" аналогами.
Мы же обратимся к LaTeX - издательской системе созданной Лесли Лэмпортом на основе TeX. Одной из популярных ее реализаций является распространение в качестве удобной надстройки к teTeX - реализации TeX созданной Томасом Эссером для систем совместимых c Unix. В одной из таких систем, а именно в Linux мы почти всегда можем найти интересующий нас пакет. Со времени своего создания, в середине восьмидесятых, система LaTeX подвергалась различным изменениям и самая свежая версия носит название LaTeX2e. Ее логотип мы увидим в примере ниже.
Вот так, блуждая между названиями версий и именами их создателей мы пришли к к тому, ради чего и была задумана эта статья - созданию документа абсолютно любой тематики, объема и произвольным внешним видом, удобным человеку создающему. И что особенно важно: в работе использовать свободно-распространяемые средства.
Понимая нетерпение многих попытаюсь обобщить, то чем мы будем заниматься и какой результат получим в конце. Итак в этом цикле статей (будем надеятся, что данная статья не первая и последняя) мы попытаемся на примерах разобрать некоторые элементы форматирования документов в формате tex, а так же способы подготовки файлов dvi, pdf и PostScript на основе tex. Особое внимание будет уделено правильной работе с русским языком, а так же набору сложных математических формул.
Начальные сведения
Что-бы у нас получился полноценный документ для печати, требуется создать исходный файл в котором записываются команды определяющие размещение, внешний вид и прочие атрибуты текста, собственно и сам текст содержится там же (если вы работали с HTML, то вам будет легко понять о чем речь). Конечно, файлов может быть и несколько. Например, для каждой главы свой файл, плюс стилевой файл (о стилевых файлах мы поговорим позже). Обратите внимание, что файлы должны представлять собой простой чистый текст, не содержащий никаких специальных символов. В линуксе удобно набирать файлы latex в редакторах типа vim, cooledit (из Midnight Commander) или kwrite (из KDE). Кроме всего прочего, в них реализована весьма симпатичная подсветка синтаксиса.
После того как файл или файлы подготовлены мы преобразуем их при помощи latex в двоичный платформо-независимый файл - dvi (DeVice-Independent). Этот-то файл и есть (как вы догадались из названия), одно из решений проблемы выведенной в первом абзаце, то что затем можно просмотреть с помощью программы-просмотрщика на любой системе. При желании можно создать и pdf-файл (Portable Document Format) вместо dvi, после чего его можно будет просматривать известной программой Adobe Acrobat Reader либо ее свободным аналогом - xpdf, входящим во многие реализации свободно-распространяемых систем. Ну а кроме того pdf и dvi можно конвертировать в файл в формате PostScript.
Структура исходного файла
Самым простым способом знакомства с новой системой является демонстрация примера. Но для начала очень коротко о структуре исходного файла. Комментарии начинаются со знака процента - "%" и игнорируются программой-транслятором. Команды начинаются с обратного слэша - "\" и могут содержать или не содержать параметры. Важной особенностью является, то что регистр букв имеет значение, то есть команды \Command и \COMMAND различаются.
Итак собственно пример:
\documentclass{letter} % Начало документа и определение его класса \begin{document} % Команда генерации эмблемы TeX \TeX % и эмблемы LaTeX \LaTeX %Теперь побалуемся со спец символами: I $\heartsuit$ \LaTeX2e % Со шрифтами: % % Рубленый шрифт: \sf serif font % % Жирный шрифт: \bf bold font % Одна или более пустых строк - новый абзац % И напоследок посложней: формула $$ \frac{7}{25}= \frac{1}{\displaystyle 3+\frac{1}{\displaystyle 1+\frac{1}{\displaystyle 1+\frac{1}{3}}}} $$ % Конец документа: \end{document}
Если какая-то из строк примера вам показалась непонятной - не отчаивайтесь, в следующих статьях мы подробно разберем многие элементы форматирования, а пока посмотрите как выглядит наш пример на снимке с экрана:
Что дальше?
А дальше нужно совершенствоваться, ведь у вас все еще осталась тяга к познанию нового и интересного? Следующие статьи будут посвящены подробному разбору синтаксиса исходных файлов, затем мы выясним как создавать тексты на русском, французском, церковно-славянском и других языках; как набирать физические, математические и химические формулы; как создавать таблицы; как работать с рисунками и графикой; наконец, как создать простую статью, вроде той, что я сейчас пишу. Возможно, еще одна статья будет посвящена разбору интересных и тривиальных проблем возникших у читателей.