Отбивки в перечнях
Начнем с важного предупреждения. Чтобы изменить отбивки, с помощью которых оформляются перечни, необходимо, естественно, изменить значение каких-то из перечисляемых в этом разделе параметров. Однако же, если попросту присвоить этим параметрам новые значения в преамбуле или в стилевом пакете, то в большинстве случаев действия это не возымеет. Средства, которые надо применить, чтобы эти изменения подействовали, описаны в следующем подразделе.
Теперь договоримся о терминологии. Каждый перечень LaTeX рассматривает как состоящий из элементов (каждый элемент вводится, как мы помним, командой \item). В свою очередь, каждый элемент перечня может состоять из одного или нескольких абзацев. Наконец, у каждого элемента перечня есть свой заголовок — " горошина" на первом уровне окружения {itemize}, заданный вами заголовок в окружении {description} и т.п. (У некоторых перечней — например, таковы "теоремы" — перечень состоит из одного-единственного элемента; у таких перечней, как {quote} или {verse}, кроме того, заголовок к этому единственному элементу всегда пуст.)
Вооружившись этими терминами и имея в виду предупреждение, приступим к утомительному перечислению параметров. Все они — параметры со значением длины. Во-первых, параметры \leftmargin и \rightmargin задают, с каким отступом от левого (правого) поля начинается (заканчивается) текст элементов перечня (полиграфист сказал бы: насколько втянуты элементы перечня). Если перечень вложен в другой перечень, то \leftmargin и \rightmargin обозначают величину втяжки по отношению к объемлющему перечню.
Следующие два параметра влияют на размещение заголовков в перечне. Параметр \labelsep задает расстояние между правым краем заголовка и началом текста в элементе перечня, к которому относится этот заголовок, а параметр \labelwidth задает место по горизонтали, которое по умолчанию занимает заголовок. Точный смысл этих параметров следующий. При обработке перечня LaTeX сначала пытается поместить заголовок в блок шириной \labelwidth.
Если места хватает, то именно в такой блок он и помещается, причем выключенным вправо: правый край блока при этом находится на расстоянии \labelsep от начала текста, составляющего элемент перечня (так что его левый край будет на расстоянии
\leftmargin - \labelwidth - \labelsep от левой границы основного текста или объемлющего перечня). Если же ширина заголовка больше, чем \labelwidth, то заголовок печатается как есть. Такое, например, регулярно случается при пользовании окружением {description}.
Мы не сказали еще об одном параметре, влияющем на размещение заголовков. Именно, если параметр \itemindent отличен от нуля, то каждый заголовок перечня будет дополнительно сдвинут на это расстояние вправо. Соответственно, при определении, на каком расстоянии начинается заголовок элемента перечня, надо будет прибавить значение \itemindent к тому, что получается по формуле
Если элемент перечня состоит из нескольких абзацев, то по умолчанию во всех этих абзацах абзацный отступ будет отсутствовать. Можно, однако, при желании задать такой режим, что во всех, кроме первого, абзацах каждого элемента перечня будет присутствовать абзацный отступ. Для этого надо задать ненулевую величину этого отступа в параметре \listparindent. Кстати, значение этого параметра может быть и отрицательным (в этом случае эффект будет похож на тот, что достигается в обычном тексте установкой параметров \hangindent и \hangafter).
Параметры, о которых шла речь до сих пор, относились к размещению материала по горизонтали. Теперь займемся "вертикальными" параметрами. Сразу отметим, что все эти параметры являются " растяжимыми" длинами, т.е. у них можно задавать plus- и minus -компоненты.
Первый (и основной) из этих параметров называется \topsep. Это величина дополнительного вертикального интервала, который делается перед перечнем и после него (в дополнение к \parskip).
Если перед перечнем оставлена пустая строка (или имеется команда \par), то перед и после перечня устанавливается еще и вертикальный отступ, равный \partopsep (в дополнение к отступам, заданным параметрами \parskip и \topsep).
Далее, вертикальный отступ между абзацами внутри одного элемента задается параметром \parsep (а не \parskip, как в обычном тексте). Между различными же элементами перечня, в дополнение к \parsep, оставляется еще и вертикальный отступ \itemsep. Таким образом, если \itemsep отличен от нуля, как это и сделано в стандартных классах, то различные элементы перечня будут более отделены друг от друга, чем абзацы внутри одного элемента перечня.