Литмир - Электронная Библиотека
Содержание  
A
A

Текст таблицы следует за информацией для форматирования. Символы табуляции разделяют столбцы и некоторые команды troff, например .

sp
, которые уместны внутри таблиц. (Отметим пару вхождений
\&
: незащищенный передний символ
-
и знак
=
в столбцах указывают
tbl
на необходимость располагать строки таблицы в этой точке.)

Программа

tbl
строит более широкий набор таблиц, чем показано в примере: текст может помещаться в рамки, могут вертикально выравниваться заголовки столбцов и т.д. Самый легкий способ использовать
tbl
для создания сложных таблиц обратиться к справочному руководству по UNIX (том 2A) и применить перечисленные в нем команды.

Математические выражения

Второй препроцессор

eqn
превращает язык, описывающий математические выражения, в команды
troff
, чтобы эти выражения печатать. Препроцессор автоматически обрабатывает смены шрифта и формата и, кроме того, предоставляет имена для стандартных математических символов. Входной текст для
eqn
обычно находится между строками
.EQ
и
.EN
, аналогично командам
tbl .TS
и
.ТЕ
. Например,

.

EQ

x sub i

.EN

выдаёт xi. Если используется пакет

ms
, уравнение печатается как "отображение", а возможный аргумент
.EQ
определяет номер уравнения. Например, формула интеграла Коши

UNIX — универсальная среда программирования - img_8.png

записывается как

.EQ (9.1)

f( zeta ) ~=~ 1 over {2 pi i} int from С

f(z) over {z - zeta} dz

.EN

В основу языка

eqn
и положен способ чтения вслух математических формул. Единственное различие между "разговорной" математикой и входным текстом
eqn
состоит в том, что скобки
{ }
отменяют заданные по умолчанию правила предшествования языка, однако обычные скобки специального смысла не имеют. Пробелы тем не менее важны. Заметим, что первое вхождение
zeta
в примере, приведенном выше, окружено пробелами: ключевые слова, такие, как
zeta
и
over
, распознаются только тогда, когда они окружены пробелами или скобками, но ни те, ни другие в выходной текст не попадают. Чтобы обеспечить пробелы в выходном потоке, используйте символ
~
, как показано в примере (
~=~
). Для получения скобок используйте "
{
" и "
}
".

Существует несколько классов ключевых слов

eqn
. Греческие буквы записываются прописными и строчными:
lambda
и
LAMBDA
(λ и Λ). Другие математические символы имеют имена, такие как
sum
,
int
,
infty
,
grad
: Σ, ∫, ∞, ∇. Есть знаки позиции, например
sub
,
sup
,
from
,
to
,
and
,
over
:

Эта формула выводится так:

UNIX — универсальная среда программирования - img_9.png

sum from i=0 to infinity x sub i sup 2~→~1 over {2pi}

Существуют знаки операций типа

sqrt
, расширяющие скобки, фигурные скобки и т.д. Программа
eqn
, кроме того, позволяет создавать из объектов столбцы и матрицы. Предусмотрены команды для управления шрифтами и позициями, если те, которые установлены по умолчанию, не подходят.

Часто приходится помещать небольшие математические выражения, такие, как log10(x), в тело текста, а не в отображение. Ключевое слово

eqn
delim
определяет пару символов для выделения подобных выстроенных выражений. Символы, задаваемые в качестве левого и правого ограничителей, обычно одинаковы: часто применяется знак доллара
$
. Но поскольку
hoc
использует
$
для аргументов, в нашем примере мы употребили
@
. Символ
%
тоже удобен как ограничитель, но других символов избегайте: многие из них имеют специальные назначения в различных программах, поэтому вы можете спровоцировать непредсказуемое поведение
eqn
(именно так у нас и получилось с этим разделом).

Итак, после обозначения

.EQ

delim @ @

.EN

можно напечатать встроенное выражение

UNIX — универсальная среда программирования - img_10.png
в виде

@ sum from i == 0 to infinity x sub i @ can be printed.

Встроенные выражения используются для вывода формул в таблице (см. пример из документации по

hoc
):

.TS

center,box

css

lfCWn1.

\fВТаблица 3:\fР Встроенные константы

.sp.5

DEG  57.29577951308232087680 @180/pi@, градусы и радианы

E     2.71828182845904523536 @e@, основание натурального логарифма

GAMMA 0.57721566490153286060 @gamma@, константа Эйлера-Масчерони

PHI   1.61803398874989484820 @(sqrt5+1)/2@, золотое сечение

PI    3.14159265358979323846 @pi@, круговое трансцендентное число

.ТЕ

Из этой таблицы, кроме того, видно, как строки

tbl
помещают десятичные точки в числовых (
n
) столбцах. Результат показан ниже.

Таблица 3: Встроенные константы
DEG
57.29577951308232087680 180/π, градусы на радианы
E
2.71828182845904523536 е, основание натуральных логарифмов
GAMMA
0.57721566490153286060 γ, константа Эйлера-Масчерони
PHI
1.61803398874989484820 (√5 + 1)/2, золотое сечение
PI
3.14159265358979323846 π, круговое трансцендентное число
131
{"b":"248117","o":1}