Практическая работа №2. Вёрстка в LaTeX

Опубликовано пользователем Бессонов Л.В. 02.03.2011г.

Вёрстка – составление страниц (полос) газеты, журнала, книги определенного размера из набранных строк, заголовков, иллюстраций и т. п. в соответствии с разметкой или макетом.

1. Макет страницы

Основное место на странице занимает текст - тело текста. Справа и слева от текста расположены поля. Поля, обычно, остаются пустыми, но иногда они используются для заметок. В верхней и нижней части страницы расположены, соответственно, верхний и нижний колонтитулы. Колонтитул представляет из себя справочную строку, помогающую ориентироваться в структуре текста.

Для задания стиля оформления страницы в LaTEXе предусмотрена команда \pagestyle{аргумент}, которая указывается в преамбуле. Аргумент команды может быть следующим:

  • empty. Нет ни колонтитулов, ни номеров страниц.
  • plain. Номера страниц ставятся внизу в середине строки, колонтитулов нет.
  • headings. Присутствуют колонтитулы (включающие в себя и номера страниц).
  • myheadings. Присутствуют колонтитулы, оформленные так же, как в предыдущем случае; отличие в том, что текст, печатающийся в колонтитулах (в стандартном случае это номера и названия разделов документа), не порождаются LaTEXом автоматически, а задается пользователем в явном виде.

Совокупность размеров и расположений полей, а так же вид и содержание колонтитулов называется макетом полосы набора.

Управление параметрами страницы, LaTeX

Параметры задаются в преамбуле:

  • Поля драйвера (1 и 2) относительно которых выстраиваются все остальные поля. По договорённости отступы до полей драйвера равны одному дюйму. Переопределив \hoffset и \voffset (по умолчанию они равны нулю), можно сдвинуть полосу набора по горизонтали и вертикали, соответственно.
  • Левое поле (3) задается параметром \oddsidemargin. При этом левое поле отсчитывается не от самого края листа - предварительно делается отступ в один дюйм. Таким образом, если будет сказано \oddsidemargin = 1in, то отступ от края бумаги составит 2 дюйма или 5,08 см. Данный параметр может принимать и отрицательные значения. При двустороннем наборе параметр \oddsidemargin задаёт размеры левого отступа для страниц с нечётными номерами, а \evensidemargin – для страниц с четными номерами.
  • Верхний колонтитул (4) располагается на расстоянии \topmargin (4) от поля драйвера, имеет высоту \headheight (5), а тело текста отступает от колонтитула на расстояние \headsep (6).
  • Нижний колонтитул (11) располагается на расстоянии \footskip от последней строки текста.
  • Ширина текста (8) на странице задается параметром \textwidth; если набор осуществляется в две колонки, то \textwidth включает в себя ширину обеих колонок и пробел между ними.
  • Высота текста (7) задаётся параметром \texthеight.
  • Поля для заметок имеют ширину \marginparwidth (10) и отступают от тела текста на расстояние \marginparsep (9). Опция \marginparpush управляет минимальным расстоянием между заметками.
  • При наборе текста в две колонки используются еще два параметра. Параметр \columnsep задает расстояние между колонками. Если колонки разделяются не пробелом, а линией, её ширина задается параметром \columnseprule, отличным от нуля (в этом случае ширина разделяющей колонки линейки определяется \columnsep). При многоколоночной вёрстке ширина колонки равна \columnwidth. Переменная \linewidth принимает значение равное длине строки текущего текста.

2. Разделы документа

Название раздела задаётся командой \section [необязательный аргумент]{обязательный аргумент}. Обязательный аргумент содержит название раздела(это же название пойдет в колонтитулы, если таковые предусмотрены стилем, и в оглавление). Необязательный аргумент содержит вариант заголовка, предназначенный для оглавления и колонтитулов (например, когда оказывается, что заголовок по длине не помещается в колонтитул). Записать название раздела в верхний колонтитул можно также с помощью команд \markboth{четная стр.}{нечетная стр.} и \markright{нечетная стр.}, которые помещаются сразу же после команды \section.

Для оформления разделов существуют также команды:

 

\part \chapter \section \subsection \subsubsection \paragraph \subparagraph

 

В этом перечне каждая последующая команда обозначает более мелкий подраздел, чем предыдущая. Следует иметь ввиду, что команда \chapter в стиле article не определена (благодаря этому обстоятельству статью легко переделать в главу книги), остальные команды определены во всех трех стандартных стилях. В стилях article и report предусмотрена возможность оформить аннотацию ко всему документу. Это делается с помощью окружения abstract. До начала основного текста следует поместить текст аннотации, заключенный между \begin{abstract} и \end{abstract}. Команда \appendix означает, что с этого места начинается приложение к документу.

3. Титульный лист

Для того чтобы оформить заголовок ко всему документу, надо задать информацию для заголовка (автор, название и т. п.) и дать LaTEXу команду этот заголовок сгенерировать.

  • Заголовок генерируется с помощью команды \maketitle{}. Она создаст титульный лист, если это предусмотрено стилем (для стилейreport и book — всегда, для стиля article — если указана стилевая опция \titlepage). Если титульный лист стилем не предусмотрен, то команда \maketitle разместит заданную Вами информацию об авторе, заглавии и прочем на первой странице (выбрав подходящие шрифты и сделав подобающие интервалы между титульной информацией и текстом). Так как команда \maketitle генерирует текст, ее нельзя помещать в преамбуле документа.
  • Автор задается с помощью команды \author{}. Она принимает единственный обязательный аргумент — имя автора (в том виде, как Вы хотите его видеть на титуле). Если авторов несколько, их имена должны быть разделены командой \and.
  • Заглавие задается с помощью команды \title{}. Если заглавие длинное, можно самому задать его разбиение на строки с помощью команды \\; если этого не сделать, заглавие будет разбито на центрированные строки автоматически.
  • Команда \date{} имеет один обязательный аргумент, в котором можно задать любой текст (например, дату), который будет размещен на титульном листе или оставить аргумент пустым. Но если не зададь эту команду, то LaTEX напечатает на титульном листе дату своего запуска.

Команды \author, \title и \date можно давать в любом порядке, но обязательно до команды \maketitle (можно и в преамбуле). Команда \maketitle должна быть первой из команд, генерирующих текст. Сноски на титульном листе можно сделать с помощью команды \thanks{текст сноски}. Сноски будут напечатаны внизу листа.

Пример задания сносок:

\author{Борис Заходер}
\title{Винни-Пух\thanks{Вообще-то это перевод из А.А.Милна}}
\date{}

Команда \thanks помещается внутри аргумента команд \title и/или \author. В тексте сноски можно сделать командой \footnote{текст сноски}. Сноски всегда должны помещаться после слова, к которому они относятся. Наконец, можно при желании вообще не использовать стиль оформления титульного листа, диктуемый нам LaTEXом. Для этого надо воспользоваться окружением titlepage. Текст между \begin{titlepage} и \end{titlepage} составит титульный лист. LaTeX внутри этого окружения делает только три вещи:

  • Устанавливает печать в одну колонку (даже если сам документ будет печататься в две колонки);
  • Начинает новую страницу и устанавливает счетчик числа страниц в нуль;
  • Устанавливает странице стиль оформления empty (без колонтитула и номера).

4. Оглавление и предметный указатель

В процессе работы LaTEX автоматически собирает информацию для создания оглавления и записывает ее в специальный файл с тем же именем, что у обрабатываемого файла, и расширением toc. Чтобы LaTEX записал эту информацию, а затем воспользовался ею и напечатал оглавление, надо дать команду \tableofcontents.

Чтобы учесть все возможные изменения и получить верное оглавление, надо в самом конце работы над текстом запустить LaTEX еще раз.

