Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Борьба с последней строкой

Нехорошо, когда последняя строка абзаца слишком коротка (например, короче, чем абзацный отступ следующего абзаца). Чтобы бороться с этим, можно использовать те средства, с которыми мы уже знакомы. Если, например, последняя короткая строка представляет собой обрубок слова, завершающего абзац, то можно либо запретить переносы в этом слове, взяв его в \mbox, либо сказать перед этим словом \linebreak, либо, если это слово длинное, указать в нем место для переносов в явном виде (с помощью команды \-\,) только в начале (в надежде, что поджаться на меньшее расстояние TeX'у будет легче). Другой вариант — сказать \looseness=-1 перед пустой строкой, завершающей абзац: если TeX'у удастся сделать абзац на строку короче, то вряд ли завершающая строка разбитого по-новому абзаца будет короткой.

Разумеется, чудес не бывает: эти рецепты могут подействовать, если абзац достаточно длинен, а не состоит из пары строк.

Другой нежелательный эффект возникает, когда длина последней строки абзаца лишь чуть-чуть меньше, чем ширина полосы. В этом случае разумно довести последнюю строку до края. В этом может помочь еще не рассматривавшийся нами параметр \parfillskip. Именно, скажите (перед завершающей абзац пустой строкой) \parfillskip=0pt, и TeX постарается растянуть последнюю строку (увеличивая промежутки между словами не только в последней строке, но, при необходимости, и в остальных). Если в результате этих действий не случится overfull'а или underfull'а, то все в порядке.

После окончания абзаца прежнее значение параметра \parfillskip не восстанавливается, так что менять его надо внутри группы.

Дополнительные тонкости с переносами. Вы можете влиять на частоту переносов в абзацах с помощью параметра \hyphenpenalty. По умолчанию его значение равно . Если присвоить этому параметру большее значение, то переносов будет меньше. Точнее говоря, если у TeX'а будет возможность выбирать, сделать лишний перенос или же обойтись без него, растянув строку чуть больше, 2) то TeX будет склоняться ко второму варианту тем чаще, чем больше значение \hyphenpenalty. Максимально возможное значение параметра \hyphenpenalty равно . Если в момент верстки абзаца это значение именно таково, то переносы в этом абзаце вообще запрещены. Такой режим разумно, например, установить для абзацев, написанных на языке, для которого в вашей реализации TeX'а нет таблицы переносов, чтобы TeX не сделал переносов во французском тексте по английским правилам.

Наряду с параметром \hyphenpenalty (отвечающим как за автоматически вставленные переносы, так и за переносы, возможные места для которых вы отметили с помощью команды \-), есть и параметр \exhyphenpenalty, отвечающий за переносы в словах с дефисом или командой \slash. Напомним, что в таких словах автоматический перенос возможен только в том месте, где дефис (или \slash) делит слово на части. Так вот, чем больше значение \exhyphenpenalty, тем с меньшей охотой TeX будет делать переносы в этих местах. Если же значение \exhyphenpenalty равно , то такие переносы будут и вовсе запрещены.

Значение двух описанных выше параметров используется TeX'ом в тот момент, когда он видит пустую строку, завершающую абзац. Соответственно, если вы присваиваете этим параметрам новые значения внутри группы, то группа не должна завершаться до этой пустой строки. Учтите также, что если вы увеличиваете значение \hyphenpenalty и тем самым затрудняете TeX'у переносы слов, то вам может понадобиться увеличить и \tolerance или \emergencystretch, чтобы он смог побольше растягивать строки.

Полиграфические правила не допускают, чтобы в абзаце шло подряд много (скажем, более трех) строк с переносами. Бороться с таким недостатком помогает параметр \doublehyphendemerits: чем его значение больше, тем менее выгодны для TeX'а будут такие последовательности строк, и тем более настойчиво он будет их избегать при переборе вариантов разбиения абзаца на строки. По умолчанию значение этого параметра равно 10000; если переносы идут подряд, можно увеличить значение этого параметра, скажем, до миллиона (такое большое число выбрано не случайно: чтобы этот параметр оказал действие, его значение должно быть того же порядка, что и квадрат встречающихся при переборе возможных разбиений значений badness); если вы делаете это увеличение не в преамбуле документа, а в группе, то, как водится, нужно, чтобы эта группа содержала и пустую строку, завершающую абзац.

Есть также аналогичный параметр \finalhyphendemerits: чем больше его значение, тем с меньшей охотой TeX будет делать перенос в предпоследней строке абзаца. Значение этого параметра по умолчанию равно 5000.

Наконец, вот заключительная хитрость. Если вы присвоите значение параметру \uchyph, написав

\uchyph=0

то TeX никогда не будет делать переносов в словах, начинающихся с прописной буквы. Такой режим полезен, например, в том случае, если вы не хотите делать переносы в именах собственных. Чтобы снова разрешить TeX'у переносить слова, начинающиеся с прописной буквы, присвойте параметру \uchyph значение .

3. Лекция: Набор текста
Страницы: «| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | вопросы |» | для печати и PDA
Если Вы заметили ошибку - сообщите нам, или выделите ее и нажмите Ctrl+Enter
Специальные абзацы В разделе, посвященном абзацам, уже упоминалось о том, как можно печатать текст без выравнивания по правому краю. Сейчас речь пойдет о других подобных случаях, когда требуются абзацы специального вида. Большинство описываемых в этом разделе способов верстки реализовано в виде окружений; не забывайте, что всякое окружение ограничивает группу, так что если вам нужно будет не только получить текст специального вида, но и сменить шрифт, вы можете дать команду переключения шрифта (наподобие \itshape) внутри окружения и не заботиться специально о восстановлении прежнего шрифта: вместе с окружением кончится и группа, и прежний шрифт восстановится автоматически. Цитаты Если вам нужно включить в текст цитату, пример, предупреждение и т.п., то удобно воспользоваться окружением quote. Это окружение набирает текст, отодвинутый от краев (полиграфист сказал бы: "втянутый". Пример:
Каждый сознательный гражданин должен понимать, что \begin{quote} весьма небезопасно содержать экзотических животных в городской квартире. \end{quote} Поэтому подумайте, прежде чем покупать на рынке крокодила.

Как вы можете заметить из этого примера, текст, оформленный окружением quote, не имеет абзацного отступа и отделяется от окружающего текста вертикальными промежутками. Если после \end{quote} дальнейший текст следует без пропуска строки, то на печати он начнется с новой строки, но без абзацного отступа (после включения цитаты продолжается прерванный абзац); если после \end{quote} пропустить строку, то после цитаты текст будет идти с абзацным отступом (если, разумеется, значение параметра \parindent не равно нулю).

Для длинных цитат, состоящих из нескольких абзацев, можно использовать окружение quotation. Оно полностью аналогично quote, за тем исключением, что в тексте, оформленном этим окружением, делается абзацный отступ.

<== предыдущая лекция | следующая лекция ==>
Более тонкая настройка | Центрирование, выравнивание текста по краю
Поделиться с друзьями:


Дата добавления: 2014-01-03; Просмотров: 364; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.069 сек.