.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
.
На практике приходится иногда выходить за пределы возможностей 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
В ряде случаев требуется, чтобы troff
не интерпретировала символ, особенно обратную дробную черту или точку в начале строки. Два наиболее часто применяемых "отменяющих" символа — \e
и \&
. Последовательность \е
гарантированно печатается как обратная дробная черта, не интерпретируется и используется для получения такого символа в выходном потоке. С другой стороны, \&
не несет никакой смысловой нагрузки: это пробел нулевой ширины. Главное назначение этой комбинации — заставить troff
не интерпретировать точки в начале строк. Мы задействовали \е
и \&
здесь несколько раз. Например, фрагмент ms
в начале главы был напечатан как
Читать дальше
Конец ознакомительного отрывка
Купить книгу