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



Гостиница Волхов 2

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


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

%%%HOLE_TeX%%% \documentclass{book} \usepackage[matrix,arrow,curve]{xy} \usepackage{all} %%%% \usepackage{textcomp} \setlength{\textwidth}{3cm} \parindent=0cm
\usepackage{color} \usepackage{amsmath} \usepackage{mathtext} % если нужны русские буквы в формулах (не обязательно) \usepackage[T2A]{fontenc} % внутренняя T2A кодировка TeX \usepackage[cp1251]{inputenc} % кодировка - можно использовать [cp866] [cp1251] [koi8-r] \usepackage[russian]{babel} % включение переносов \usepackage{tabularx} \usepackage{longtable} %\usepackage{graphy} \usepackage{array} \usepackage{soul}
\definecolor{bg}{rgb}{ 1,1,1 } \definecolor{fg}{rgb}{ 0.517647058823529,0.00784313725490196,0.0156862745098039 } \pagestyle{empty} \pagecolor{bg} \begin{document} \color{fg} \noindent{\unitlength=0.1pt \raisebox{-4pt}{ \hbox{\begin{picture}(1,1) \put(0,0){\line(1,0){1}} \end{picture} } \hbox to \textwidth {}{\hbox { \begin{picture}(1,1) \put(0,0){\line(1,0){1}} \end{picture} }}} \par\noindent \parindent=-1cm
Отрицательный абзацный отступ (по-английски hanging indentation). } \end{document}

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

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

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

%%%HOLE_TeX%%% \documentclass{book} \usepackage[matrix,arrow,curve]{xy} \setlength{\textwidth}{4cm}
\usepackage{color} \usepackage[T2A]{fontenc} % внутренняя T2A кодировка TeX \usepackage[cp1251]{inputenc} % кодировка - можно использовать [cp866] [cp1251] [koi8-r] \usepackage[russian]{babel} % включение переносов
\definecolor{bg}{rgb}{ 1,1,1 } \definecolor{fg}{rgb}{ 0.517647058823529,0.00784313725490196,0.0156862745098039 } \pagestyle{empty} \pagecolor{bg} \begin{document} \color{fg}
\hangindent=1cm \hangafter=2 \noindent Можно сделать так, чтобы отступ начался не с первой строки, а там, где нам это потребовалось.
} \end{document}

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

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

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

n<0
, то дополнительный отступ, равный \hangindent, будет присутствовать в строках номер
1,2,\ldots,|n|
. Пример:


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

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

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


\hangindent=-2cm \hangafter=2 \noindent На сей раз нам захотелось приклеить картинку не слева, а справа. Что ж, TeX\ позволяет сделать и так, было бы желание. Вскоре вы сможете убедиться, что и это — не предел.
<


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