Страница:
.rb W X Печатает текст W жирным шрифтом, и непос-
редственно за ним текст X ранее установленным
шрифтом. Если параметры отсутствуют, то жир-
ный шрифт устанавливается текущим. .rb отли-
чается от .b тем, что .rb не выделяется под-
черкиванием в nroff.
.u W X Печатает с подчеркиванием текст W и добавляет
за ним X. Это истинное подчеркивание, в
отличие от запроса .ul, который производит
переход к "подчеркнутому шрифту" (в troff это
обычно курсив). Этот макрос не будет рабо-
тать правильно если текст W слишком длинный
или разрывается каким-либо образом (включая
перенос с использованием дефиса). Другими
словами, использование этого шрифта кор-
ректно, только при работе в режиме без запол-
нения строк.
.q W X Взять в кавычки текст W и добавить за ним X.
В nroff этот макрос заключает текст W в двой-
ные кавычки (`"'), а в troff в парные откры-
вающие и закрывающие кавычки.
.bi W X Печатает текст W жирным курсивом, и непос-
редственно за ним текст X. Этот эффект
- 11 -
достигается печатью W обычным курсивом с
двойной пробивкой каждого символа. В nroff
простое подчеркивание. Этот макрос не будет
работать правильно если текст W слишком длин-
ный или разрывается каким-либо образом (вклю-
чая перенос с использованием дефиса). Дру-
гими словами, использование этого шрифта кор-
ректно, только при работе в режиме без запол-
нения строк.
.bx W X Печатает текст W заключенным в рамку и добав-
ляет к нему текст X. В nroff простое подчер-
кивание. Этот макрос не будет работать пра-
вильно если текст W слишком длинный или раз-
рывается каким-либо образом (включая перенос
с использованием дефиса). Другими словами,
использование этого шрифта корректно, только
при работе в режиме без заполнения строк.
8. Макросы в стиле программы roff
.ix +N Смещение текста вправо без разрыва формата.
Эквивалент 'in N.
.bl N Оставляет незаполненными N пустых строк, если
на текущей странице для них не хватает места,
то этот же интервал пропускается на следующей
странице. Эквивалентно .sp N внутри блока.
.pa +N Эквивалентно .bp.
.ro Установка печати номеров страниц римскими
цифрами. Эквивалентно .af % i.
.ar Установка печати номеров страниц арабскими
цифрами. Эквивалентно .af % 1.
.n1 Начать нумеровать строки, начиная с единицы,
на каждой странице.
.n2 N Начать нумеровать строки, начиная с N. Прек-
ратить нумерацию строк если N = 0.
.sk Оставить следующую страницу пустой, печатая
только колонтитулы. Используется для резер-
вирования страницы и последующего ручного
размещения на ней различных рисунков и диаг-
рам, получаемых внешним по отношению к сис-
теме форматирования образом. Для резервиро-
вания части страницы в аналогичных целях
используйте .sv N, где N размер резервируемой
области. Соответствующее число строк пропус-
кается непосредственно на текущей странице,
- 12 -
если на ней осталось достаточно места, или
если места не текущей странице не хватает,
резервирование производится в начале следую-
щей страницы. Однако, следует помнить, что
если N превышает количество строк размещаемых
на странице, резервирование места не будет
производится вообще.
9. Работа с препроцессорами
.EQ m T Начало уравнения. Уравнение центрируется
если m равно C или отсутствует, сдвигается
вправо на \n(bi [4n] если m равно I, или рас-
полагается с левого края страницы если m
равно L. T заголовок, печатаемый в правой
части страницы сразу же после самого уравне-
ния.
.EN c Конец уравнения. Если c равно C, то предпо-
лагается, что за данным уравнением непос-
редственно следует другое, начинающееся с
очередного .EQ, текст которого центрируется
вместе с текстом данного уравнения. В про-
тивном случае, перед уравнением и после него
вставляются интервалы шириной \n(es [0.5v in
troff, 1v in nroff], текст уравненения распо-
лагается всегда целиком на одной странице.
.TS h Начало таблицы. Таблицы печатаются через
один интервал и если это возможно размещаются
на одной странице. Если необходимо напеча-
тать таблицу, которая не умещается на одной
странице, используйте h = H с последующим
описанием заголовка таблицы (который печата-
ется на каждой странице, где располагается
таблица) с помощью .TH. Смотри документ
Препроцессор для подготовки таблиц tbl.
.TH При использовании .TS H, заканчивает описание
заголовка таблицы.
.TE Конец таблицы. Следует помнить, что таблица
сама по себе располагается в том месте
текста, где она была определена, и не обла-
дает свойствами аналогичными плавающему
блоку. Кроме того если в тексте таблицы
встречаются запросы типа .sp, то ее размеще-
ние на одной странице не гарантируется. Если
желательно, чтобы таблица перемещалалсь по
тексту (или если внутри текста таблицы име-
ются запросы), то следует всю таблицу (вклю-
чая строки с запросами .TS и .TE) поместить
- 13 -
внутрь скобок плавающего блока: .(z и .)z.
10. Другие возможности
.re Установка стандартного шага табуляции. Уста-
навливается равным 0.5i в troff и 0.8i в
nroff.
.ba +N Установка базового смещения равным +N [0]
(хранится в регистре \n($i). Все параграфы,
разделы и блоки расположенные ниже будут
печататься сдвинутыми на эту величину. На
формат верхнего и нижнего колонтитулов этот
макрос действия не оказывает. Макрос .sh
обращается к .ba если \n(si [0] содержит не 0
и устанавливает базовое смещение равным
\n(si*\n($0.
.xl +N Длинна строки устанавливается равной N
[6.0i]. Отличается от .ll тем, что влияет
только на текущее окружение.
.ll +N Устанавливает длину строки равной N [6.0i] в
каждом окружении. Этот макрос не следует
использовать после начала вывода текста, в
особенности это касается двухколоночного
вывода. Текущая длина строки хранится в
\n($l.
.hl Проводит горизонтальную черту по всей ширине
страницы. Это бывает полезно при использова-
нии плавающих блоков для отделения основного
текста от текста блока.
.lo Подгружает дополнительный набор макросов (из
/usr/lib/me/local.me), подразумевается, что
это макросы местного значения, множество
которых определяться в каждой конкретной сис-
теме по своему. Имена этих макросов должны
иметь вид: .*X, где X любая буква (большая
или маленькая) или цифра.
11. Стандартное оформление документов
.tp Начать титульный лист. Верхняя часть стра-
ницы остается свободной, печать колонтитулов
подавляется. Кроме того, не происходит уве-
личения номера страницы.
.th Установка режима печати документа в виде
тезисов. Печать ведется через два интервала,
номер страницы печатается на месте верхнего
колонтитула. Совместно с этим макросом
- 14 -
предполагается использование .++ и .+c. К
этому макросу следует обращаться перед первым
обращением к макросу начала параграфа или
макросу .sh.
.++ m H Определяет тип нижеследующей части форматиру-
емого документа. Под частью понимается пос-
ледовательность глав, приложений или вспомо-
гательных разделов. Каждая часть имеет опре-
деленный тип, от которого зависит способ
оформления относящихся к ней страниц. Тип
части определяется параметром m. C означает,
что далее будет следовать основная часть
документа, разбитая на главы, A означает, что
далее располагаются различные приложения, P
означает, что далее располагаются такие вспо-
могательные разделы документа, как введение,
содержание, и т.п., AB означает, что ниже
располагаются вспомогательные разделы с неза-
висимой нумерацией, начинающейся с 1, B озна-
чает, раздел библиографии, который необходимо
размещать в конце документа. Также возможно
использование вариантов RC и RA которые опре-
деляют часть документа, состоящую из последо-
вательности глав (или соответственно приложе-
ний) внутри каждой из которых ведется своя
нумерация страниц, начиная с 1. Параметр H
определяет текст заголовка, который будет
использоваться в качестве колонтитулов на
страницах, данной части документа. Если этот
текст содержит пробелы, то он должен быть
взят в кавычки. Если желательно, чтобы этот
заголовок содержал номер главы, следует
использовать строку вида \\\\\\\\n(ch. Нап-
ример для нумерации приложений в виде A.1 где
A это номер приложения, а 1 номер страницы,
можно использовать следующий запрос .++ RA
'''\\\\\\\\n(ch.%'. Каждому разделу (главе,
приложению, и т.д.) должен предшествовать
запрос .+c.
.+c T Начать главу с названием T. Номер главы хра-
нится в регистре \n(ch. Значение этого
регистра увеличивается всякий раз при вызове
.+c с параметром. Название и номер главы
печатаются макросом .$c. На первой странице
каждой главы текст верхнего колонтитула печа-
тается в позиции нижнего колонтитула. Если
параметр T опущен, .$c не вызывается; это
бывает полезно при оформлении "титульных лис-
тов", отличным от стандартного способом. .$c
вызывает .$C поэтому заголовки глав могут
автоматически попадать в содержание
- 15 -
документа. Нумерация сносок начинается с 1.
.$c T Печатает номер главы (из регистра \n(ch) и
текст T. Может быть переопределен по вашему
усмотрению. Этот макрос вызывает $C, который
может быть доопределен для формирования
индексных текстов или других подобных дейст-
вий.
.$C K N T Этот макрос вызывается из .$c. Обычно он
неопределен, но может быть использован для
создания индексированных текстов, содержащих
номер главы и ее название, и в других подоб-
ных целях. K ключевое слово, обычно это
"ГЛАВА" или "ПРИЛОЖЕНИЕ" (в зависимости от
параметра макроса .++); N номер главы или
приложения, и T название главы или приложе-
ния.
.ac A N Этот макрос (сокращение от .acm) устанавли-
вает параметры nroff, таким образом, что
текст подгатавливается в формате принятом в
журнале ACM. Размеры страниц в этом формате
на 25% больше стандартной, колонтитулы не
печатаются. Имя автора A печатается в верх-
ней части страницы (эта часть, в журнал не
попадает), вместе с номером страницы и общим
числом страниц N. Кроме того, это макрос
подгружает макросы из файла
/usr/lib/me/acm.me, в котором могут содер-
жатся другие макросы также предназначенные
для подготовки статей в стиле ACM.
12. Предопределенные строки
\** Номер сноски, на самом деле находится в [
\n($f]. Значение этой строки автоматически
увеличивается после каждого обращения к .)f.
\*# Номер задержанного текста. На самом деле
находится в [\n($d].
\*[ Верхний индекс. Текущая строка несколько
смещается вверх, и происходит переход к мень-
шему пункторазмеру символов, если оба эти
действия можно выполнить на конкретном уст-
ройстве, в противном случае просто печатается
символ (`['). Перед строкой, содержащей
верхний индекс, пропускается более широкий
интервал, чтобы текст индекса мог нормально
разместиться.
- 16 -
\*] Конец текста верхнего индекса. Действие
обратное \*[. Так например, чтобы получить
текст с верхним индексом, следует вставить в
текст строку следующего вида: x\*[2\*],
результатом форматирования которой будет:
x[2].
\*<< Нижний индекс. Печатается `<' если на уст-
ройстве невозможен сдвиг строки вниз. Если
сдвиг возможен, ширина интервала после теку-
щей строки выбирается такой, чтобы для ниж-
него индекса хватило места.
\*>> Конец текста нижнего индекса. Выполняет
действия противоположные \*<<.
\*(dw Название текущего дня недели.
\*(mo Название текущего месяца.
\*(td Сегодняшняя дата в следующем виде: 26 Сен-
тября 1988 г. запись даты в других видах
можно получить, используя \n(dy (номер дня
месяца; например, 26), \*(mo (как описанно
выше) or \n(mo (то же самое, но в виде поряд-
кового номера месяца; например, 26 Сентября
то же что и 26/9), и наконец \n(yr (последние
две цифры текущего года).
\*(lq Знак левого ударения (левой кавычки). В
nroff это просто двойная кавычка.
\*(rq Правое ударение (правая кавычка).
\*- Тире шириной 3/4 EM в troff; два минуса в
nroff.
- 17 -
СОДЕРЖАНИЕ
1. Разбиение текста на параграфы ..................... 2
2. Заголовки разделов ................................ 3
3. Верхний и нижний колонтитулы ...................... 5
4. Блоки ............................................. 7
5. Накопление текста для последующей выдачи .......... 8
6. Вывод по колонкам ................................. 10
7. Шрифты и размеры .................................. 10
8. Макросы в стиле программы roff .................... 12
9. Работа с препроцессорами .......................... 13
10. Другие возможности ................................ 14
11. Стандартное оформление документов ................. 14
12. Предопределенные строки ........................... 16
- 18 -
редственно за ним текст X ранее установленным
шрифтом. Если параметры отсутствуют, то жир-
ный шрифт устанавливается текущим. .rb отли-
чается от .b тем, что .rb не выделяется под-
черкиванием в nroff.
.u W X Печатает с подчеркиванием текст W и добавляет
за ним X. Это истинное подчеркивание, в
отличие от запроса .ul, который производит
переход к "подчеркнутому шрифту" (в troff это
обычно курсив). Этот макрос не будет рабо-
тать правильно если текст W слишком длинный
или разрывается каким-либо образом (включая
перенос с использованием дефиса). Другими
словами, использование этого шрифта кор-
ректно, только при работе в режиме без запол-
нения строк.
.q W X Взять в кавычки текст W и добавить за ним X.
В nroff этот макрос заключает текст W в двой-
ные кавычки (`"'), а в troff в парные откры-
вающие и закрывающие кавычки.
.bi W X Печатает текст W жирным курсивом, и непос-
редственно за ним текст X. Этот эффект
- 11 -
достигается печатью W обычным курсивом с
двойной пробивкой каждого символа. В nroff
простое подчеркивание. Этот макрос не будет
работать правильно если текст W слишком длин-
ный или разрывается каким-либо образом (вклю-
чая перенос с использованием дефиса). Дру-
гими словами, использование этого шрифта кор-
ректно, только при работе в режиме без запол-
нения строк.
.bx W X Печатает текст W заключенным в рамку и добав-
ляет к нему текст X. В nroff простое подчер-
кивание. Этот макрос не будет работать пра-
вильно если текст W слишком длинный или раз-
рывается каким-либо образом (включая перенос
с использованием дефиса). Другими словами,
использование этого шрифта корректно, только
при работе в режиме без заполнения строк.
8. Макросы в стиле программы roff
.ix +N Смещение текста вправо без разрыва формата.
Эквивалент 'in N.
.bl N Оставляет незаполненными N пустых строк, если
на текущей странице для них не хватает места,
то этот же интервал пропускается на следующей
странице. Эквивалентно .sp N внутри блока.
.pa +N Эквивалентно .bp.
.ro Установка печати номеров страниц римскими
цифрами. Эквивалентно .af % i.
.ar Установка печати номеров страниц арабскими
цифрами. Эквивалентно .af % 1.
.n1 Начать нумеровать строки, начиная с единицы,
на каждой странице.
.n2 N Начать нумеровать строки, начиная с N. Прек-
ратить нумерацию строк если N = 0.
.sk Оставить следующую страницу пустой, печатая
только колонтитулы. Используется для резер-
вирования страницы и последующего ручного
размещения на ней различных рисунков и диаг-
рам, получаемых внешним по отношению к сис-
теме форматирования образом. Для резервиро-
вания части страницы в аналогичных целях
используйте .sv N, где N размер резервируемой
области. Соответствующее число строк пропус-
кается непосредственно на текущей странице,
- 12 -
если на ней осталось достаточно места, или
если места не текущей странице не хватает,
резервирование производится в начале следую-
щей страницы. Однако, следует помнить, что
если N превышает количество строк размещаемых
на странице, резервирование места не будет
производится вообще.
9. Работа с препроцессорами
.EQ m T Начало уравнения. Уравнение центрируется
если m равно C или отсутствует, сдвигается
вправо на \n(bi [4n] если m равно I, или рас-
полагается с левого края страницы если m
равно L. T заголовок, печатаемый в правой
части страницы сразу же после самого уравне-
ния.
.EN c Конец уравнения. Если c равно C, то предпо-
лагается, что за данным уравнением непос-
редственно следует другое, начинающееся с
очередного .EQ, текст которого центрируется
вместе с текстом данного уравнения. В про-
тивном случае, перед уравнением и после него
вставляются интервалы шириной \n(es [0.5v in
troff, 1v in nroff], текст уравненения распо-
лагается всегда целиком на одной странице.
.TS h Начало таблицы. Таблицы печатаются через
один интервал и если это возможно размещаются
на одной странице. Если необходимо напеча-
тать таблицу, которая не умещается на одной
странице, используйте h = H с последующим
описанием заголовка таблицы (который печата-
ется на каждой странице, где располагается
таблица) с помощью .TH. Смотри документ
Препроцессор для подготовки таблиц tbl.
.TH При использовании .TS H, заканчивает описание
заголовка таблицы.
.TE Конец таблицы. Следует помнить, что таблица
сама по себе располагается в том месте
текста, где она была определена, и не обла-
дает свойствами аналогичными плавающему
блоку. Кроме того если в тексте таблицы
встречаются запросы типа .sp, то ее размеще-
ние на одной странице не гарантируется. Если
желательно, чтобы таблица перемещалалсь по
тексту (или если внутри текста таблицы име-
ются запросы), то следует всю таблицу (вклю-
чая строки с запросами .TS и .TE) поместить
- 13 -
внутрь скобок плавающего блока: .(z и .)z.
10. Другие возможности
.re Установка стандартного шага табуляции. Уста-
навливается равным 0.5i в troff и 0.8i в
nroff.
.ba +N Установка базового смещения равным +N [0]
(хранится в регистре \n($i). Все параграфы,
разделы и блоки расположенные ниже будут
печататься сдвинутыми на эту величину. На
формат верхнего и нижнего колонтитулов этот
макрос действия не оказывает. Макрос .sh
обращается к .ba если \n(si [0] содержит не 0
и устанавливает базовое смещение равным
\n(si*\n($0.
.xl +N Длинна строки устанавливается равной N
[6.0i]. Отличается от .ll тем, что влияет
только на текущее окружение.
.ll +N Устанавливает длину строки равной N [6.0i] в
каждом окружении. Этот макрос не следует
использовать после начала вывода текста, в
особенности это касается двухколоночного
вывода. Текущая длина строки хранится в
\n($l.
.hl Проводит горизонтальную черту по всей ширине
страницы. Это бывает полезно при использова-
нии плавающих блоков для отделения основного
текста от текста блока.
.lo Подгружает дополнительный набор макросов (из
/usr/lib/me/local.me), подразумевается, что
это макросы местного значения, множество
которых определяться в каждой конкретной сис-
теме по своему. Имена этих макросов должны
иметь вид: .*X, где X любая буква (большая
или маленькая) или цифра.
11. Стандартное оформление документов
.tp Начать титульный лист. Верхняя часть стра-
ницы остается свободной, печать колонтитулов
подавляется. Кроме того, не происходит уве-
личения номера страницы.
.th Установка режима печати документа в виде
тезисов. Печать ведется через два интервала,
номер страницы печатается на месте верхнего
колонтитула. Совместно с этим макросом
- 14 -
предполагается использование .++ и .+c. К
этому макросу следует обращаться перед первым
обращением к макросу начала параграфа или
макросу .sh.
.++ m H Определяет тип нижеследующей части форматиру-
емого документа. Под частью понимается пос-
ледовательность глав, приложений или вспомо-
гательных разделов. Каждая часть имеет опре-
деленный тип, от которого зависит способ
оформления относящихся к ней страниц. Тип
части определяется параметром m. C означает,
что далее будет следовать основная часть
документа, разбитая на главы, A означает, что
далее располагаются различные приложения, P
означает, что далее располагаются такие вспо-
могательные разделы документа, как введение,
содержание, и т.п., AB означает, что ниже
располагаются вспомогательные разделы с неза-
висимой нумерацией, начинающейся с 1, B озна-
чает, раздел библиографии, который необходимо
размещать в конце документа. Также возможно
использование вариантов RC и RA которые опре-
деляют часть документа, состоящую из последо-
вательности глав (или соответственно приложе-
ний) внутри каждой из которых ведется своя
нумерация страниц, начиная с 1. Параметр H
определяет текст заголовка, который будет
использоваться в качестве колонтитулов на
страницах, данной части документа. Если этот
текст содержит пробелы, то он должен быть
взят в кавычки. Если желательно, чтобы этот
заголовок содержал номер главы, следует
использовать строку вида \\\\\\\\n(ch. Нап-
ример для нумерации приложений в виде A.1 где
A это номер приложения, а 1 номер страницы,
можно использовать следующий запрос .++ RA
'''\\\\\\\\n(ch.%'. Каждому разделу (главе,
приложению, и т.д.) должен предшествовать
запрос .+c.
.+c T Начать главу с названием T. Номер главы хра-
нится в регистре \n(ch. Значение этого
регистра увеличивается всякий раз при вызове
.+c с параметром. Название и номер главы
печатаются макросом .$c. На первой странице
каждой главы текст верхнего колонтитула печа-
тается в позиции нижнего колонтитула. Если
параметр T опущен, .$c не вызывается; это
бывает полезно при оформлении "титульных лис-
тов", отличным от стандартного способом. .$c
вызывает .$C поэтому заголовки глав могут
автоматически попадать в содержание
- 15 -
документа. Нумерация сносок начинается с 1.
.$c T Печатает номер главы (из регистра \n(ch) и
текст T. Может быть переопределен по вашему
усмотрению. Этот макрос вызывает $C, который
может быть доопределен для формирования
индексных текстов или других подобных дейст-
вий.
.$C K N T Этот макрос вызывается из .$c. Обычно он
неопределен, но может быть использован для
создания индексированных текстов, содержащих
номер главы и ее название, и в других подоб-
ных целях. K ключевое слово, обычно это
"ГЛАВА" или "ПРИЛОЖЕНИЕ" (в зависимости от
параметра макроса .++); N номер главы или
приложения, и T название главы или приложе-
ния.
.ac A N Этот макрос (сокращение от .acm) устанавли-
вает параметры nroff, таким образом, что
текст подгатавливается в формате принятом в
журнале ACM. Размеры страниц в этом формате
на 25% больше стандартной, колонтитулы не
печатаются. Имя автора A печатается в верх-
ней части страницы (эта часть, в журнал не
попадает), вместе с номером страницы и общим
числом страниц N. Кроме того, это макрос
подгружает макросы из файла
/usr/lib/me/acm.me, в котором могут содер-
жатся другие макросы также предназначенные
для подготовки статей в стиле ACM.
12. Предопределенные строки
\** Номер сноски, на самом деле находится в [
\n($f]. Значение этой строки автоматически
увеличивается после каждого обращения к .)f.
\*# Номер задержанного текста. На самом деле
находится в [\n($d].
\*[ Верхний индекс. Текущая строка несколько
смещается вверх, и происходит переход к мень-
шему пункторазмеру символов, если оба эти
действия можно выполнить на конкретном уст-
ройстве, в противном случае просто печатается
символ (`['). Перед строкой, содержащей
верхний индекс, пропускается более широкий
интервал, чтобы текст индекса мог нормально
разместиться.
- 16 -
\*] Конец текста верхнего индекса. Действие
обратное \*[. Так например, чтобы получить
текст с верхним индексом, следует вставить в
текст строку следующего вида: x\*[2\*],
результатом форматирования которой будет:
x[2].
\*<< Нижний индекс. Печатается `<' если на уст-
ройстве невозможен сдвиг строки вниз. Если
сдвиг возможен, ширина интервала после теку-
щей строки выбирается такой, чтобы для ниж-
него индекса хватило места.
\*>> Конец текста нижнего индекса. Выполняет
действия противоположные \*<<.
\*(dw Название текущего дня недели.
\*(mo Название текущего месяца.
\*(td Сегодняшняя дата в следующем виде: 26 Сен-
тября 1988 г. запись даты в других видах
можно получить, используя \n(dy (номер дня
месяца; например, 26), \*(mo (как описанно
выше) or \n(mo (то же самое, но в виде поряд-
кового номера месяца; например, 26 Сентября
то же что и 26/9), и наконец \n(yr (последние
две цифры текущего года).
\*(lq Знак левого ударения (левой кавычки). В
nroff это просто двойная кавычка.
\*(rq Правое ударение (правая кавычка).
\*- Тире шириной 3/4 EM в troff; два минуса в
nroff.
- 17 -
СОДЕРЖАНИЕ
1. Разбиение текста на параграфы ..................... 2
2. Заголовки разделов ................................ 3
3. Верхний и нижний колонтитулы ...................... 5
4. Блоки ............................................. 7
5. Накопление текста для последующей выдачи .......... 8
6. Вывод по колонкам ................................. 10
7. Шрифты и размеры .................................. 10
8. Макросы в стиле программы roff .................... 12
9. Работа с препроцессорами .......................... 13
10. Другие возможности ................................ 14
11. Стандартное оформление документов ................. 14
12. Предопределенные строки ........................... 16
- 18 -