Proizvodstvenno-vnedrencheskij kooperativ
"I N T E R F E J S"
Dialogovaya Edinaya Mobil'naya
Operacionnaya Sistema
Demos/P 2.1
Makropaket -me.
(Spravochnoe rukovodstvo)
Moskva
1988
|tot dokument soderzhit opisanie makropaketa -me dlya
programm formatirovaniya dokumentov nroff/troff. Predpolaga-
etsya, chto chitatel' znakom s etimi programmami, v chastnosti s
ponyatiyami razryva formata, shrifta, punktorazmera, s priemami
opredeleniya i ispol'zovaniya chislovyh registrov, strok i mak-
rosov, a takzhe s zadaniem masshtabiruyushchih mnozhitelej pri chis-
lovyh parametrah, pozvolyayushchih rabotat' v razlichnyh edinicah
izmereniya, takih kak punkty, edinicy EN (shirina bukvy 'n'),
vertikal'naya razryadka , i t.p.
Bolee dostupnoe opisanie metodiki ispol'zovaniya -me
soderzhitsya v dokumente "Podgotovka tekstov s pomoshch'yu prog-
rammy nroff i makropaketa -me."
V sisteme formatirovaniya dokumentov sushchestvuet nabor
makroparametrov, znacheniya kotoryh dolzhny byt' pravil'no
ustanovleny. Tak naprimer, nomeru shrifta dolzhen byt' pris-
voeno odno iz dopustimyh znachenij. V nroff'e shrift 8 zadaet
podcherkivanie teksta, a v troff'e ustanavlivaet zhirnyj shrift
(v to zhe vremya shrift 3 , yavlyayushchijsya zhirnym shriftom v
troff'e, ne vydelyaetsya podcherkivaniem v nroff'e). Ustanovka
shrifta 0 voobshche ne vyzyvaet izmeneniya shrifta, vmesto nego
ispol'zuetsya shrift ustanovlennyj v dannyj moment. Sleduet
pomnit', chto shrifty 0 i 8 yavlyayutsya "psevdo-shriftami"; to
est', ih ustanovka imitiruetsya s pomoshch'yu makrosov. |to
oznachaet, chto hotya prisvaivanie registru shrifta znachenij 0 i
8 yavlyaetsya korrektnoj operaciej, vypolnenie ustanovki shrif-
tov s etimi nomerami s pomoshch'yu pereklyuchayushchej posledovatel'-
nosti, podobnoj:
\f8
vyzovet oshibku.
Vse rasstoyaniya predpolagayutsya zadannymi v bazovyh edi-
nicah, poetomu masshtabiruyushchie mnozhiteli prihoditsya ukazyvat'
prakticheski vsegda. Naprimer, zapros na ustanovku abzacnogo
otstupa shirinoj 8 edinic EN imeet vid:
.nr pi 8n
a ne
.nr pi 8
chto privedet k ustanovke otstupa shirinoj 8 bazovyh edinic,
to est' shirinoj okolo 0.02 dyujma. Dalee vezde znacheniya
parametrov, prisvaivaemye po umolchaniyu budut privoditsya v
tekste v kvadratnyh skobkah.
Registry i stroki vida $x mozhno ispol'zovat' v vyrazhe-
niyah, no ih ne sleduet izmenyat'. Makrosy vida $x vypolnyayut
opredelenye funkcii (opisannye nizhe) i mogut byt'
- 1 -
pereopredeleny dlya izmeneniya etih funkcij. Pereopredelenie
mozhet povlech' za soboj nepredskazuemye effekty, poetomu
predvaritel'no stoit prosmotret' telo original'nogo makrosa.
Vse imena v -me podchineny zhestkomu soglasheniyu. Pol'zo-
vatel' mozhet opredelyat' chislovye registry, stroki i makrosy,
ispol'zuya dlya ih imenovaniya odnu zaglavnuyu latinskuyu bukvu
ili dvuhsimvol'nye imena, sostoyashchie iz bukv i cifr, prichem
odin iz dvuh simvolov obyazatel'no dolzhen byt' zaglavnoj buk-
voj latinskogo alfavita. V protivnom sluchae v imenah sle-
duet ispol'zovat' special'nye simvoly.
Flag -rx1 mozhet byt' ispol'zovan dlya ustanovki rezhima
pechati s intervalom shirinoj odna vos'maya dyujma, chto yavlyaetsya
standartom dlya pechatayushchih ustrojstv nekotoryh tipov. Odnako
etot interval obychno slishkom mal dlya horoshej razborchivosti
teksta, poetomu po umolchaniyu ustanavlivaetsya mezhstrochnyj
interval shirinoj 1/6 dyujma
Nizhe, v tekste dokumenta oboznacheniya parametrov nekoto-
ryh makrosov soderzhat znak +, naprimer: .sx +N. |to ozna-
chaet, chto dannyj parametr yavlyaetsya chislovym i mozhet byt'
ispol'zovan, kak so znakom (+ ili -) tak i bez nego. Ispol'-
zovanie bez znaka, sootvetstvuet prisvaivaniyu absolyutnogo
znacheniya, nekotoromu chislovomu registru, a so znakom, prira-
shcheniyu znacheniya etogo registra (sootvetstvenno polozhitel'nomu
ili otricatel'nomu).
1. Razbienie teksta na paragrafy
Makrosy etogo razdela, ispol'zuyutsya dlya razbieniya
teksta na paragrafy. Standartnym makrosom dlya zadaniya
paragrafa yavlyaetsya .pp; ostal'nye ispol'zuyutsya dlya zadaniya
paragrafov special'nyh vidov.
Pervyj vyzov lyubogo makrosa iz etogo razdela ili vyzov
makrosa .sh (sm. sleduyushchuyu glavu) inicializiruet makropro-
cessor. Posle inicializacii nel'zya ispol'zovat' ni odin iz
sleduyushchih zaprosov: .sc, .lo, .th, .ac. Krome togo posle
inicializacii, neopredelen effekt ot izmeneniya parametrov,
opredelyayushchih rezhim formatirovaniya stranicy (v osobennosti
dliny stranicy i granic verhnego i nizhnego kolontitulov),
poetomu podobnyh dejstvij sleduet izbegat'.
.lp Nachat' paragraf vyrovnennyj po levomu krayu.
Centrirovanie teksta na stranice i podcherki-
vanie vyklyuchayutsya esli eti rezhimy byli usta-
novleny, ustanavlivaetsya shrift \n(pf [1] raz-
mer simvolov ustanavlivaetsya ravnym \n(pp
[10p], pered paragrafom propuskaetsya interval
shirinoj \n(ps [0.35v v troff'e, 1v ili 0.5v v
nroff'e v zavisimosti ot razreshayushchej sposob-
nosti ustrojstva]. Ves' paragraf sdvigaetsya
- 2 -
ot levogo kraya na velichinu \n($i [0] plyus
\n(po [0] esli tol'ko pargraf ne razmeshchen
vnutri nekotorogo bloka. (smotri .ba). Po
krajnej mere dve pervye stroki paragrafa raz-
meshchayutsya vmeste na odnom stranice.
.pp Analogichen .lp, za isklyucheniem togo, chto
delaet abzacnyj otstup velichinoj \n(pi [5n].
|to standartnyj makros dlya zadaniya paragrafa.
.ip T I Smeshchennyj vpravo paragraf s podzagolovkom.
Tekst etogo paragrafa smeshchen ot levogo kraya
dopolnitel'no na I probelov (ili \n(ii [5n]
probelov esli I ne zadano), po sravneniyu s
nesmeshchennym paragrafom (takim kak naprimer
.pp). Osnovnoj tekst paragrafa vyrovnen po
svoemu levomu krayu, podzagolovok raspolaga-
etsya T, v levoj chasti pervoj stroki parag-
rafa. Esli podzagolovok T ne umeshchaetsya v
levoj chasti pervoj stroki paragrafa (s uchetom
ego dlinny i velichiny sdviga osnovnogo teksta
paragrafa) .ip, to on pechataetsya na otdel'noj
stroke pered pervoj strokoj teksta paragrafa.
Vse probely v podzagolovke T dolzhny byt'
nezapolnyaemymi.
.jp T I Variant .ip, otlichayushchijsya ot nego tem, chto
posle podzagolovka vstavlyaetsya znak -. Sme-
shchenie ot levogo kraya hranitsya v registre
\n(ji.
.np Variant .ip, kotoryj numeruet paragrafy.
Numeraciya nachinaetsya kazhdyj raz snachala posle
vyzova makrosov .lp, .pp, ili .sh. Tekushchij
nomer paragrafa hranitsya v \n($p.
2. Zagolovki razdelov
Numerovannye razdely podobny paragrafam za isklyucheniem
togo, chto nomer razdela avtomaticheski sozdaetsya dlya kazhdogo
iz nih. Nomera razdelov imeyut vid 1.2.3. Vlozhennost' raz-
dela opredelyaetsya kolichestvom chisel, razdelennyh desyatichnoj
tochkoj, v nomere razdela.
Nenumerovannye razdely pohozhi na numerovannye, za isk-
lyucheniem togo, chto ego zagolovok ne svyazyvaetsya ni s kakim
nomerom.
.sh +N T a b c d e f Nachat' numerovannyj raz-
del vlozhennosti N. Esli N otsutstvuet, pred-
polagaetsya tekushchaya vlozhennost', znachenie
kotoroj soderzhitsya v chislovom registre \n($0.
Znacheniya velichin, sostavlyayushchih nomer razdela
- 3 -
soderzhatsya v registrah s imenami, nachinaya s
\n($1 i konchaya \n($6. Pered nachalom razdela
propuskaetsya interval shirinoj \n(ss [1v]. T
pechataetsya v kachestve zagolovka razdela shrif-
tom \n(sf [8] s razmerom simvolov \n(sp
[10p]. K "Imeni" razdela mozhno poluchit' dos-
tup cherez strochnyj registr \*($n. Esli \n(si
ne ravno 0, bazovoe smeshchenie razdela ustanav-
livaetsya ravnym \n(si umnozhennym na vlozhen-
nost' razdela, zagolovok razdela pri etom
raspolagaetsya s pozicii, sootvetstvuyushchej
prezhdnemu bazovomu smeshcheniyu (Smotri .ba).
Zagolovok razdela mozhno sdvinut' vpravo ot
ustanovlennoj dlya nego granicy (nezavisimo ot
teksta). |ta velichina opredelyaetsya znacheniem
registra \n(so [0]. Posle pechati zagolovka
ustanavlivaetsya shrift \n(pf. Esli nepos-
redstvenno posle vyzova makrosa sh sleduet
tekst, to on budet raspolozhen za zagolovkom
razdela i v toj zhe samoj stroke. Ispol'zova-
nie makrosa .sh garantiruet, chto zagolovok
razdela i nachalo ego pervogo paragrafa, budut
razmeshcheny na odnoj stranice (vsego okolo 3
strok). Esli zadany parametry ot a do f, to
nomer razdela ustanavlivaetsya v sootvetstvii
s etimi znacheniyami, a ne avtomaticheskim uve-
licheniem odnogo iz razryadov nomera na 1.
Esli odno iz znachenij ot a do f otsutstvuet,
to sootvetstvuyushchij razryad nomera razdela ne
pereustanavlivaetsya. Esli zhe znachenie soot-
vetstvuyushchee odnomu iz etih parametrov ne
yavlyaetsya chislovym, to sootvetstvuyushchemu raz-
ryadu nomera razdela prisvaivaetsya znachenie 0.
Esli T predstavlyaet soboj simvol podcherkiva-
niya ("_"), to proishodit tol'ko izmenenie
urovnya vlozhennosti i nomera razdela, bazovoe
smeshchenie pri etom ostaetsya neizmennym i
nichego ne pechataetsya. |to byvaet polezno pri
privedenii v sootvetstvie nomerov razdelov
razlichnogo urovnya vlozhennosti.
.sx +N Perehod k urovnyu vlozhennosti N [-1], bez
pechati nomera razdela i zagolovka, i bez
izmeneniya nomera razdela na urovne N.
Rezul'tat vypolneniya takoj zhe, kak esli by
byl nachat novyj paragraf na urovne vlozhen-
nosti N.
.uh T Nenumerovannyj zagolovok razdela. Zagolovok
T pechataetsya v tochnosti po tem zhe pravilam
chto i v makrose .sh.
- 4 -
.$p T B N Pechataet zagolovok razdela. Mozhet byt' pere-
opredelen dlya pechati zagolovkov v ekzotiches-
kom vide. T Sobstvenno zagolovok razdela,
peredaetsya dannomu makrosu makrosami .sh i
.uh. B Nomer dannogo razdela, a N glubina
vlozhennosti dannogo razdela. CHast' paramet-
rov mozhet otsutstvovat', naprimer: .sh pere-
daet dannomu makrosu vse tri parametra; .uh
peredaet tol'ko odin pervyj; .sx peredaet
tri, no pervye dva iz nih yavlyayutsya pustymi
strokami. Sleduet proyavlyat' ostorozhnost' pri
pereopredelenii etogo makrosa, on dovol'no
slozhnyj i zaputannyj.
.$0 T B N |tot makros vyzyvaetsya avtomaticheski posle
kazhdogo obrashcheniya k .$p. On obychno neoprede-
len, no mozhet byt' ispol'zovan dlya avtomati-
cheskogo sbora zagolovkov razdelov i formiro-
vaniya soderzhaniya dokumenta. T zagolovok raz-
dela, kotoryj tol'ko chto byl napechatan; B
nomer razdela; i N uroven' vlozhennosti raz-
dela.
.$1 - .$6 Makrosy-lovushki, vyzyvayutsya vsyakij raz pered
pechat'yu razdelov sootvetstvuyushchego im urovnya
vlozhennosti. Mogut byt' pereopredeleny, nap-
rimer dlya togo, chtoby propustit' nuzhnoe chislo
strok pered ocherednym razdelom. |ti makrosy
vyzyvayutsya iz .$p, poetomu pri pereopredele-
nii poslednego vy mozhete poteryat' ukazannuyu
vozmozhnost'.
3. Verhnij i nizhnij kolontituly
Verhnij i nizhnij kolontituly avtomaticheski razmeshchayutsya
na kazhdoj stranice. Oni pechatayutsya shriftom \n(tf [3] punk-
torazmer simvolov \n(tp [10p]. Kazhdoe iz opredelenij kolon-
titulov nachinaet rabotat' so sleduyushchej stranicy. Trehele-
mentnye kolontituly dolzhny zaklyuchat'sya v kavychki esli oni
soderzhat gde-libo dva podryad idushchih probela ili v obshchej
slozhnosti bolee vos'mi probelov.
Raspolozhenie verhnego i nizhnego kolontitulov opredelya-
etsya chetyr'mya chislovymi registrami. \n(hm [4v] rasstoyanie
ot verha stranicy do verhnego kolontitula. \n(fm [3v] rass-
toyanie ot nizhnego kraya stranicy do nizhnego kolontitula,
\n(tm [7v] rasstoyanie ot verha stranicy do pervoj stroki
teksta na nej. I \n(bm [6v] rasstoyanie ot nizhnego kraya
stranicy do poslednej stroki, gde mozhet raspolagat'sya tekst.
.he 'l'm'r' Opredelyaet trehelementnyj kolontitul, kotoryj
budet pechatat'sya v verhnej chasti kazhdoj
- 5 -
stranicy.
.fo 'l'm'r' Opredelyaet nizhnij kolontitul, kotoryj budet
pechatat'sya v nizhnej chasti kazhdoj stranicy.
.eh 'l'm'r' Opredelyaet verhnij kolontitul, kotoryj budet
pechatat'sya na kazhdoj stranice s chetnym nome-
rom.
.oh 'l'm'r' Opredelyaet verhnij kolontitul, kotoryj budet
pechatat'sya na kazhdoj stranice s nechetnym
nomerom.
.ef 'l'm'r' Opredelyaet nizhnij kolontitul, kotoryj budet
pechatat'sya na kazhdoj stranice s chetnym nome-
rom.
.of 'l'm'r' Opredelyaet nizhnij kolontitul, kotoryj budet
pechatat'sya na kazhdoj stranice s nechetnym
nomerom.
.hx Zadaet otsutstvie pechati kolontitulov na sle-
duyushchej stranice.
.m1 +N Ustanovit' rasstoyanie mezhdu verhnej granicej
stranicy i verhnim kolontitulom. [4v].
.m2 +N Ustanovit' rasstoyanie mezhdu verhnim kolonti-
tulom i pervoj strokoj teksta. [2v].
.m3 +N Ustanovit' rasstoyanie mezhdu nizhnim kolontitu-
lom i poslednej strokoj, gde mozhet byt' ras-
polozhen tekst. [2v].
.m4 +N Ustanovit' rasstoyanie mezhdu nizhnej granicej
stranicy i nizhnim kolontitulom. [4v].
.ep Zakonchit' tekushchuyu stranicu, ne nachinaya sledu-
yushchuyu. Ispol'zuetsya dlya prinuditel'nogo
vytalkivaniya snosok, dlya drugih celej prakti-
cheski ne ispol'zuetsya. Za etim makrosom dol-
zhen sledovat' vyzov .bp ili konec vvoda.
.$h Vyzyvaetsya na kazhdoj stranice dlya pechati
verhnego kolontitula. Mozhet byt' pereoprede-
len dlya pechati kolontitulov bolee slozhnogo
vida (naprimer, mnogostrochnyh), no pri etom
perestayut rabotatX makrosy: .he, .fo, .eh,
.oh, .ef, i .of, a takzhe makros .+c pechatayu-
shchij zagolovki glav.
.$f Pechat' nizhnego kolontitula, spravedlivy te zhe
zamechaniya, chto i dlya .$h.
- 6 -
.$H Obychno eto makros ne opredelen, on vyzyvaetsya
pri pechati verhnej chasti stranicy (posle
vyvoda verhnego kolontitula) to est' nepos-
redstvenno pered nachalom vydachi teksta na
ocherednuyu stranicu. Mozhet byt' ispol'zovan
dlya razmeshcheniya na stranicy zagolovkov stolb-
cov v dvuhkolonochnom rezhime i drugih podobnyh
celej.
4. Bloki
Pered nachalom lyubogo bloka i posle ego konca (za isklyu-
cheniem centrirovannyh, plavayushchih blokov i blokov citat)
vstavlyaetsya interval shirinoj \n(bs [etot chislovoj registr
podoben \n(ps]. Razmery analogichnyh intervalov dlya blokov
citat i plavayushchih blokov hranyatsya v drugih registrah. Dlya
centrirovannyh blokov nikakie intervaly po umolchaniyu voobshche
ne vstavlyayutsya. Velichina vertikal'noj razryadki dlya vseh
blokov za isklyucheniem centrirovannyh blokov i blokov citat
hranitsya v registre \n($R, a ne v registre \n($r.
.(l m f Nachat' spisok. Spiski predstavlyayut soboj
tekst pechataemyj cherez odin interval, v
rezhime bez zapolneniya. Esli parametr f imeet
znachenie F, spisok budet pechatat'sya v rezhime
s zapolneniem. Esli parametr m [I] raven I
spisok sdvigaetsya vpravo na \n(bi [4n] probe-
lov; esli on raven M, to spisok pechataetsya po
levoj krayu stranicy; esli on raven L, to spi-
sok pechataetsya s tem zhe bazovym sdvigom, s
kotorym pechataetsya osnovnoj tekst. (otlichie
ot M proyavlyaetsya tol'ko v tom sluchae, esli
bazovoe smeshchenie, hranimoe v \n($i i ustanav-
livaemoe s pomoshch'yu .ba, ne ravno 0); esli zhe
ukazannyj parametr raven C, to kazhdaya stroka
spiska centriruetsya po otdel'nosti. Spisok
pechataetsya shriftom \n(df [0]. Spisok obyaza-
tel'no dolzhen zakryvat'sya makrosom .)l. Blok
tipa spisok ochen' pohozh na blok tipa .(b za
isklyucheniem togo, chto ne proizvoditsya popytka
razmestit' ego ves' celikom na odnoj stra-
nice.
.)l Konec spiska.
.(q Nachat' citatu. |to blok pechataetsya cherez
odin interval, s zapolneniem i szhat s obeih
storon po sravneniyu s osnovnym tekstom na
velichinu \n(qi [4n]. Pered nachalom bloka i
posle nego propuskaetsya interval shirinoj
\n(qs [podoben registru \n(bs], tekst bloka
pechataetsya simvolami razmerom \n(qp [na odin
"punkt" men'she okruzhayushchego teksta].
- 7 -
.)q Konec bloka citat.
.(b m f Otkryt' prostoj blok. Prostoj blok predstav-
lyayut soboj tekst, kotoryj po vozmozhnosti raz-
meshchaetsya celikom na odnoj stranice (podobnye
bloki neobhodimy dlya pechati tablic i risun-
kov, kotorye ne sleduet razryvat', esli po
tekstu oni popadayut na konec stranicy). Esli
blok ne umeshchaetsya na tekushchej stranice, to
otkroetsya novaya stranica, esli tol'ko pri
etom ne potrebuetsya propustit' bolee \n(bt
[0] pustyh strok. Esli \n(bt ravno nulyu, to
proverka na chislo propuskaemyh pustyh strok
ne vypolnyaetsya. Pechataetsya bez zapolneniya,
esli tol'ko parametr f ne raven F, chto vklyu-
chaet rezhim zapolneniya. Blok budet pechatat'sya
s otstupom ravnym bazovomu sdvigu okruzhayushchego
blok teksta, esli m raven L, ili budet sdvi-
nut vpravo ot teksta na \n(bi [4n], esli m
ravno I ili otsutstvuet, ili budet centriro-
van (kazhdaya stroka otdel'no), esli m ravno C,
ili zhe budet sdvinut k levomu krayu stranicy,
esli m ravno M. Blok pechataetsya shriftom
\n(df [0].
.)b Konec prostogo bloka.
.(z m f Otkryt' plavayushchij blok. |tot makros podoben
.(b za isklyucheniem togo, chto ego tekst vsegda
pomeshchaetsya v konce tekushchej stranicy ili v
nachale sleduyushchej. Takim obrazom, mestopolo-
zhenie etogo bloka chuvstvitel'no k vnosimym v
tekst izmeneniyam. Pered nachalom plavayushchego
bloka i posle ego zaversheniya vstavlyaetsya
interval shirinoj \n(zs [1v]. Krome togo,
znachenie parametra m po umolchaniyu predpolaga-
etsya ravnym M.
.)z Konec plavayushchego bloka.
.(c Nachat' centrirovannyj blok. Posleduyushchij
tekst centriruetsya, kak odno celoe, a ne kazh-
daya ego stroka v otdel'nosti, kak pri ispol'-
zovanii .(b C. |tot blok mozhet byt' vlozhen
vnutr' drugih blokov.
.)c Konec centrirovannogo bloka.
5. Nakoplenie teksta dlya posleduyushchej vydachi
.(d Otkryt' blok zaderzhannogo teksta. |tot tekst
ne pechataetsya v tom meste dokumenta, gde on
neposredstvennno raspolozhen, a sohranyaetsya s
- 8 -
pomoshch'yu mehanizma otvedenij. Ego mozhno ras-
pechatat' vposledstvii, ispol'zuya makros .pd,
v vide pohozhem na stranichnye snoski.
.)d Konec zaderzhannogo teksta. CHislovoj registr
zaderzhannogo teksta \n($d i sootvetstvuyushchij
emu strochnyj registr \*# uvelichivayutsya na 1
pri obrashchenii k \*# mezhdu dvumya blokami
zaderzhannogo teksta.
.pd Pechat' zaderzhannogo teksta. Ves' tekst
nakoplennyj s pomoshch'yu komand .(di .)d forma-
tiruetsya i pechataetsya. |tot makros mozhet
ispol'zovat'sya v konce kazhdoj glavy.
.(f n Otkryt' tekst stranichnoj snoski. Tekst stra-
nichnoj snoski peremeshchaetsya vniz tekushchej stra-
nicy i pechataetsya shriftom \n(ff [1] s razme-
rom simvolov \n(fp [8p]. Kazhdoj snoske pred-
shestvuet interval shirinoj \n(fs [0.2v].
Snoska pechataetsya so sdvigom \n(fi [3n] ot
levogo kraya stranicy, i so sdvigom \n(fu [0]
ot pravogo kraya. Esli v kachestve parametra
zadan simvol podcherkivaniya, to snoska pechata-
etsya bez sdviga ot levogo kraya stranicy.
Stranichnye snoski vsegda pechatayutsya v odnko-
lonochnom rezhime. Esli tekst snoski polnost'yu
ne umeshchaetsya na tekushchej stranice, to on pro-
dolzhaetsya na sleduyushchej.
.)f Konec stranichnoj snoski. CHislovoj registr
\n($f i sootvetstvuyushchij emu strochnyj registr
\** uvelichivayutsya na 1 esli k nim imeetsya
obrashchenie. Esli zhelatel'no, chtoby na kazhdoj
stranice byla svoya vnutrennyaya numeraciya sno-
sok, nachinayushchayasya s 1, sleduet opredelit'
makros .$H tak, chtoby on soderzhal sleduyushchuyu
posledovatel'nost' komand:
.nr $f 1 1
.ds \\*[1\\*]\k*
.$s Makros pechatayushchij liniyu-razdelitel' dlya stra-
nichnyh snosok. Mozhet byt' pereopredelen dlya
zadaniya drugoj dlinny etoj linii ili dlya
pechati razdelitelya inogo vida. Makros v ego
tekushchem sostoyanii pechataet liniyu dlinnoj 1.5
dyujma.
.(x x Otkryt' indeksirovannyj tekst. Indeksirovan-
nyj tekst zapisyvaetsya i hranitsya v indekse x
[x] do teh por poka ne budet napechatan s
- 9 -
pomoshch'yu makrosa .xp. Kazhdomu indeksirovan-
nomu tekstu predshestvuet interval shirinoj
\n(xs [0.2v]. Kazhdyj indeksirovannyj tekst
"sdvinut vlevo" ot pravoj granicy stranicy na
\n(xu [0.5i]; etot registr soderzhit razmer
polya, vydelyaemogo ot pravogo kraya stranicy
dlya pechati parametrov makrosa (v chastnosti
nomera stranicy).
.)x P A Zakonchit indeksirovannyj tekst. Indeksiro-
vannyj tekst zakanchivaetsya liniej iz tochek so
strokoj A [pustaya stroka] prizhatoj k pravomu
krayu stranicy (naprimer imya avtora stat'i), i
strokoj P pered nej [\n%]. Esli prisutstvuet
parametr A, dolzhen prisutstvovat' i parametr
P. \n% mozhno ispol'zovat' dlya pechati teku-
shchego nomera stranicy. Esli P simvol podcher-
kivaniya, to ni liniya iz tochek, ni nomer stra-
nicy ne pechatayutsya.
.xp x Napechatat' indeksirovannyj tekst x [x].
Indeksirovannyj tekst formatiruetsya s uchetom
parametrov (shrift, razmer simvolov i t.d.)
ustanovlennyh v tom meste, gde on pechataetsya,
a ne teh, kotorye byli ustanovleny vo vremya
nakopleniya teksta.
6. Vyvod po kolonkam
.2c +S N Perehod v dvuhkolonochnyj rezhim. Rasstoyanie
mezhdu kolonkami ustanavlivaetsya ravnym +S
[4n, 0.5i dlya pechati v stile ACM] (eto znache-
nie hranitsya v \n($s) SHirina kolonki vychis-
lennaya ishodya iz shiriny stranicy i rasstoyaniya
mezhdu kolonkami, hranitsya v \n($l. Nomer
tekushchej kolonki zapisan v \n($c. CHtoby
uznat' vo skol'ko kolonok budet pechatat'sya
tekst sleduet posmotret' soderzhimoe registra
\n($m [1]. V obshchem sluchae dannyj makros
ustanavlivaet vyvod v N [2] kolonok.
.1c Vozvrashchenie v odnokolonochnyj rezhim.
.bc Nachat' kolonku. |tot makros podoben .bp za
isklyucheniem togo, chto novaya kolonka nachina-
etsya na novoj stranice tol'ko pri neobhodi-
mosti, kogda na tekushchej stranice uzhe ne osta-
los' svobodnyh stolbcov.
7. SHrifty i razmery
.sz +P Puknktorazmer simvolov ustanavlivaetsya ravnym
P [10p], proporcional'no emu ustanavlivaetsya
- 10 -
i mezhstrochnyj interval. Otnoshenie velichiny
intervala k punktorazmeru hranitsya v registre
\n($r. Analogichnoe otnoshenie ispol'zuemoe
vnutri blokov i snosok hranitsya v registre
\n($R (ono ne ispol'zuetsya pri obrashcheniii k
makrosu .sz).
.r W X Pechataet tekst W obychnym shriftom, i nepos-
redstvenno za nim tekst X ranee ustanovlennym
shriftom. Dlya zadaniya bolee slozhnogo upravle-
niya shriftami mozhno ispol'zovat' v kachestve X
upravlyayushchuyu posledovatel'nost' \c. Esli
parametry otsutstvuyut, to obychnyj shrift usta-
navlivaetsya tekushchim.
.i W X Pechataet tekst W kursivom, i neposredstvenno
za nim tekst X ranee ustanovlennym shriftom.
Esli parametry otsutstvuyut, to kursiv usta-
navlivaetsya tekushchim shriftom. V nroff tekst
vydelyaetsya podcherkivaniem.
.b W X Pechataet tekst W zhirnym shriftom, i nepos-
redstvenno za nim tekst X ranee ustanovlennym
shriftom. Esli parametry otsutstvuyut, to zhir-
nyj shrift ustanavlivaetsya tekushchim. V nroff
tekst vydelyaetsya podcherkivaniem.
.rb W X Pechataet tekst W zhirnym shriftom, i nepos-
redstvenno za nim tekst X ranee ustanovlennym
shriftom. Esli parametry otsutstvuyut, to zhir-
nyj shrift ustanavlivaetsya tekushchim. .rb otli-
chaetsya ot .b tem, chto .rb ne vydelyaetsya pod-
cherkivaniem v nroff.
.u W X Pechataet s podcherkivaniem tekst W i dobavlyaet
za nim X. |to istinnoe podcherkivanie, v
otlichie ot zaprosa .ul, kotoryj proizvodit
perehod k "podcherknutomu shriftu" (v troff eto
obychno kursiv). |tot makros ne budet rabo-
tat' pravil'no esli tekst W slishkom dlinnyj
ili razryvaetsya kakim-libo obrazom (vklyuchaya
perenos s ispol'zovaniem defisa). Drugimi
slovami, ispol'zovanie etogo shrifta kor-
rektno, tol'ko pri rabote v rezhime bez zapol-
neniya strok.
.q W X Vzyat' v kavychki tekst W i dobavit' za nim X.
V nroff etot makros zaklyuchaet tekst W v dvoj-
nye kavychki (`"'), a v troff v parnye otkry-
vayushchie i zakryvayushchie kavychki.
.bi W X Pechataet tekst W zhirnym kursivom, i nepos-
redstvenno za nim tekst X. |tot effekt
- 11 -
dostigaetsya pechat'yu W obychnym kursivom s
dvojnoj probivkoj kazhdogo simvola. V nroff
prostoe podcherkivanie. |tot makros ne budet
rabotat' pravil'no esli tekst W slishkom dlin-
nyj ili razryvaetsya kakim-libo obrazom (vklyu-
chaya perenos s ispol'zovaniem defisa). Dru-
gimi slovami, ispol'zovanie etogo shrifta kor-
rektno, tol'ko pri rabote v rezhime bez zapol-
neniya strok.
.bx W X Pechataet tekst W zaklyuchennym v ramku i dobav-
lyaet k nemu tekst X. V nroff prostoe podcher-
kivanie. |tot makros ne budet rabotat' pra-
vil'no esli tekst W slishkom dlinnyj ili raz-
ryvaetsya kakim-libo obrazom (vklyuchaya perenos
s ispol'zovaniem defisa). Drugimi slovami,
ispol'zovanie etogo shrifta korrektno, tol'ko
pri rabote v rezhime bez zapolneniya strok.
8. Makrosy v stile programmy roff
.ix +N Smeshchenie teksta vpravo bez razryva formata.
|kvivalent 'in N.
.bl N Ostavlyaet nezapolnennymi N pustyh strok, esli
na tekushchej stranice dlya nih ne hvataet mesta,
to etot zhe interval propuskaetsya na sleduyushchej
stranice. |kvivalentno .sp N vnutri bloka.
.pa +N |kvivalentno .bp.
.ro Ustanovka pechati nomerov stranic rimskimi
ciframi. |kvivalentno .af % i.
.ar Ustanovka pechati nomerov stranic arabskimi
ciframi. |kvivalentno .af % 1.
.n1 Nachat' numerovat' stroki, nachinaya s edinicy,
na kazhdoj stranice.
.n2 N Nachat' numerovat' stroki, nachinaya s N. Prek-
ratit' numeraciyu strok esli N = 0.
.sk Ostavit' sleduyushchuyu stranicu pustoj, pechataya
tol'ko kolontituly. Ispol'zuetsya dlya rezer-
virovaniya stranicy i posleduyushchego ruchnogo
razmeshcheniya na nej razlichnyh risunkov i diag-
ram, poluchaemyh vneshnim po otnosheniyu k sis-
teme formatirovaniya obrazom. Dlya rezerviro-
vaniya chasti stranicy v analogichnyh celyah
ispol'zujte .sv N, gde N razmer rezerviruemoj
oblasti. Sootvetstvuyushchee chislo strok propus-
kaetsya neposredstvenno na tekushchej stranice,
- 12 -
esli na nej ostalos' dostatochno mesta, ili
esli mesta ne tekushchej stranice ne hvataet,
rezervirovanie proizvoditsya v nachale sleduyu-
shchej stranicy. Odnako, sleduet pomnit', chto
esli N prevyshaet kolichestvo strok razmeshchaemyh
na stranice, rezervirovanie mesta ne budet
proizvoditsya voobshche.
9. Rabota s preprocessorami
.EQ m T Nachalo uravneniya. Uravnenie centriruetsya
esli m ravno C ili otsutstvuet, sdvigaetsya
vpravo na \n(bi [4n] esli m ravno I, ili ras-
polagaetsya s levogo kraya stranicy esli m
ravno L. T zagolovok, pechataemyj v pravoj
chasti stranicy srazu zhe posle samogo uravne-
niya.
.EN c Konec uravneniya. Esli c ravno C, to predpo-
lagaetsya, chto za dannym uravneniem nepos-
redstvenno sleduet drugoe, nachinayushcheesya s
ocherednogo .EQ, tekst kotorogo centriruetsya
vmeste s tekstom dannogo uravneniya. V pro-
tivnom sluchae, pered uravneniem i posle nego
vstavlyayutsya intervaly shirinoj \n(es [0.5v in
troff, 1v in nroff], tekst uravneneniya raspo-
lagaetsya vsegda celikom na odnoj stranice.
.TS h Nachalo tablicy. Tablicy pechatayutsya cherez
odin interval i esli eto vozmozhno razmeshchayutsya
na odnoj stranice. Esli neobhodimo napecha-
tat' tablicu, kotoraya ne umeshchaetsya na odnoj
stranice, ispol'zujte h = H s posleduyushchim
opisaniem zagolovka tablicy (kotoryj pechata-
etsya na kazhdoj stranice, gde raspolagaetsya
tablica) s pomoshch'yu .TH. Smotri dokument
Preprocessor dlya podgotovki tablic tbl.
.TH Pri ispol'zovanii .TS H, zakanchivaet opisanie
zagolovka tablicy.
.TE Konec tablicy. Sleduet pomnit', chto tablica
sama po sebe raspolagaetsya v tom meste
teksta, gde ona byla opredelena, i ne obla-
daet svojstvami analogichnymi plavayushchemu
bloku. Krome togo esli v tekste tablicy
vstrechayutsya zaprosy tipa .sp, to ee razmeshche-
nie na odnoj stranice ne garantiruetsya. Esli
zhelatel'no, chtoby tablica peremeshchalals' po
tekstu (ili esli vnutri teksta tablicy ime-
yutsya zaprosy), to sleduet vsyu tablicu (vklyu-
chaya stroki s zaprosami .TS i .TE) pomestit'
- 13 -
vnutr' skobok plavayushchego bloka: .(z i .)z.
10. Drugie vozmozhnosti
.re Ustanovka standartnogo shaga tabulyacii. Usta-
navlivaetsya ravnym 0.5i v troff i 0.8i v
nroff.
.ba +N Ustanovka bazovogo smeshcheniya ravnym +N [0]
(hranitsya v registre \n($i). Vse paragrafy,
razdely i bloki raspolozhennye nizhe budut
pechatat'sya sdvinutymi na etu velichinu. Na
format verhnego i nizhnego kolontitulov etot
makros dejstviya ne okazyvaet. Makros .sh
obrashchaetsya k .ba esli \n(si [0] soderzhit ne 0
i ustanavlivaet bazovoe smeshchenie ravnym
\n(si*\n($0.
.xl +N Dlinna stroki ustanavlivaetsya ravnoj N
[6.0i]. Otlichaetsya ot .ll tem, chto vliyaet
tol'ko na tekushchee okruzhenie.
.ll +N Ustanavlivaet dlinu stroki ravnoj N [6.0i] v
kazhdom okruzhenii. |tot makros ne sleduet
ispol'zovat' posle nachala vyvoda teksta, v
osobennosti eto kasaetsya dvuhkolonochnogo
vyvoda. Tekushchaya dlina stroki hranitsya v
\n($l.
.hl Provodit gorizontal'nuyu chertu po vsej shirine
stranicy. |to byvaet polezno pri ispol'zova-
nii plavayushchih blokov dlya otdeleniya osnovnogo
teksta ot teksta bloka.
.lo Podgruzhaet dopolnitel'nyj nabor makrosov (iz
/usr/lib/me/local.me), podrazumevaetsya, chto
eto makrosy mestnogo znacheniya, mnozhestvo
kotoryh opredelyat'sya v kazhdoj konkretnoj sis-
teme po svoemu. Imena etih makrosov dolzhny
imet' vid: .*X, gde X lyubaya bukva (bol'shaya
ili malen'kaya) ili cifra.
11. Standartnoe oformlenie dokumentov
.tp Nachat' titul'nyj list. Verhnyaya chast' stra-
nicy ostaetsya svobodnoj, pechat' kolontitulov
podavlyaetsya. Krome togo, ne proishodit uve-
licheniya nomera stranicy.
.th Ustanovka rezhima pechati dokumenta v vide
tezisov. Pechat' vedetsya cherez dva intervala,
nomer stranicy pechataetsya na meste verhnego
kolontitula. Sovmestno s etim makrosom
- 14 -
predpolagaetsya ispol'zovanie .++ i .+c. K
etomu makrosu sleduet obrashchat'sya pered pervym
obrashcheniem k makrosu nachala paragrafa ili
makrosu .sh.
.++ m H Opredelyaet tip nizhesleduyushchej chasti formatiru-
emogo dokumenta. Pod chast'yu ponimaetsya pos-
ledovatel'nost' glav, prilozhenij ili vspomo-
gatel'nyh razdelov. Kazhdaya chast' imeet opre-
delennyj tip, ot kotorogo zavisit sposob
oformleniya otnosyashchihsya k nej stranic. Tip
chasti opredelyaetsya parametrom m. C oznachaet,
chto dalee budet sledovat' osnovnaya chast'
dokumenta, razbitaya na glavy, A oznachaet, chto
dalee raspolagayutsya razlichnye prilozheniya, P
oznachaet, chto dalee raspolagayutsya takie vspo-
mogatel'nye razdely dokumenta, kak vvedenie,
soderzhanie, i t.p., AB oznachaet, chto nizhe
raspolagayutsya vspomogatel'nye razdely s neza-
visimoj numeraciej, nachinayushchejsya s 1, B ozna-
chaet, razdel bibliografii, kotoryj neobhodimo
razmeshchat' v konce dokumenta. Takzhe vozmozhno
ispol'zovanie variantov RC i RA kotorye opre-
delyayut chast' dokumenta, sostoyashchuyu iz posledo-
vatel'nosti glav (ili sootvetstvenno prilozhe-
nij) vnutri kazhdoj iz kotoryh vedetsya svoya
numeraciya stranic, nachinaya s 1. Parametr H
opredelyaet tekst zagolovka, kotoryj budet
ispol'zovat'sya v kachestve kolontitulov na
stranicah, dannoj chasti dokumenta. Esli etot
tekst soderzhit probely, to on dolzhen byt'
vzyat v kavychki. Esli zhelatel'no, chtoby etot
zagolovok soderzhal nomer glavy, sleduet
ispol'zovat' stroku vida \\\\\\\\n(ch. Nap-
rimer dlya numeracii prilozhenij v vide A.1 gde
A eto nomer prilozheniya, a 1 nomer stranicy,
mozhno ispol'zovat' sleduyushchij zapros .++ RA
'''\\\\\\\\n(ch.%'. Kazhdomu razdelu (glave,
prilozheniyu, i t.d.) dolzhen predshestvovat'
zapros .+c.
.+c T Nachat' glavu s nazvaniem T. Nomer glavy hra-
nitsya v registre \n(ch. Znachenie etogo
registra uvelichivaetsya vsyakij raz pri vyzove
.+c s parametrom. Nazvanie i nomer glavy
pechatayutsya makrosom .$c. Na pervoj stranice
kazhdoj glavy tekst verhnego kolontitula pecha-
taetsya v pozicii nizhnego kolontitula. Esli
parametr T opushchen, .$c ne vyzyvaetsya; eto
byvaet polezno pri oformlenii "titul'nyh lis-
tov", otlichnym ot standartnogo sposobom. .$c
vyzyvaet .$C poetomu zagolovki glav mogut
avtomaticheski popadat' v soderzhanie
- 15 -
dokumenta. Numeraciya snosok nachinaetsya s 1.
.$c T Pechataet nomer glavy (iz registra \n(ch) i
tekst T. Mozhet byt' pereopredelen po vashemu
usmotreniyu. |tot makros vyzyvaet $C, kotoryj
mozhet byt' doopredelen dlya formirovaniya
indeksnyh tekstov ili drugih podobnyh dejst-
vij.
.$C K N T |tot makros vyzyvaetsya iz .$c. Obychno on
neopredelen, no mozhet byt' ispol'zovan dlya
sozdaniya indeksirovannyh tekstov, soderzhashchih
nomer glavy i ee nazvanie, i v drugih podob-
nyh celyah. K klyuchevoe slovo, obychno eto
"GLAVA" ili "PRILOZHENIE" (v zavisimosti ot
parametra makrosa .++); N nomer glavy ili
prilozheniya, i T nazvanie glavy ili prilozhe-
niya.
.ac A N |tot makros (sokrashchenie ot .acm) ustanavli-
vaet parametry nroff, takim obrazom, chto
tekst podgatavlivaetsya v formate prinyatom v
zhurnale ACM. Razmery stranic v etom formate
na 25% bol'she standartnoj, kolontituly ne
pechatayutsya. Imya avtora A pechataetsya v verh-
nej chasti stranicy (eta chast', v zhurnal ne
popadaet), vmeste s nomerom stranicy i obshchim
chislom stranic N. Krome togo, eto makros
podgruzhaet makrosy iz fajla
/usr/lib/me/acm.me, v kotorom mogut soder-
zhatsya drugie makrosy takzhe prednaznachennye
dlya podgotovki statej v stile ACM.
12. Predopredelennye stroki
\** Nomer snoski, na samom dele nahoditsya v [
\n($f]. Znachenie etoj stroki avtomaticheski
uvelichivaetsya posle kazhdogo obrashcheniya k .)f.
\*# Nomer zaderzhannogo teksta. Na samom dele
nahoditsya v [\n($d].
\*[ Verhnij indeks. Tekushchaya stroka neskol'ko
smeshchaetsya vverh, i proishodit perehod k men'-
shemu punktorazmeru simvolov, esli oba eti
dejstviya mozhno vypolnit' na konkretnom ust-
rojstve, v protivnom sluchae prosto pechataetsya
simvol (`['). Pered strokoj, soderzhashchej
verhnij indeks, propuskaetsya bolee shirokij
interval, chtoby tekst indeksa mog normal'no
razmestit'sya.
- 16 -
\*] Konec teksta verhnego indeksa. Dejstvie
obratnoe \*[. Tak naprimer, chtoby poluchit'
tekst s verhnim indeksom, sleduet vstavit' v
tekst stroku sleduyushchego vida: x\*[2\*],
rezul'tatom formatirovaniya kotoroj budet:
x[2].
\*<< Nizhnij indeks. Pechataetsya `<' esli na ust-
rojstve nevozmozhen sdvig stroki vniz. Esli
sdvig vozmozhen, shirina intervala posle teku-
shchej stroki vybiraetsya takoj, chtoby dlya nizh-
nego indeksa hvatilo mesta.
\*>> Konec teksta nizhnego indeksa. Vypolnyaet
dejstviya protivopolozhnye \*<<.
\*(dw Nazvanie tekushchego dnya nedeli.
\*(mo Nazvanie tekushchego mesyaca.
\*(td Segodnyashnyaya data v sleduyushchem vide: 26 Sen-
tyabrya 1988 g. zapis' daty v drugih vidah
mozhno poluchit', ispol'zuya \n(dy (nomer dnya
mesyaca; naprimer, 26), \*(mo (kak opisanno
vyshe) or \n(mo (to zhe samoe, no v vide poryad-
kovogo nomera mesyaca; naprimer, 26 Sentyabrya
to zhe chto i 26/9), i nakonec \n(yr (poslednie
dve cifry tekushchego goda).
\*(lq Znak levogo udareniya (levoj kavychki). V
nroff eto prosto dvojnaya kavychka.
\*(rq Pravoe udarenie (pravaya kavychka).
\*- Tire shirinoj 3/4 EM v troff; dva minusa v
nroff.
- 17 -
SODERZHANIE
1. Razbienie teksta na paragrafy ..................... 2
2. Zagolovki razdelov ................................ 3
3. Verhnij i nizhnij kolontituly ...................... 5
4. Bloki ............................................. 7
5. Nakoplenie teksta dlya posleduyushchej vydachi .......... 8
6. Vyvod po kolonkam ................................. 10
7. SHrifty i razmery .................................. 10
8. Makrosy v stile programmy roff .................... 12
9. Rabota s preprocessorami .......................... 13
10. Drugie vozmozhnosti ................................ 14
11. Standartnoe oformlenie dokumentov ................. 14
12. Predopredelennye stroki ........................... 16
- 18 -
Last-modified: Mon, 29 Jun 1998 14:14:25 GMT