КАТЕГОРИИ: Архитектура-(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) |
Ручное управление разрывами строк
Иногда возникает необходимость повлиять на то, в каком месте TeX начинает новую строку. Для этой цели есть соответствующие команды, с одной из которых мы уже встречались — это "неразрывный пробел", запрещающий разрыв строки между двумя словами. Иногда надо обеспечить, чтобы в каком-то слове не делалось переносов, причем не вообще никогда (тогда разумно применить команду \hyphenation), а только в данном месте. Можно добиться этого, например, с помощью команды \mbox, написав так:
Команда \mbox имеет один обязательный аргумент: в фигурных скобках может находиться любой текст, укладывающийся в одну строку (в том числе, как вы заметили, с командами переключения шрифта и т.п.); TeX будет рассматривать содержимое \mbox как одну большую букву и тем самым, конечно, не сможет разорвать его между строками. Вы уже встречались с командой \mbox, если прочли в предыдущей лекции раздел о включении текста в формулы; более подробно мы ее рассмотрим в лекции о "блоках". Теперь посмотрим, что делать, если вам понадобилось насильно разорвать строку в каком-то месте, не начиная при этом нового абзаца. Для этого есть несколько способов, в зависимости от того, что вы хотите получить. Один из вариантов — воспользоваться командой \\ и получить возможно не доходящую до края, но не растянутую строку:
Можно также воспользоваться командой \linebreak; при этом оборванная строка будет выровнена по правому краю, даже если ради этого ее придется растянуть:
Если строка действительно окажется разреженной, то вы получите сообщение об этом во время трансляции. Если абзац длинный, а команда \linebreak расположена не слишком близко к его началу, то скорее всего разреженных строк не будет. Команда \\ допускает и необязательный аргумент: если в квадратных скобках указать какое-то расстояние (в TeX'овских единицах длины — то после оборванной строки будет оставлено это расстояние (по вертикали). Пример:
При использовании команды \\ с необязательным аргументом бывает удобно вместо расстояния в явном виде указать один из следующих параметров:
Точный размер этого пробела зависит от класса документа (и " классовых опций"); на с. 146 изображена величина соответствующих пробелов в стандартных классах со шрифтом кегля 11. 1) ; если бы мы написали \\* или \\*[ расстояние ], то эффект был бы тот же, что и без звездочки, и к тому же было бы запрещено заканчивать страницу на оборванной строке. У команды \linebreak с необязательным аргументом} также может присутствовать необязательный аргумент. При этом команда \linebreak[n] указывает, что в данном месте желателен переход на новую строку, причем указывает "силу" этого желания ( должно быть целым числом от 0 до 4). Если , то это полностью равносильно \linebreak без необязательного аргумента, если , то это означает только, что строку в данном месте разрешается разорвать (так что применять эту команду с аргументом 0 между словами обычно бессмысленно); когда возрастает от 1 до 3, команда \linebreak[n] "усиливает давление" на TeX'овский алгоритм верстки абзаца, делая для него разрыв в указанном месте все более выгодным, невзирая на возможное появление разреженных строк. Есть также команда\nolinebreak, действующая противоположно; она также может принимать необязательный аргумент — целое число от 0 до 4. Будучи заданной с аргументом 4, эта команда запрещает разрыв строки в указанном месте. Когда ее необязательный аргумент возрастает от 1 до 3, TeX начинает рассматривать разрыв строки в указанном месте как все менее желательный, даже невзирая на то, что из-за отказа от этого разрыва могут появиться разреженные строки. Команда \nolinebreak[0] равносильна, как это ни странно, команде \linebreak[0]. Команду \nolinebreak надо давать непосредственно после слова и до пробела, иначе она не сработает. Для простых приложений, о которых идет речь в этой лекции, команда \nolinebreak, как правило, не нужна: чтобы запретить разрыв, гораздо удобнее "неразрывный пробел". Команда \nolinebreak иногда бывает полезна при разработке собственных макроопределений, о чем сейчас говорить преждевременно.
Дата добавления: 2014-01-03; Просмотров: 375; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |