- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
UNIX — универсальная среда программирования - Брайан Керниган
Шрифт:
Интервал:
Закладка:
Можно изменить большинство значений ms, принятых по умолчанию, путем установки некоторого числа регистров, являющихся переменными troff и используемых ms. Наиболее часто применяются регистры, управляющие размером текста и интервалом между строками. Нормальным размером текста считается размер в "10 точек", где точка составляет 1/72 дюйма (единица, заимствованная из полиграфии). Обычно строки печатаются с 12-точечным разделением (интервалом). Чтобы изменить интервал, например на 9 или 11 точек (как сделано в наших отображениях), присвойте указанные числа регистрам PS и VS:
.nr PS 9
.nr VS 11
Другие числовые регистры включают LL для установки длины строки, PI — для определения отступов абзацев и PD — для отделения последних. Это влияет на следующие .PP или .LP.
Пакет макроопределений mmМы не будем подробно рассматривать этот пакет макроопределений, поскольку в целом, а зачастую и в деталях он похож на ms. Пакет mm обеспечивает контроль параметров в расширенном по сравнению с ms диапазоне, обладает большими возможностями (например, автоматически нумеруемые списки) и выдает лучшие сообщения об ошибках. В табл. 9.2 показаны команды mm, эквивалентные командам ms из табл. 9.1.
.AB Печатать резюме; оканчивается .AE .AU Ввести в следующей строке имя автора; разрешены многократные .AU .B Начать печатать "жирный" текст либо выделить жирным шрифтом аргумент, если он есть .DS t Начать отображать (незаполненный) текст, оканчивающийся .DE t=L (выравнивание по левому краю), С (центрирование), В (центрирование блока) .EQ s Начать выравнивание s (входной поток eqn); оканчивается .EN .FS Начать печатать сноску; оканчивается .FE Л Начать печатать текст, выделенный курсивом, или выделить курсивом аргумент, если он есть .IP s Сделать абзац с отступом, помеченный s .KF Печатать слитно часть текста, если необходимо целиком передвинуть на следующую страницу; конец ее .KE .KS Печатать статно часть текста на странице; заканчивается .KE .LP Печатать новый выравненный слева абзац .NH n Ввести чистовой заголовок n-го уровня; затем сам заголовок до .PP или .LP .PP Сделать новый абзац .R Вернуться к обычному шрифту .SH Ввести подзаголовок; заголовок следует далее до .PP .TL Далее печатать название до следующей команды ms .TS Начать печатать таблицу (входной поток tbl); оканчивается .ТЕТаблица 9.1: Распространенные команды форматирования ms (см. также справочное руководство по ms(7))
.AS Начать печатать резюме; оканчивается .AE .AU Задать имя автора .B Начать печатать "жирный" текст либо выделить жирным шрифтом аргумент, если он есть .DF Задать слитную часть текста, если необходимо ее целиком передвинуть на следующую страницу; оканчивается .DE .DS Начать отображать текст; оканчивается .DE .EQ Начать выравнивание (входной поток eqn); оканчивается .EN .FS Начать печатать сноску; оканчивается .FE .I Начать печатать текст, выделенный курсивом, или выделить курсивом аргумент, если он есть .Hn "..." Задать нумерованный заголовок n-го уровня "…" .HU "..." Задать ненумерованный заголовок "…" .P Сделать абзац. Используйте .nr Pt 1 один раз для создания абзаца с отступом .R Вернуться к обычному шрифту .TL Задать заголовок до следующей команды mm .TS Начать печатать таблицу (tbl входной поток); оканчивается .ТЕТаблица 9.2: Распространенные команды форматирования mm
Упражнение 9.1Пропуск завершающей команды типа .AE или .DE обычно ведет к неприятностям. Напишите программу mscheck для обнаружения ошибок во входном потоке ms (или в предпочитаемом вами пакете). Совет: воспользуйтесь awk.
9.2 Уровень troff
На практике приходится иногда выходить за пределы возможностей ms, mm или других пакетов, чтобы реализовать некоторые свойства "чистой" troff. Однако, как и к программированию на языке Ассемблера, прибегать к этому следует в крайних случаях.
Вероятны три ситуации: доступ к специальным символам, использование встроенных команд замены шрифта и введение нескольких базовых функций форматирования.
Имена символовДоступ к необходимым символам (греческим буквам, например, π, графике вида • и †, разнообразным штрихам и пробелам) несложен, хотя и не вполне систематизирован. Каждый такой символ имеет имя c, где с — одиночный символ, или (cd, где cd — пара символов.
Программа troff печатает минус в коде ASCII как дефис, а не как '—'. Настоящий минус должен обозначаться через -, а тире через (em, называемое "em пунктир", символ "тире".
В табл. 9.3 перечислены наиболее часто используемые специальные символы; в справочном руководстве по troff их число намного больше (в вашей системе перечень специальных символов может быть иным).
- - Дефис (hy - Дефис, аналогичный предыдущему - – Знак "минус", набираемый текущим шрифтом (mi – Знак "минус", набираемый математическим шрифтом (em — em тире & Ничего; защищает точку в начале строки blank Неразмножаемый пробел | Неразмножаемый полупробел е Символ экранирования, обычно (bu Жирная точка (dg Крестик † (*a α, (*b=β, (*с=ξ, (*p=π и т.д. fX Символ смены шрифта на X; Х=Р — предыдущий (шрифт) f(XX Символ смены шрифта на XX sn Символ смены размера шрифта на n; n=0 — предыдущий s+-n Относительная замена размера шрифтаТаблица 9.3: Некоторые последовательности специальных символов troff

