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

Перечни


Для печати перечней используются окружения itemize (для простейших перечней), enumerate (для нумерованных перечней) и description (для перечней, в которых каждый пункт имеет заголовок — например, словарных статей или иных описаний). В любом случае элементы перечня вводятся командой \item (иногда — с необязательным аргументом). Разберем последовательно, как работают указанные окружения.

Простейшие перечни (itemize). Каждый элемент перечня вводится командой \item без аргумента.

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

Вот как выглядел в исходном файле предшествующий текст:

\begin{itemize} \item На печати каждый... \item Перечни могут быть вложенными друг в друга: \begin{itemize} \item максимальная глубина вложенности равна 4 \item тступы и символы перед элементами выбираются автоматически. \end{itemize} \item На втором уровне элементы... \item При попытке вложить... \end{itemize}

Внутри окружения itemize до первой команды \item не должно идти никакого текста или же команд, генерирующих текст. Если вы попытаетесь проигнорировать этот запрет, то LaTeX выдаст вам сообщение об ошибке. Другие команды (например, команды смены шрифта) могут идти и до первого \item.

Окружение itemize можно использовать также для создания перечней, в которых каждый элемент имеет короткий заголовок. Для создания такого заголовка надо задать команде \item необязательный аргумент (в квадратных скобках, как водится). При наличии у этой команды необязательного аргумента стандартный значок, отмечающий элемент перечня (" горошина", звездочка и т.п.) не печатается, а вместо него печатается текст, заданный в необязательном аргументе:

\begin{itemize} \itemЭтот элемент перечня помечен стандартно. \item[\sffamily A] Здесь мы сами задали заголовок. \item[999] Здесь тоже. \end{itemize}
<
p> Обратите внимание, что заголовки, заданные нами в необязательных аргументах команд \item, печатаются выровненными по правому краю, а также что команды смены шрифта в этих аргументах не распространяются на дальнейший текст.

Если заголовок, заданный вами в необязательном аргументе команды \item, будет слишком длинен, то он заедет на левое поле. В таких случаях лучше пользоваться окружением description, о котором речь пойдет ниже.

Если первый отличный от пробела символ после команды \item является открывающей квадратной скобкой, то LaTeX решит, что эта скобка начинает необязательный аргумент команды \item. Если при этом вы использовали эту скобку просто как типографский знак, то в результате получится сообщение об ошибке. Чтобы избежать такой неприятности, надо в этом случае квадратную скобку "спрятать", заключив ее в фигурные скобки:

\item {[} - редко встречающийся знак... Нумерованные перечни (enumerate). В таких перечнях каждый элемент также вводится командой \item без аргумента, но на печати он будет отмечен не значком, а номером (эти номера создаются LaTeX'ом автоматически; если вы переставите какие-то элементы перечня, что-то добавите или удалите, нумерация автоматически изменится).



В исходном тексте это выглядело так:

\begin{enumerate} \item В окружении \texttt{enumerate}... \item Нумерация производится автоматически. \item Перечни могут быть вложенными друг в друга: \begin{enumerate} \item максимальная глубина вложенности равна 4; \item отступы и обозначения для элементов... \end{enumerate} \item На втором уровне элементы обозначаются... \item При попытке вложить пять таких окружений... \end{enumerate} Внутри окружения enumerate до первой команды \item не должно идти никакого текста или же команд, генерирующих текст.

На номера элементов нумерованного перечня можно организовать автоматические ссылки с помощью команды \ref. Делается это так.

Представим себе, что вам нужно сослаться на какой-то пункт нумерованного перечня (например, чтобы написать "Согласно пункту 3 настоящих Правил ...").


Если вы в ходе работы над текстом переставите какие-то пункты или добавите новые, то номер пункта может измениться. Вместо того чтобы каждый раз отсчитывать, которым по счету идет этот пункт, можно пометить элемент перечня с помощью команды \label . Команду \label лучше ставить сразу после команды \item, вводящей помечаемый элемент перечня. но можно поставить ее и позже — до следующего \item.

Ссылка на метку производится с помощью команды \ref. У нее также один обязательный аргумент — та самая метка, на которую вы хотите сослаться (ссылка на страницу, на которой расположена метка, производится, как обычно, с помощью команды \pageref. Пример:



\begin{enumerate} \item Переходите улицу только на зеленый свет. \item \label{tram} Стоящий трамвай обходить можно, а автобус — нет. \end {enumerate} Согласно правилу ~\ref{tram}, сформулированному на с.~\pageref{tram}, обходить стоящий автобус нельзя.
Символы неразрывного пробела мы поставили затем, чтобы номер правила или страницы не остался в одиночестве в начале строки.

В окружении enumerate команда \item может иметь необязательный аргумент, который работает так же, как в окружении itemize. Если первый отличный от пробела символ после \item является открывающей квадратной скобкой, необходимо взять эту квадратную скобку в фигурные скобки (как и в случае с окружением itemize).

Перечни с заголовками (description). В этих перечнях каждый элемент, как уже было сказано, снабжен заголовком. Поэтому элементы перечня вводятся командой \item с необязательным аргументом (заключенным, стало быть, в квадратные скобки), представляющим собой этот заголовок. Пример:



Летом можно собирать различные ягоды: \begin{description} \item[черника:] темно-синие, очень вкусные, хороши в свежем виде, варенье тоже получается хорошее; \item[голубика:] синие, более водянистые, чем черника, и не такие вкусные; \item[брусника:] ярко-красные, из них получается очень вкусное варенье. \end{description}
Как вы могли заметить, заголовки элементов перечня оформляются в окружении description полужирным шрифтом.


Если вас не устраивает этот шрифт, можно аргумент команды \item начать с команды переключения шрифта, скажем, \normalfont или \slshape.

Внутри окружения description до первой команды \item не должно идти никакого текста или же команд, генерирующих текст.

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

Другие виды перечней. Если вас не устраивает стандартное оформление перечней (например, вид пометок, которыми отмечаются элементы перечня itemize), его несложно изменить. Как это сделать, будет рассказано в разд."Модификация разделов перечней" лекции 7. Несколько труднее, к сожалению, сделать так, чтобы буквы, которыми нумеруются элементы нумерованного перечня, были русскими, а не латинскими, как в примерах в этой книге (в лекции 9 мы расскажем, как этого добиться). Можно менять оформление перечней и более серьезным образом, создавая перечни иного типа, чем рассмотренные выше. На данный момент наш TeX-нический уровень не столь высок, чтобы можно было освоить эти возможности LaTeX'а, но в лекции 9 будет рассказано и об этом.


Содержание раздела