Предметный указатель создаётся внутри окружения \theindex. Каждый элемент указателя вводится командой \item; команды \subitem и \subsubitem вводят элементы указателя, печатающиеся с дополнительными отступами (обычно это — уточнения к заглавному слову). Команда \indexspace создает дополнительный вертикальный пробел (его можно использовать для отделения различных разделов указателя друг от друга):

 

Компьютеры 25 и далее
      IBM-совместимые 28           
         ремонт 35
         цены 30
      болгарские 26
Принтеры 40

Кошки 120
Собаки 140–156

\begin{theindex}
\item Компьютеры 25 и далее
\subitem IBM-совместимые 28
\subsubitem ремонт 35
\subsubitem цены 30
\subitem болгарские 26
\item Принтеры 40
\indexspace
\item Кошки 120
\item Собаки 140--156
\end{theindex}

5. Библиография

Для ссылок на литературу используется команда \cite[«комментарий»]{«список меток»} Метки либо формируются автором самостоятельно внутри окружения thebibliography.

Пример:
Полезно почитать книгу \cite[Роженко]{rozenko-2005}. % ссылка на литературу

 

\begin{thebibliography}{9} % библиография в конце книги
\bibitem{rozenko-2005}Роженко А.И. Искусство вёрстки в \LaTeX’е.
\newblock --- Новосибирск: Изд. ИВМиМГ СО~РАН, 2005. 398~с.
\end{thebibliography}

 

В качестве обязательного аргумента окружения thebibliography требуется передать текст, соответствующий самой широкой метке, для выравнивания. То есть, если список литературы содержит меньше 10 записей, то достаточно передать однобуквенную фразу, например, «9», а в случае двузначного числа книг в списке уже потребуется «99», и так далее.

6. Гипертекст

Поддержка гиперссылок и закладок (которые можно использовать при просмотре pdf-документов) реализована в пакете hyperref. Пакет hyperref автоматически превращает все перекрестные ссылки в гипертекстовые. Гипертекстовыми ссылками становятся все элементы оглавления и списков таблиц и рисунков, а также маркеры сносок и элементов цитированной литературы, а также все номера страниц в предметном указателе.

При подключении пакета надо указать драйвер, который задаётся в виде опции булевого типа: \usepackage[список опций через запятую]{hyperref}. Если pdf-документ создаётся посредством программы pdflatex, надо указать опцию pdftex, для драйвера dvips – опцию dvips. Остальные опции выбора драйвера: hypertex, dviwindo, dvipsone, vtex, latex2html.

Для создания перекрёстной ссылки надо поставить метку с именем name ( \label{name}), которая запоминает номер объекта (раздела, главы, таблицы, …) и номер страницы, на которую попадает команда \label. Команды \ref{name} и \pageref{name} печатают соответственно номер объекта, внутри которого стоит метка name и номер страницы с меткой name.

Пакет hyperref переопределяет эти команды так, что номера объектов и страниц становятся гиперссылками, которые при активации переходят на метку. Перейти на метку можно также командой \hyperref[name]{текст гиперссылки}. По умолчанию текст гиперссылок отображается черным цветом и помещается в рамку. Чтобы определить ссылки другого цвета надо указать опцию colorlinks.

Следующие опции определяют цвета ссылок разного типа:

  • linkcolor – цвет гиперссылок внутри документа; по умолчанию red.
  • pagecolor – цвет гиперссылок на другие страницы внутри документа; по умолчанию red
  • filecolor – цвет гиперссылок, которые открывают локальные файлы; по умолчанию cyan
  • citecolor – цвет библиографических ссылок; по умолчанию green
  • urlcolor – цвет гиперссылок на ресурсы URL; по умолчанию magenta
  • anchorcolor – цвет текста метки; по умолчанию black.

Например, \usepackage[colorlinks,filecolor=blue,citecolor=red]{hyperref}

Баннер SGU.RU