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

       

Абзацы нестандартной формы


Пусть нам потребовалось создать абзац c "отрицательным" абзацным отступом, в котором все строки, кроме первой, начинаются на расстоянии одного сантиметра от полей. Этого можно добиться следующим образом:

Абзацы нестандартной формы

\hangindent=1cm \noindent Отрицательный абзацный отступ (по-английски hanging indentation).

Здесь TeX'овский параметр \hangindent означает величину отступа от полей во всех строках абзаца, кроме первой (по умолчанию значение этого параметра равно нулю). Обратите внимание, что мы начали абзац командой \noindent, чтобы первая строка не началась с абзацным отступом (см. разд.Подавление стандартного отступа).

Пусть теперь нам хочется, чтобы дополнительный отступ, величина которого задана параметром \hangindent, начинался не со второй строки, а, скажем, с третьей. Для этого надо установить еще один TeX'овский параметр, обозначаемый \hangafter:

Абзацы нестандартной формы

\hangindent=1cm \hangafter=2 \noindent Можно сделать так, чтобы отступ начался не с первой строки, а там, где нам это потребовалось.

Значение параметра \hangafter — номер строки, после которой начинается дополнительный отступ. По умолчанию значение \hangafter равно единице (как и было в нашем первом примере).

Можно также добиться того, чтоб дополнительный отступ не начинался после какой-то строки, а напротив, присутствовал только в нескольких первых строках абзаца. Для этого надо присвоить параметру \hangafter отрицательное значение: если величина \hangafter равна

Абзацы нестандартной формы
, то дополнительный отступ, равный \hangindent, будет присутствовать в строках номер
Абзацы нестандартной формы
. Пример:

Абзацы нестандартной формы

\hangindent=1.5cm \hangafter=-3 \noindent С помощью рассмотренных нами средств TeX'а можно выкапывать в абзацах небольшие ямки. На место образующегося белого прямоугольника можно, например, вклеить иллюстрацию.

Если значение параметра \hangindent отрицательно и равно

Абзацы нестандартной формы
, то дополнительный отступ размером
Абзацы нестандартной формы
будет отсчитываться от правого, а не левого поля (в каких именно строках будет этот дополнительный отступ, по-прежнему определяется значением \hangafter):

Абзацы нестандартной формы

\hangindent=-2cm \hangafter=2 \noindent На сей раз нам захотелось приклеить картинку не слева, а справа. Что ж, TeX\ позволяет сделать и так, было бы желание. Вскоре вы сможете убедиться, что и это — не предел.
<
p>После каждой команды "завершить абзац" ( иными словами, после каждой пустой строки или команды \par восстанавливаются принятые по умолчанию значения параметров \hangindent и \hangafter. Отметим еще, что не следует менять эти параметры внутри LaTeX'овских окружений наподобие itemize или quote: в таких окружениях LaTeX устанавливает эти параметры самостоятельно, и их ручная переустановка может привести к непредсказуемым результатам.

Абзацы нестандартной формы


Начало этого причудливого абзаца выглядело в исходном тексте так:

\parshape=14 0cm 6cm .1cm 5.8cm .17cm 5.66cm .5cm 5cm .9cm 4.2cm 1.05cm 3.9cm 1.1cm 3.8cm 1.1cm 3.8cm 1.05cm 3.9cm .9cm 4.2cm .5cm 5cm .17cm 5.66cm .1cm 5.8cm 0cm 6cm \noindent \small Если вам не хватает возможностей... Смысл этого текста следующий. Число
Абзацы нестандартной формы
, следующее непосредственно после \parshape и знака равенства, задает количество строк, имеющих нестандартные длину и/или отступ от левого поля. После этого числа, через пробел (конец строки, как мы помним, — тоже пробел), перечислены отступы от левого поля и длины строк: 0cm - отступ первой строки от левого поля, 6cm - ее длина, 0.1cm - отступ второй строки от левого поля, 5.8cm - ее длина, и т.д. Если написано, что \parshape равно
Абзацы нестандартной формы
, то после этого должно следовать
Абзацы нестандартной формы
длин. Если реально в абзаце получится менее
Абзацы нестандартной формы
строк, то указания на длину и отступ отсутствующих строк будут проигнорированы TeX'ом; если строк получается больше, чем
Абзацы нестандартной формы
, то все последующие строки будут иметь те же отступ и длину, что заданы для строки номер
Абзацы нестандартной формы
. Заметим, наконец, что абзац мы начали командой \noindent, чтобы отступ самой первой строки был действительно равен нулю (если абзац начинается без \noindent, то в первой строке будет еще присутствовать пробел длиной в \parindent).

После пустой строки или команды \par действие параметров, заданных командой \parshape, прекращается.

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


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