Tex: подробное описание С. М. Львовский
Абзацы нестандартной формы
Download 1.51 Mb. Pdf ko'rish
|
LaTeX-Lvovsky
8.6. Абзацы нестандартной формы
Пусть нам потребовалось создать абзац c «отрицательным» абзацным отступом, в котором все строки, кроме первой, начинаются на расстоянии 1 см от полей. Этого можно добиться следующим образом: С помощью TEXа нетрудно со здавать абзацы нестандарт ной формы. Простейший пример — то, что по-ан глийски называется hang ing indentation. \hangindent=1cm \noindent s POMO]X@ \TeX{}A NETRUDNO SOZDAWATX ABZACY NESTANDARTNOJ FORMY. pROSTEJ[IJ PRIMER --- TO, ˆTO PO-ANGLIJSKI NAZYWAETSQ hanging indentation. Здесь TEXовский параметр \hangindent означает величину отступа от полей во всех стро ках абзаца, кроме первой (по умолчанию значение этого параметра равно нулю). Обратите внимание, что мы начали абзац командой \noindent, чтобы первая строка не началась с аб зацным отступом. Пусть теперь нам хочется, чтобы дополнительный отступ, величина которого задана па раметром \hangindent, начинался не со второй строки, а, скажем, с третьей. Для этого нам надо установить еще один TEXовский параметр, обозначаемый \hangafter: III.8. СПЕЦИАЛЬНЫЕ АБЗАЦЫ 92 Следующая проблема — сделать так, чтобы дополнительный от ступ начинался не со вто рой строки, а позже. Как видите, добиться этого то же несложно. \hangindent=1cm \hangafter=2 \noindent sLEDU@]AQ PROBLEMA --- SDELATX TAK, ˆTOBY DOPOLNITELXNYJ OTSTUP NAˆINALSQ NE SO WTOROJ STROKI, A POZVE. kAK WIDITE, DOBITXSQ “TOGO TOVE NESLOVNO. Значение параметра \hangafter — номер строки, после которой начинается дополнитель ный отступ. По умолчанию значение \hangafter равно единице (как и было в нашем первом примере). Можно также добиться того, чтоб дополнительный отступ не начинался после какой-то строки, а напротив, присутствовал только в нескольких первых строках абзаца. Для этого надо присвоить параметру \hangafter отрицательное значение: если величина \hangafter равна n < 0, то дополнительный отступ, равный \hangindent, будет присутствовать в стро ках номер 1, 2, . . . |n|. Пример: С помощью рассмотрен ных нами средств TEXа можно выкапывать в аб зацах небольшие ямки. На ме сто образующегося белого пря моугольника можно, например, наклеить иллюстрацию. \hangindent=1.5cm \hangafter=-3 \noindent s POMO]X@ RASSMOTRENNYH NAMI SREDSTW \TeX{}A MOVNO WYKAPYWATX W ABZACAH NEBOLX[IE QMKI. nA MESTO OBRAZU@]EGOSQ BELOGO PRQMOUGOLXNIKA MOVNO, NAPRIMER, NAKLEITX ILL@STRACI@. Можно сделать так, что дополнительный отступ, задаваемый параметром \hangindent, будет делаться не слева, а справа. Для этого значение этого параметра надо сделать отрица тельным. Именно, если значение \hangindent равно h < 0, то дополнительный отступ раз мером |h| будет отсчитываться от правого, а не левого поля (в каких именно строках будет этот дополнительный отступ, по-прежнему определяется значением \hangafter): На сей раз нам захотелось при клеить картинку не слева, а справа. Что ж, TEX позволяет сделать и так, было бы жела ние. Вскоре Вы уви дите, что и это — не предел. \hangindent=-2cm \hangafter=2 \noindent nA SEJ RAZ NAM ZAHOTELOSX PRIKLEITX KARTINKU NE SLEWA, A SPRAWA. ˜TO V, \TeX{} POZWOLQET SDELATX I TAK, BYLO BY VELANIE. wSKORE wY UWIDITE, ˆTO I “TO --- NE PREDEL. После каждой команды «завершить абзац» (иными словами, после каждой пустой строки или команды \par) значения параметров \hangindent и \hangafter возвращаются к приня тым по умолчанию. Отметим еще, что было бы неразумно играть с этими параметрами внутри L A TEXовских окружений наподобие itemize или quote. III.9. ЛИНЕЙКИ 93 Если Вам не хватает воз можностей, которые дает ва рьирование параметров \hangindent и \hangafter, то вот Вам пример, как с помощью TEXа создать абзац совсем уж причудливой формы. Все перено сы в словах и места разрывов строк были найдены TEXом автоматически. Начало этого причудливого абзаца выглядело в исходном тексте так: \parshape=7 0cm 4cm 0.5cm 5cm 1cm 6cm 1.5cm 7cm 2cm 6.5cm 1.8cm 6cm 1.7cm 5cm \noindent \small eSLI wAM NE HWATAET WOZMOVNOSTEJ... Смысл этих команд следующий. Число 7, следующее непосредственно после \parshape и знака равенства, задает количество строк, имеющих нестандартные длину и/или отступ от левого поля. После этого числа, через пробел (конец строки, как мы помним, тоже пробел), перечислены отступы от левого поля и длины строк: 0cm — отступ первой строки от лево го поля, 4cm — ее длина, 0.5cm — отступ второй строки от левого поля, 5cm — ее длина, и т. д. Если написано, что \parshape равно n, то после этого должно следовать 2n длин. Если реально в абзаце получится менее n строк, то указания на длину и отступ отсутствую щих строк будут проигнорированы TEXом; если же строк, как в нашем примере, получается больше, чем n, то все последующие строки будут иметь те же отступ и длину, что заданы для строки номер n. Заметим, наконец, что абзац мы начали командой \noindent, чтобы от ступ самой первой строки был действительно равен нулю (если абзац начинается не коман дой \noindent, а обычным образом, то в первой строке будет еще присутствовать пробел длиной в \parindent). После пустой строки или команды \par действие параметров, заданных командой \parshape, прекращается. У абзаца, форма которого задана с помощью \hangindent или \parshape, длина и отступ строки зависят, как Вы могли заметить, от ее номера. Если такой абзац содержит выключную формулу, то TEX считает, что эта формула занимает три строки, причем сама формула расположена в средней из этих трех (реально формула может, разумеется, занимать больше или меньше места). Download 1.51 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling