Архивы: по дате | по разделам | по авторам

А я пишу и верстаю в LaTeX'е

Архив
автор : ОЛЕГ МАЛОГЛОВЕЦ    15.12.1998

Я пишу и верстаю в Word'е.
Евгений Козловский

 

У меня довольно много друзей и приятелей в мире "чистой науки", и я знаю о пристрастии некоторых к ТеХ'у и раздражении им других. Так или иначе, фактически ТеХ принят в качестве стандарта во многих научных журналах и издательствах, и тем, кто хочет там печататься, приходится изучать его: поневоле или с удовольствием.

Довольно часто люди, работающие в ТеХ'е, относятся к прочим пакетам и программам верстки немного свысока, не зная при этом всех их возможностей. След такого отношения я заметил и в статье Олега Малогловец: он описывает некоторые структурные и прочие способности ТеХ'а чуть предвзято - будто тот же WinWord, или, скажем, PageMaker, или QuarkXpress ничего подобного не позволяют. Например (зацепился) - автоматическую вставку даты.

Впрочем, у ТеХ'а есть как минимум то бесспорное преимущество, что с ним можно работать и на "двушках" (286-х), и даже на XT, а мы, избалованные последними "Пентиумами", возможно, даже и не представляем, какие именно компьютеры используют ученые других стран - не для расчетов и анализа, а дома, для написания книг и статей.

Короче говоря, ТеХ - вполне реальная сегодняшняя реальность и уже по одному этому заслуживает серии статей о себе.

Евгений Козловский

Взгляд издалека

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

В конце 70-х годов всемирно известный американский программист и автор знаменитого многотомного издания "Искусство программирования для ЭВМ" Дональд Кнут (Donald E. Knuth) разработал программу для компьютерной подготовки документации - TeX. В отличие от издательских систем, таких как Ventura и PageMaker, TeX - это public domain-продукт2. За почти двадцатилетнюю историю своего существования TeX покорил весь научный мир Америки и Западной Европы. В настоящее время издательства Addison Wesley, Springer Verlag и многие другие используют TeX для выпуска книг и, особенно, периодики, где очень важна оперативность.

TeX представляет собой специализированный язык программирования, на котором пишутся издательские системы, используемые на практике. Точнее говоря, издательская система на базе TeX'а представляет собой пакет макроопределений этого языка. LaTeX - это созданная Лесли Лампортом (Leslie Lamport) издательская система на базе TeX.

Типографский дизайн - это профессия. Неопытные авторы часто допускают серьезные ошибки форматирования, предполагая, что дизайн книги - это большей частью вопрос эстетики. Но, так как документ предназначен для чтения, а не для вывешивания в картинной галерее, удобство его чтения и понимания важнее красоты. Например, размер шрифта и нумерация заголовков должны выбираться так, чтобы сделать структуру глав и разделов ясной для читателя; строка должна быть достаточно короткой, чтобы не напрягать глаза читателя, и достаточно длинной для красивого заполнения страницы.

В системах WYSIWYG авторы подчас создают документы эстетически приятные, но со слабо выраженной или невыдержанной структурой. LaTeX предотвращает такие ошибки форматирования, заставляя автора объявлять логическую структуру документа. Затем уже LaTeX выбирает наиболее подходящий макет (раскладку) документа.

Как и у любого программного продукта, у LaTeX есть свои достоинства и недостатки. Приведу некоторые из них.

Основные преимущества LaTeX перед обычными текстовыми процессорами:

  • профессионально выполненные макеты, делающие документы действительно выглядящими, "как изданные";
  • удобная верстка математических формул;
  • пользователю нужно выучить лишь несколько понятных команд, задающих логическую структуру документа. Ему практически не требуется работать собственно с макетом документа;
  • легко создаются даже сложные структуры типа примечаний, оглавлений, библиографий и прочее;
  • для решения типографских задач, не поддерживаемых напрямую базовым LaTeX, существуют свободно распространяемые дополнительные пакеты (например, для включения PostScript-графики или для верстки библиографий в точном соответствии с конкретными стандартами);
  • LaTeX поощряет авторов писать хорошо структурированные документы, так как именно так программа и работает - путем спецификации структуры;
  • TeX, форматирующее сердце LaTeX, чрезвычайно мобилен и свободно доступен. Поэтому система работает практически на всех существующих платформах.

Наиболее заметные недостатки:

  • чтобы создать документ, необходимо изучить ряд (несложных, на мой взгляд) командных последовательностей;
  • хотя предопределенные макеты имеют множество настраиваемых параметров, создание полностью нового макета документа не простая задача и занимает довольно много времени3;
  • в LaTeX сложно писать неструктурированные и неорганизованные документы;
  • большинство систем, основанных на TeX, не являются системами WYSIWYG.

Как вы заметили, описание последнего недостатка начинается со слова "большинство". Дело в том, что на базе TeX существуют и WYSIWYG-системы подготовки публикаций. Некоторые из них распространяются свободно (в соответствии с идеологией Lynux, для которой они написаны), а некоторые представляют собой полновесный коммерческий продукт. В частности, бесплатная WYSIWYG-система - текстовый редактор LyX. Самой, наверное, популярной системой подготовки текстов, основанной на TeX, является распространяемый компанией MacKichan Software научный редактор Scientific Word. Основным недостатком этого продукта (для российского пользователя) является его цена - последняя версия SW стоит около 500 долларов. Scientific Word можно рекомендовать тем, у кого есть насущная необходимость в наборе математических текстов и нет времени и желания изучать командные последовательности оригинального LaTeX.4

Ну, а мы рассмотрим именно команды LaTeX, в силу того, что он наиболее доступен для рядового российского пользователя.

Начнем помаленьку

Ключевым понятием в LaTeX является класс документа5. Класс документа определяет общее оформление элементов текста - заголовки разделов, сноски, список литературы и др. в зависимости от типа подготавливаемого документа. Наиболее распространенными классами являются book, article и report. Каждый документ на LaTeX'е начинается со следующих строк:

\documentclass{article}

\usepackage{russcorr}

где \documentclass и \usepackage - служебные (зарезервированные) слова, определяющие класс документа (в данном случае - article) и подключающие различные корректирующие пакеты (пакет russcorr изменяет английские названия частей документов на русские эквиваленты и производит верстку с учетом российских полиграфических традиций).

После этих строк должна идти еще одна строка:

\begin{document}

которая обозначает начало собственно текста документа (знающие английский поняли это и без моей помощи).

Заканчивается всякий документ единственной строкой - вы уже, наверное, догадались, что она представляет собой:

\end{document}

Предыдущие примеры должны быть бальзамом на душу людям, которые знают и понимают структурные языки типа C и Pascal - документ на LaTeX имеет такую же блочную структуру. Это упрощает написание объемных трудов, но, в то же время, совершенно не обременяет автора при написании мелких документов.

Между строками \begin{document} и \end{document} помещается текст документа с необходимым разбиением на части, главы и т. п.

Сразу за строкой \begin{document} может следовать задание заголовка документа - название, фамилия и имя автора, дата создания. Все это выглядит следующим образом:

\author{Имя автора}

\title{Название документа}

\date{Дата создания}

\maketitle

Кстати, если вы забудете вставить дату создания документа, LaTeX услужливо сделает это за вас при выполнении команды \maketitle. Но в том случае, если у вас нет необходимости в заглавии документа, просто опустите эти строки.

Большинство подготавливаемых документов имеют разбиение на части, главы, параграфы и пр. Эта задача решается в LaTeX'е простейшим способом: вы просто пишите в начале раздела

\section{Название раздела}

и LaTeX сам подбирает размер символов и их начертание, а также автоматически нумерует разделы, проставляя номер в заголовке6. Кроме указанной выше команды существуют и другие, ниже приведен их полный список в порядке понижения уровня:

\part

\chapter

\section

\subsection

\subsubsection

\paragraph

\subparagraph

\subsubparagraph

Этих команд достаточно, чтобы построить ясную и логическую структуру документа, а затем автоматически создать оглавление. Делается это одной командой:

\tableofcontents

которая автоматически создает оглавление с простановкой номеров страниц и помещает его в то место документа, где она встретилась7.

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

При наборе текста необходимо различать тире и дефисы. В LaTeX достаточно в исходном файле набрать "---" (три знака минус подряд) для получения длинного тире, "--" (два знака минус подряд) - для короткого; знаки переноса, как уже говорилось выше, LaTeX вставляет сам, и лучше ему в этом не мешать. Длинное тире обычно ставится между словами - как здесь, короткое же применяется при указании числовых диапазонов: 23-47 (по правилам полиграфии длинное тире должно отбиваться с двух сторон пробелами, а короткое - нет).

Этих минимальных знаний достаточно, чтобы самостоятельно набрать текст в формате LaTeX. Создав исходный файл, его необходимо пропустить через компилятор TeX, чтобы получить файл с тем же именем, что и у исходного, но с расширением DVI8. DVI файл уже возможно распечатывать на любом принтере или преобразовывать в форматы PDF и PostScript.

Продолжение следует


1 Или набран на компьютере в пресловутом Word'е.

2 К слову о пиратстве.

3 Это - одна из основных целей будущей системы LaTeX3.

4 Не исключено, что я не знаком с самыми последними версиями Scientific Word, но та, которую я видел, не позволяла работать с русскими текстами, ибо вторую половину кодовой таблицы там занимали формулы. Правда, специально разработанные шрифты позволяли решить проблему. - Е. К.

5 В статье рассматривается современный вариант LaTeX - версия LaTeX2e.

6 При желании, можно отказаться от этой возможности.

7 Корректное оглавление, правда, можно получить только после второго запуска файла на компиляцию.

8 Исходный файл обычно имеет расширение TEX.

© ООО "Компьютерра-Онлайн", 1997-2021
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.