Брайан Керниган - UNIX — универсальная среда программирования
- Название:UNIX — универсальная среда программирования
- Автор:
- Жанр:
- Издательство:Финансы и статистика
- Год:1992
- Город:Москва
- ISBN:5-289-00253-4
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Брайан Керниган - UNIX — универсальная среда программирования краткое содержание
В книге американских авторов — разработчиков операционной системы UNIX — блестяще решена проблема автоматизации деятельности программиста, системной поддержки его творчества, выходящей за рамки языков программирования. Профессионалам открыт богатый "встроенный" арсенал системы UNIX. Многочисленными примерами иллюстрировано использование языка управления заданиями shell.
Для программистов-пользователей операционной системы UNIX.
UNIX — универсальная среда программирования - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
.FS
\(dg подобно этому .FE
Эта сноска была создана с помощью ...
Выделенные отступом абзацы, возможно с использованием номера или другой пометки на границе, создаются командой .IP
. Сделаем следующее:
1. Первый небольшой абзац.
2. Второй абзац, который мы удлиняем, чтобы показать, что отступ во второй строке будет таким же, как в первой.
Для этого нужен такой входной текст:
.IP(1)
Первый небольшой абзац.
.IP(2)
Второй абзац ...
Команды .PP
или .LP
(выравненный слева абзац) завершают дело, начатое командой .IP
. Аргументом .IP
может быть любая строка: введите кавычки, а при необходимости и пробелы. Второй аргумент можно использовать, чтобы определить значение отступа.
Когда вы работаете с парой команд .KS
и .KE
, текст должен быть размещен в одном месте; текст, заключенный между этими командами, будет перенесен на новую страницу, если он не разместится весь на текущей странице. Заменив .KS
на .KF
, вы можете передвинуть текст за последующий текст в верхнюю часть следующей страницы (если его необходимо поместить на одной странице). Все таблицы в книге построены с помощью .KF.
Можно изменить большинство значений 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
Пропуск завершающей команды типа .AE
или .DE
обычно ведет к неприятностям. Напишите программу mscheck
для обнаружения ошибок во входном потоке ms
(или в предпочитаемом вами пакете). Совет : воспользуйтесь awk
.
9.2 Уровень troff
На практике приходится иногда выходить за пределы возможностей ms
, mm
или других пакетов, чтобы реализовать некоторые свойства "чистой" troff
. Однако, как и к программированию на языке Ассемблера, прибегать к этому следует в крайних случаях.
Вероятны три ситуации: доступ к специальным символам, использование встроенных команд замены шрифта и введение нескольких базовых функций форматирования.
Доступ к необходимым символам (греческим буквам, например, π, графике вида • и †, разнообразным штрихам и пробелам) несложен, хотя и не вполне систематизирован. Каждый такой символ имеет имя \ c
, где с — одиночный символ, или \( cd
, где cd — пара символов.
Программа troff
печатает минус в коде ASCII как дефис, а не как '—'. Настоящий минус должен обозначаться через \-
, а тире через \(em
, называемое "em пунктир", символ "тире".
Интервал:
Закладка: