Опубликован: 07.02.2007 | Доступ: свободный | Студентов: 4044 / 1364 | Оценка: 4.56 / 3.95 | Длительность: 23:09:00
Специальности: Художник
Лекция 4:

Оформление текста в целом

Плавающие иллюстрации и таблицы

Простейшие средства

Чтобы разместить в тексте иллюстрацию, удобно воспользоваться окружением figure. Стоящий между \begin{figure} и \end{figure} текст автоматически размещается LaTeX'ом в таком месте, где он укладывается целиком (не переходя со страницы на страницу); это может быть не на "своей" странице, а позже. В последнем случае говорят, что иллюстрация "всплыла" на следующей странице; именно поэтому окружение figure называют еще " плавающая иллюстрация".

Команда \caption позволяет сделать подрисуночную подпись. Эта команда имеет один обязательный аргумент — текст подписи. На печати подпись состоит из слова, определенного командой \figurename (" Figure-", если не переопределять эту команду — см. выше), порядкового номера иллюстрации, присвоенного ей LaTeX'ом, и подписи, указанной в аргументе команды. Команду \caption можно давать в любом месте между \begin{figure} и \end{figure}: в соответствующем месте появится на печати и сгенерированная ею подпись. Разумно поэтому ставить команду \caption либо в конце окружения figure (тогда подпись будет размещена под иллюстрацией), либо в его начале (подпись появится над иллюстрацией).

Если команду \label поместить внутри окружения figure после команды \caption, то команда \ref ссылка на плавающую иллюстрацию} будет генерировать номер иллюстрации. Например, рис.4.2 получился так:

Например, рис.~\ref{void} на с.~\pageref{void}...
...
\begin{figure}
\vspace*{2.5cm}
\caption{Белый квадрат
на белом фоне}\label{void}
\end{figure}
Белый квадрат на белом фоне

Рис. 4.2. Белый квадрат на белом фоне

Внутри одного окружения figure может быть несколько команд \caption, и каждую из них можно пометить своей командой \label. Подчеркнем, что само по себе окружение figure номера рисунка не создает.

На подписи к рис.4.2 после номера стоит точка. К сожалению, согласно LaTeX'овскому стандарту в этом месте ставится не точка, а двоеточие, что в русском тексте выглядит неудачно. В "Модификация стандартных классов" объясняется, как с этим можно бороться.

У окружения figure предусмотрен необязательный аргумент, с помощью которого можно высказать LaTeX'у свои пожелания по поводу размещения иллюстрации в тексте. Именно, после \begin{figure} (без пробела) можно поместить в квадратных скобках одну или несколько из следующих четырех букв, имеющих такие значения:

t разместить иллюстрацию в верхней части страницы;
b разместить иллюстрацию в нижней части страницы;
p разместить иллюстрацию на отдельной странице, целиком состоящей из "плавающих" иллюстраций (или таблиц — см. ниже);
h разместить иллюстрацию прямо там, где она встретилась в исходном тексте, не перенося ее никуда.

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

\begin{figure}[tbp]

При наборе текста в две колонки полезно использовать не только само окружение figure, но и его вариант "со звездочкой": если сказать

\begin{figure*}

то при наборе текста в одну колонку это не будет ничем отличаться от окружения figure без звездочки, а при наборе текста в две колонки создаст иллюстрацию шириной в целую страницу (без звездочки получилось бы шириной в одну колонку). Если окружение открывается командой \begin{figure*}, то и закрываться оно должно командой со звездочкой.

Если при наборе в две колонки задать окружение figure (без звездочки) с необязательным аргументом p, то для печати иллюстраций будет выделена не отдельная страница, но отдельная колонка. При подключении стилевого пакета multicol пользоваться окружениями со звездочкой {figure*} и {table*} (см. ниже) нельзя.

Окружение {table} определяет " плавающие таблицы". Все свойства этого окружения дословно совпадают с соответствующими свойствами окружения {figure}, за двумя исключениями: во-первых, подпись, генерируемая командой \caption, начинается со слова, определенного в команде \tablename, и переопределять, при необходимости, надо именно эту команду, и во-вторых, таблицы нумеруются независимо от иллюстраций. Кстати, подпись к таблице принято делать не снизу, как к иллюстрации, а сверху. Окружение {table*} при наборе текста в две колонки определяет таблицы шириной в целую страницу.

В документе можно, при желании, получить автоматически сгенерированные списки иллюстраций и/или таблиц. Для этого используются команды \listoffigures (для иллюстраций) и \listoftables (для таблиц). Их работа аналогична команде \tableofcontents, генерирующей оглавление: материал для этих списков собирается в специальные файлы с расширениями lof (для иллюстраций) и lot (для таблиц); при каждом запуске LaTeX'а информация, записанная в этих таблицах, относится к предыдущему запуску, так что в самом конце может понадобиться запустить LaTeX лишний раз; наконец, команда \caption может принимать необязательный аргумент — вариант подписи под иллюстрацией или таблицей, предназначенный для включения в список иллюстраций или таблиц соответственно. Этот необязательный аргумент записывается (в квадратных скобках, как обычно) перед обязательным.

Как окружение {figure} не рисует картинок, так и окружение {table} только размещает таблицу на страницах документа, но не создает ее текста. Как набирать таблицы в LaTeX'е, мы расскажем в "Печать текста с выравниванием" .

В разд. "Модификация стандартных классов" мы расскажем о том, как можно модифицировать оформление плавающих иллюстраций и таблиц.

Нина Казачек
Нина Казачек
Василий Майоров
Василий Майоров