Работа в системе LaTeX



         

Организация автоматических ссылок - часть 3


из стандартных LaTeX'овских классов. Для простоты предположим, что заголовки глав и разделов будут укладываться в одну строку, и не будем заботиться о том, насколько удачным выйдет оформление заголовков. Итак, пусть наш документ делится на главы, которые, в свою очередь, делятся на разделы. Каждую главу будем начинать с новой страницы, перед каждым разделом оставлять 1cm (если, конечно, раздел не начинает новой страницы). Наконец, предусмотрим, чтобы главы и разделы автоматически нумеровались с возможностью создания автоматических ссылок на эти номера. Команды для создания главы и раздела назовем \glava и \razdel; это будут команды, требующие одного аргумента — названия главы или раздела.

Чтобы номера глав и разделов генерировались автоматически, нам необходимо создать счетчики, содержащие эти номера. Пусть счетчик с номером главы называется glava, а счетчик с номером раздела — razdel (имена счетчиков могут совпадать с именами команд). Имея в виду, что нумерация разделов в каждой главе будет начинаться заново, напишем в преамбуле так:

\newcounter{glava} \newcounter{razdel}[glava]

Теперь определим команду \glava:

\newcommand*{\glava}[1]{\clearpage % с новой страницы \vspace*{4cm}% оставить место сверху \refstepcounter{glava}% новый номер главы {\LARGE\rmfamily\bfseries\upshape % шрифт для заголовка Глава \theglava. #1% заголовок \par % кончить заголовок \vspace{5mm plus 1mm minus .5mm}% Промежуток между % заголовком и текстом }% завершить группу, внутри которой менялся шрифт }% конец макроопределения

Поскольку номер главы устанавливается командой \refstepcounter, при этом будет начата заново и нумерация разделов, а на номера глав можно будет делать автоматические ссылки с помощью \label и \ref. В определении шрифта для заголовков мы в явном виде установили все четыре атрибута, чтобы быть уверенными, что он будет какой надо (если бы мы, например, не сказали \upshape, а предыдущая глава заканчивалась курсивом, определенным командой \itshape, данной вне группы, то заголовок напечатался бы жирным курсивом).




Содержание  Назад  Вперед