Текст внутри отображения не является ни нормально заполненным, ни выравненным. Далее, если места на текущей странице не хватает, отображаемый материал (и все, что за ним следует) переносится на следующую страницу. Команда
.DS
обеспечивает несколько флагов, включая
L
для левого выравнивания,
С
для индивидуальной центровки каждой строки и
В
для центровки всего отображения.
Фрагменты текста в приведенном выше отображении разделены символами табуляции. По умолчанию символы табуляции
troff
ставятся через каждые полдюйма, а не через восемь пробелов, как обычно. Даже если бы эти символы вставлялись через каждые восемь пробелов, символы табуляции, обрабатываемые
troff
, не всегда бы появлялись там, где нужно из-за их переменной ширины.
Смена шрифта
Макроопределения ms обеспечивают три команды смены шрифта. Команда
.R
меняет шрифт на латинский (обычный),
.I
устанавливает курсив, а
.B
— жирный шрифт:
Этот текст обычный,
.I
это курсив
.R
это снова обычный, а
.B
это жирный шрифт.
При выполнении команд приведенный выше текст превращается в следующий:
Этот текст обычный, это курсив, это снова обычный, а это жирный шрифт.
Команды
.I
и
.В
воспринимают возможные аргументы, причем смена шрифта относится только к аргументу. В
troff
аргументы, содержащие пробелы, должны быть экранированы, и единственным символом для такой операции служит двойная кавычка
"
.
Это обычный текст, но
.I - это
курсив, а
.В "эти слова"
напечатаны жирным шрифтом.
Данный текст печатается так:
Это обычный текст, но — это курсив, а эти слова напечатаны жирным шрифтом.
В конечном счете второй аргумент для
.I
или
.B
, напечатанный обычным шрифтом, добавляется без пробелов к первому аргументу. Это средство широко используется при выборе шрифта для пунктуации. Обратите внимание на последнюю скобку фразы
(взятые в скобки
.I "слова курсивом)"
которая печатается неверно в виде
(взятые в скобки слова курсивом)
и сравните ее с фразой
(взятые в скобки
.I "слова курсивом")
которая печатается верно как
(взятые в скобки слова курсивом)
Различные шрифты распознаются программой
nroff
, но результат оставляет желать лучшего. Символы курсива подчеркнуты и нет жирных литер, хотя некоторые версии
nroff
изображают жирный шрифт двойной печатью.
Смешанные команды
Сноски вводятся с помощью
.FS
и заканчиваются
.FE
. Ваше дело определить метку (сноску) в виде звездочки
*
или крестика
†
. Такая сноска создается следующим образом:
определяющая метка типа звездочки или крестика. \(dg
.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.