Sistema podgotovki dokumentacii (formater teksta) PIF
5
APK.00322-01 33 01-15
1. VYZOV PIF
Obshchaya forma dlya vyzova pif imeet sleduyushchij format:
pif [parametry] [fajly]
gde [parametry] oznachaet lyuboe chislo vozmozhnyh parametrov,
a [fajly] opredelyaet spisok fajlov, soderzhashchih formatiru-
emyj dokument. Esli imena fajlov ne zadany ili ukazan pa-
rametr, sostoyashchij iz odnogo znaka minus (``-''), to chtenie
proizvoditsya iz standartnogo fajla vvoda. Nizhe privodyatsya
parametry, kotorye mogut byt' zadany v lyubom poryadke pered
spiskom fajlov:
-ospisok - Pechatat' tol'ko te stranicy, nomera kotoryh
prisutstvuyut v "spiske", soderzhashchem nomera i
intervaly nomerov, razdelennye zapyatymi. Inter-
val nomerov imeet vid N-M i oznachaet: stranicy
s N po M; esli v kachestve pervogo parametra
ukazano -N, to eto oznachaet: pechatat' s pervoj
po N-yu stranicu, a, esli poslednij parametr N-,
to eto oznachaet: pechatat' s N-j stranicy i do
konca;
-nN - Prisvoit' nomer N pervoj sformirovannoj strani-
ce;
-sN - Delat' ostanovki cherez kazhdye N stranic. CHerez
kazhdye N stranic (po umolchaniyu N=1) pif budet
ostanavlivat' rabotu dlya togo, chtoby dat' voz-
6
APK.00322-01 33 01-15
mozhnost' zapravit' ili zamenit' bumagu, i vo-
zobnovit ee pri poluchenii simvola novoj stroki;
-mimya - Prisoedinyaet vhodnye fajly k fajlu makro
/usr/lib/tmac.mimya;
-raN - V registr a (imya iz odnogo simvola) pomeshchaetsya
N (celoe chislo).
-i - posle togo, kak vhodnye fajly prochitany, chitat'
dannye so standartnogo ustrojstva vvoda;
-q - vyzvat' rezhim odnovremennogo vvoda/vyvoda pri
komande rd;
-Timya - Zadaet imya tipa ustrojstva vyvoda;
-c - Vyvodit vyrovnennye stroki slov s odinakovymi
intervalami mezhdu slovami, ispol'zuya polnuyu
razreshayushchuyu sposobnost' terminala.
7
APK.00322-01 33 01-15
2. OBSHCHIE SVEDENIYA
2.1. Struktura vhodnyh dannyh
Vhodnaya informaciya sostoit iz strok teksta, prednaz-
nachennogo dlya vydachi na pechat', sredi kotoryh soderzhatsya
stroki komand, upravlyayushchie posleduyushchej obrabotkoj teksta.
Komandnye stroki nachinayutsya s upravlyayushchego simvola (po
umolchaniyu tochki ``.'' ili apostrofa `` ' ''), za kotorym
sleduet imya iz odnogo ili dvuh simvolov, opredelyayushchee os-
novnuyu komandu ili makrokomandu pol'zovatelya. Upravlyayushchij
simvol `` ' '' (apostrof) blokiruet funkciyu preryvaniya
(vynuzhdennoe preryvanie zapolneniya chastichno zapolnennoj
stroki), proishodyashchego pri vypolnenii nekotoryh komand.
Upravlyayushchij simvol mozhno otdelyat' ot imeni komandy (makro-
komandy) pustym promezhutkom s pomoshch'yu probelov ili simvo-
lov tabulyacii. Za imenami dolzhny sledovat' libo simvol
``novaya stroka'' libo probel, za kotorym sleduyut paramet-
ry. Komandnye stroki s neraspoznannymi imenami ignoriruyut-
sya.
Ispol'zuya znak pereklyucheniya koda, obychno ``\'', mozhno
vstavit' razlichnye special'nye funkcii v lyuboe mesto is-
hodnogo teksta. Naprimer, funkciya \nr vyzyvaet podstanovku
soderzhimogo chislovogo registra r na mesto funkcii, zdes' r
imya registra, sostoyashchee libo iz odnogo simvola, naprimer
8
APK.00322-01 33 01-15
\nx, libo, sostoyashchee iz dvuh simvolov s levoj krugloj
skobkoj pered nim, naprimer \n(hh.
2.2. Razreshayushchaya sposobnost' ustrojstv i sistemy
Razreshayushchaya sposobnost' sistemy pif sostavlyaet 240
edinic/dyujm (94,5 edinic/sm), chto sootvetstvuet naimen'she-
mu obshchemu mnozhitelyu razreshayushchih sposobnostej razlichnyh pe-
chatayushchih ustrojstv. Sistema pif proizvodit okruglenie vvo-
dimyh chislovyh parametrov (gde eto trebuetsya po smyslu) do
velichiny fakticheskoj razreshayushchej sposobnosti konkretnogo
ustrojstva.
2.3. Vvod chislovyh parametrov
Sistema pif mozhet vosprinimat' chislovye parametry,
ukazannye v razlichnyh edinicah izmereniya. V dannom doku-
mente chashche ispol'zuetsya dyujmovaya shkala, potomu chto bol'-
shinstvo pechatayushchih ustrojstv imeet razreshayushchuyu sposobnost'
kratnuyu dyujmu ili dolyam dyujma. No esli dyujmovaya shkala ne
ustraivaet, mozhno pol'zovat'sya metricheskoj, ukazyvaya pri
etom sootvetstvuyushchie edinicy izmereniya soglasno tabl. 1, v
kotoroj V - velichina tekushchej razryadki po vertikali v bazo-
vyh edinicah, a C - shirina simvolov v bazovyh edinicah.
9
APK.00322-01 33 01-15
Tablica 1
---------------------------------------------------
| ukazatel'| znachenie | chislo bazovyh |
| shkaly | | edinic |
|----------|----------------------|----------------
| i | Dyujm | 240 |
| c | Santimetr | 240*50/127 |
| P | Pika=1/6 dyujma | 240/6 |
| n | En=C bazovyh edinic | C |
| p | Punkt=1/72 dyujma | 240/72 |
| u | Bazovaya edinica | 1 |
| v | Vertikal'naya razryad- | V |
| | ka | |
| nichego | Po umolchaniyu | |
---------------------------------------------------
Edinica En - eto, fakticheski, shirina pechataemyh zna-
kov, no v sisteme pif vstrechayutsya "sverhshirokie" simvol'-
nye konstrukcii vida ``->'' , ``<-'' ili ``3/4'', otobra-
zhaemye pri pechati neskol'kimi simvolami. Po umolchaniyu,
masshtab beretsya v edinicah En dlya gorizontal'no-
orientirovannyh komand ll, in, ti, ta, lt, mc i funkcij \h
i \l; v edinicah vertikal'noj razryadki (v) dlya
vertikal'no-orientirovannyh komand pl, wh, ch, dt, sp, sv,
ne, rt i funkcij \v, \x i \L; v punktah (p) dlya komandy vs
i v bazovyh edinicah (u) dlya komand nr, if i ie. Pri vseh
drugih komandah ukazanie masshtabnyh koefficientov ignori-
ruetsya. Sleduet zametit', chto pri opredelenii chislovogo
10
APK.00322-01 33 01-15
registra s kakim-libo masshtabnym koefficientom znachenie
etogo registra perevoditsya v bazovye edinicy, i, esli etot
registr ispol'zuetsya v komandah, trebuyushchih chislennyh argu-
mentov, mozhet potrebovat'sya ukazanie masshtabnogo koeffici-
enta ``u'' vo izbezhanie dopolnitel'nogo oshibochnogo masshta-
birovaniya po umolchaniyu. Dopustim, registr byl opredelen
komandoj
.nr AA 40n
togda, esli ukazat'
.ll \n(AA
to dlina stroki budet vzyata iz registra AA (gde ona hra-
nitsya v bazovyh edinicah) i umnozhena na koefficient ``En''
(po umolchaniyu). CHtoby izbezhat' oshibki nuzhno ukazat' sledu-
yushchim obrazom
.ll \n(AAu
CHislo N mozhet ukazyvat'sya v forme desyatichnoj drobi,
no pri zapominanii ono okruglyaetsya do celogo chisla bazovyh
edinic.
Dlya polucheniya rasstoyaniya ot tekushchego mesta do verti-
kal'noj ili gorizontal'noj pozicii N mozhno ispol'zovat'
indikator absolyutnogo polozheniya ``|'', kotoryj ukazyvaetsya
pered chislom. Dlya vertikal'no-orientirovannyh komand i
funkcij |N stanovitsya rasstoyaniem ot tekushchego mesta do
vertikal'noj pozicii N, a dlya vseh ostal'nyh komand i
funkcij |N stanovitsya rasstoyaniem ot tekushchej gorizontal'-
noj pozicii na stroke vyvoda do gorizontal'noj pozicii N.
Naprimer, v rezul'tate vypolneniya komandy
11
APK.00322-01 33 01-15
.sp |3.2c
poluchitsya sdvig na poziciyu, raspolozhennuyu na 3,2 santimet-
ra ot verhnego kraya stranicy.
2.4. CHislennye vyrazheniya
Vezde, gde predpolagaetsya vvod chislovyh dannyh, mozhno
ispol'zovat' vyrazheniya, soderzhashchie skobki, arifmeticheskie
operatory +, -, /, *, % i logicheskie operatory <, >, <=,
>=, =/ ili ==/, &/ i /, :/ ili /. Vychislenie vyrazhenij vy-
polnyaetsya sleva napravo za isklyucheniem vyrazhenij, gde po-
ryadok vypolneniya operacij zavisit ot nalichiya skobok. Dlya
nekotoryh komand pervyj simvol + ili - otdelyaetsya i in-
terpretiruetsya sootvetstvenno kak indikator uvelicheniya ili
umen'sheniya.
2.5. Sistema oboznachenij
CHislovye parametry zapisyvayutsya dvumya sposobami.
Zapis' _N oznachaet, chto argument mozhet imet' vid N, +N, -N
i, chto sootvetstvuyushchee dejstvie sostoit v zadanii nuzhnomu
parametru znacheniya N, uvelichenii ego na N ili umen'shenii
na N, sootvetstvenno. Prostaya zapis' N oznachaet, chto na-
chal'nyj algebraicheskij znak ne yavlyaetsya indikatorom prira-
shcheniya, a prosto znakom N. Obychno nepriemlemye chislovye
vhodnye dannye libo ignoriruyutsya, libo usekayutsya do priem-
lemyh znachenij. Naprimer, bol'shinstvo komand predpolagayut
zadanie parametram neotricatel'nyh znachenij; k isklyucheniyam
12
APK.00322-01 33 01-15
otnosyatsya komandy sp, wh, sn, nr i if. Komandy ft, vs, ls,
ll, in i lt pri otsutstvii argumenta vosstanavlivayut pre-
dydushchee znachenie parametra.
Argumenty, soderzhashchie odin simvol, oboznachayutsya v
vide odnoj strochnoj bukvy, a argumenty iz odnogo ili dvuh
simvolov oboznachayutsya v vide dvuh strochnyh bukv. Argumen-
ty, predstavlyayushchie soboj cepochku simvolov, oboznachayut us-
lovnymi sokrashcheniyami iz neskol'kih simvolov.
Pri opisanii komand v kolonke primechanij ispol'zuyutsya
sleduyushchie oboznacheniya:
B - Komanda obychno vyzyvaet preryvanie;
D - Rezhim ili sootvetstvuyushchie parametry otnosyatsya k
tekushchemu urovnyu otvedeniya v makro;
E - Sootvetstvuyushchie parametry yavlyayutsya chast'yu sovo-
kupnosti parametrov, opredelyayushchih tekushchee okru-
zhenie;
O - Dolzhen dejstvovat' do logicheskogo vyvoda;
P - Rezhim dolzhen prodolzhat' dejstvovat' ili byt'
snova podklyuchen vo vremya fizicheskogo vyvoda.
v,p,n,u - Masshtabnyj ukazatel' po umolchaniyu. Esli on ne
zadan, to masshtabnye ukazateli ignoriruyutsya.
13
APK.00322-01 33 01-15
3. UPRAVLENIE STRANICAMI
Polya v verhnej i nizhnej chasti stranicy (verhnij i
nizhnij tituly) avtomaticheski ne formiruyutsya. Dlya etogo ne-
obhodimo opredelit' dve makrokomandy i ustanavit' dlya nih
"lovushki" v vertikal'nyh poziciyah (Sm. podrazd. 7.5). |to:
0 (verhnij kraj stranicy) i -N (N ot nizhnego kraya).
Perehod ot pervoj psevdostranicy k pervoj stranice
osushchestvlyaetsya libo, kogda proishodit pervyj obryv zapol-
neniya, libo, kogda proishodit obrabotka pervogo ne otve-
dennogo v makro teksta (Sm. podrazd. 7.4).
Ustanovka preryvanij, kotorye budut proishodit' pri
dostizhenii "lovushki" v verhnem pole pervoj stranicy,
dolzhna byt' zakonchena do etogo perehoda.
Dlya upravleniya stranicej pol'zuyutsya sleduyushchimi koman-
dami:
pl - ustanovit' dlinu stranicy. Forma vyzova komandy
pl - .pl _N, nachal'noe znachenie - 66, net argu-
mentov -66, primechanie - V. Dlina stranicy usta-
navlivaetsya ravnoj _N. Tekushchaya dlina stranicy
hranitsya v registre .r;
bp - nachat' novuyu stranicu. Forma vyzova komandy bp -
.bp _N, nachal'noe znachenie - 1, net argumentov -
net, primechanie - B, V. Tekushchaya stranica vyvo-
14
APK.00322-01 33 01-15
ditsya i nachinaetsya novaya stranica. Esli _N zada-
no, to nomerom novoj stranicy budet _N;
pn - prisvoit' nomer sleduyushchej stranice. Forma vyzova
komandy pn - .pn _N, nachal'noe znachenie - 1, net
argumentov - ignoriruetsya. Sleduyushchaya stranica,
esli ona poyavitsya, budet imet' nomer _N. CHtoby
mozhno bylo prisvoit' nomer pervoj stranice, ko-
manda pn dolzhna vstretit'sya do nachal'nogo pere-
hoda ot psevdo-stranicy k stranice. Nomer teku-
shchej stranicy nahoditsya v registre %;
ne - trebuetsya mesto po vertikali. Forma vyzova ko-
mandy ne - .ne _N, nachal'noe znachenie - net, net
argumentov - 1v, primechanie - D, V. Esli rassto-
yanie D do sleduyushchej pozicii "lovushki" men'she N,
to budet propushcheno rasstoyanie D, a zatem pro-
izojdet preryvanie. Esli na ostavshejsya chasti
stranicy net "lovushek", to D - rasstoyanie do
nizhnego kraya stranicy. Esli D<V, to vyvod eshche
odnoj stroki vse zhe vozmozhen i vyzovet preryva-
nie. Dlya "otvedeniya" D - eto rasstoyanie do "lo-
vushki" otvedennogo teksta, esli ona voobshche ime-
etsya, libo ochen' bol'shoe chislo, esli "lovushki"
net;
mk - zapomnit' vertikal'nuyu poziciyu. Forma vyzova ko-
mandy mk - .mk R, nachal'noe znachenie - net, net
argumentov - vnutrennij, primechanie - D. Zasyla-
15
APK.00322-01 33 01-15
et mesto tekushchej vertikal'noj pozicii vo vnut-
rennij registr ili, esli ukazan R, to v registr
R;
rt - vernut'sya k vertikal'noj pozicii. Forma vyzova
komandy rt - .rt _N, nachal'noe znachenie -net,
net argumentov - vnutrennij, primechanie - D, V.
Osushchestvlyaet vozvrat tol'ko vverh k pomechennoj
vertikal'noj pozicii v tekushchem otvedennom
tekste. Esli parametr _N, otnosyashchijsya k tekushchej
pozicii, zadan, to eta poziciya nahoditsya na
rasstoyanii _N ot verhnego kraya stranicy ili ot-
vedennogo teksta. Esli N otsutstvuet, proishodit
vozvrat k mestu, otmechennomu predydushchej komandoj
mk. Sleduet imet' v vidu, chto vmesto komandy .rt
v lyubyh sluchayah mozhet byt' ispol'zovana komanda
.sp (sm. razd.5) zadaniem promezhutka do absolyut-
nogo mesta, uchtennogo v registre, yavno ukazannom
v komande .mk, to est' pri pomoshchi posledovatel'-
nosti
.mk R
......
......
.sp |\n(Ru
16
APK.00322-01 33 01-15
4. FORMIROVANIE, VYRAVNIVANIE I
CENTRIROVANIE TEKSTA
4.1. Formirovanie i vyravnivanie
Obychno slova nabirayutsya iz strok vhodnogo teksta i
sobirayutsya v stroku vyhodnogo teksta do teh por, poka dlya
kakogo-to slova ne budet hvatat' mesta. Togda delaetsya po-
pytka perenesti slovo dlya togo, chtoby pomestit' v vyhodnoj
stroke ego chast'. Zatem mezhslovnye intervaly v vyhodnoj
stroke uvelichivayutsya dlya togo, chtoby "rastyanut'" stroku do
tekushchej dliny stroki bez ucheta tekushchego otstupa. Slovom
yavlyaetsya lyubaya cepochka simvolov, otdelennaya simvolami pro-
bela ili priznakom nachala/konca vhodnoj stroki. Lyubye
smezhnye dva slova, kotorye dolzhny hranit'sya vmeste (t.e.
ne dolzhny perenosit'sya na druguyu vyhodnuyu stroku i ne ot-
dalyat'sya drug ot druga v processe vyravnivaniya), mogut
byt' soedineny vmeste s pomoshch'yu razdeleniya ih simvolom ne-
zapolnyaemogo probela ``\'' (obratnaya kosaya cherta i pro-
bel). V pif mezhslovnye promezhutki ne odinakovy iz-za ma-
len'koj razreshayushchej sposobnosti ustrojstv po shirine simvo-
lov. Odnako ispol'zovanie parametra -e komandnoj stroki
daet vozmozhnost' poluchit' postoyannyj interval s polnoj
razreshayushchej sposobnost'yu ustrojstva vyvoda. Formirovaniem,
vyravnivaniem i perenosom slov na druguyu stroku mozhno up-
ravlyat' ili voobshche otmenit' ih. Dlina teksta poslednej vy-
hodnoj stroki hranitsya v registre .n, a poziciya linii
17
APK.00322-01 33 01-15
shrifta (osnovaniya stroki) teksta na stranice hranitsya v
registre nl. Mesto bazisnoj linii poslednej stroki teksta
na tekushchej stranice (samoj nizhnej pozicii) nahoditsya v re-
gistre .h.
Neskol'ko probelov mezhdu slovami, obnaruzhennye v is-
hodnom tekste, sohranyayutsya za isklyucheniem koncevyh probe-
lov. Nachal'nye probely (v nachale vhodnoj stroki) vyzyvayut
preryvanie zapolneniya vyhodnoj stroki. CHtoby vyzvat' pre-
ryvanie zapolneniya posle opredelennogo slova i poluchit'
vyhodnuyu stroku, rastyanutuyu do tekushchej dliny stroki, pri
zapolnenii stroki mozhno vstavit' v slovo ili prisoedinit'
k nemu posledovatel'nost' \r.
Stroka ishodnogo teksta, kotoraya nachinaetsya s uprav-
lyayushchego simvola, ne budet rassmatrivat'sya kak upravlyayushchaya
stroka, esli pered nej ukazat' nepechataemyj priznak zapol-
neniya \&.
4.2. Preryvanie teksta
Dve stroki ishodnogo teksta v rezhime "nezapolneniya"
mozhno "skleit'" v rezul'tiruyushchem tekste, zakonchiv pervuyu
stroku posledovatel'nost'yu \s. Analogichnym obrazom, slova
vnutri "zapolnyaemogo" teksta mozhno "skleit'", esli slovo
(ili stroku) takzhe zakonchit' posledovatel'nost'yu \s. Pos-
leduyushchij tekst budet vosprinyat kak prodolzhenie teksta,
okanchivayushchegosya etim slovom. Esli v tekste (mezhdu \c i
posleduyushchim slovom (ili strokoj)) vstretilis' upravlyayushchie
18
APK.00322-01 33 01-15
stroki, vyzyvayushchie preryvanie zapolneniya, to "skleivaniya"
ne proizojdet, i nakoplennye stroki budut vydany v vyhod-
noj tekst. Dlya formirovaniya i vyravnivaniya strok ispol'zu-
yutsya sleduyushchie komandy:
br - prekratit' zapolnenie stroki. Forma vyzova ko-
mandy br - .br, nachal'noe znachenie - net, net
argumentov - net, primechanie - B. Zapolnenie
formiruemoj v dannyj moment stroki prekrashchaetsya
i stroka vyvoditsya bez vyravnivaniya. Stroki
teksta, nachinayushchiesya s probelov, i pustye stroki
teksta takzhe vyzyvayut preryvanie;
fi - vklyuchit' rezhim zapolneniya. Forma vyzova komandy
fi - .fi, nachal'noe znachenie - vklyuchit', net ar-
gumentov - net, primechanie - B, E. Posleduyushchie
stroki budut obrabatyvat'sya avtomaticheski s vy-
ravnivaniem. Registr .u soderzhit 1 esli rezhim
zapolneniya vklyuchen i 0 esli vyklyuchen;
nf - vyklyuchit' rezhim zapolneniya. Forma vyzova komandy
nf - .nf, nachal'noe znachenie - vklyuchit', net ar-
gumentov - net, primechanie - B, E. Posleduyushchie
stroki ishodnogo teksta ne budut obrabatyvat'sya
i kopiruyutsya neposredstvenno v stroki vyhodnogo
teksta bez ucheta tekushchego znacheniya dliny stroki;
ad - ustanovit' tip vyravnivaniya. Forma vyzova koman-
dy ad - .ad c, nachal'noe znachenie - oba, net ar-
gumentov - vyravnivanie, primechanie - E. Vklyu-
19
APK.00322-01 33 01-15
chit' vyravnivanie strok. Esli rezhim zapolneniya
teksta vyklyuchen, to vyravnivanie budet otlozheno
do teh por, poka on opyat' ne budet vklyuchen. Esli
prisutstvuet ukazatel' tipa s, to tip vyravniva-
niya izmenyaetsya v sootvetstvii s tabl. 2.
Tablica 2
----------------------------------------
| ukazatel' | tip vyravnivaniya |
|-------------|------------------------|
| l | tol'ko po levomu krayu |
| r | tol'ko po pravomu krayu |
| s | po centru |
| b ili n | po oboim krayam |
| otsutstvuet | ne izmenyaetsya |
----------------------------------------
na - otklyuchit' vyravnivanie strok. Forma vyzova ko-
mandy na - .na, nachal'noe znachenie - net, net
argumentov - net, primechanie - E. Otmenit' rezhim
s vyravnivaniem. Pri zapolnenii stroki vyravni-
vanie ne delaetsya. Tip vyravnivaniya dlya komandy
ad ne menyaetsya. Esli rezhim zapolneniya vklyuchen,
to zapolnenie vyhodnoj stroki vse zhe proishodit;
ce - otcentrovat' sleduyushchie N vhodnyh strok. Forma
vyzova komandy ce - .ce N, nachal'noe znachenie -
net, net argumetov - 1, primechanie - E. Raspolo-
zhit' po centru sleduyushchie N strok ishodnogo
teksta v predelah tekushchego razmera teksta (dlina
20
APK.00322-01 33 01-15
stroki minus otstup). Esli N=0 schetchik ostavshih-
sya dlya centrirovaniya strok obnulyaetsya (vyklyucha-
etsya rezhim centrirovaniya). Esli vhodnaya stroka
yavlyaetsya slishkom dlinnoj, ona budet vyrovnena
sleva.
21
APK.00322-01 33 01-15
5. VERTIKALXNYE RAZMERY
5.1. Interval mezhdu strokami
Interval po vertikali (V) mezhdu osnovaniyami vseh pos-
leduyushchih strok vyhodnogo teksta mozhno zadat' s pomoshch'yu ko-
mandy vs, pri etom maksimal'naya razreshayushchaya sposobnost'
opredelyaetsya tipom ustrojstva vyvoda. Ispol'zuemaya v
dannyj moment velichina mezhstrochnogo intervala V hranitsya v
registre .v. Vozmozhno takzhe poluchenie uvelichennogo (napri-
mer, udvoennogo) mezhstrochnogo intervala putem ispol'zova-
niya komandy ls.
5.2. Dopolnitel'noe mezhstrochnoe rasstoyanie
Imeetsya vozmozhnost' zadat' dopolnitel'noe vremennoe
(na odnu vyhodnuyu stroku) mezhstrochnoe rasstoyanie. Dlya eto-
go ispol'zuyut funkciyu \x'N', kotoraya vstraivaetsya v neob-
hodimoe slovo ili pristraivaetsya k nemu. V dannoj funkcii,
kak i v drugih funkciyah, parametr kotoroj zaklyuchen mezhdu
simvolami-ogranichitelyami (zdes' simvol '), mogut ispol'zo-
vat'sya proizvol'nye ogranichiteli.
Esli N otricatel'no, to budet vertikal'nyj progon na
velichinu N pered strokoj. Esli N polozhitel'no, to verti-
kal'nyj progon na velichinu N budet posle stroki. Esli ne-
skol'ko sleduyushchih drug za drugom ukazatelej dopolnitel'no-
go mezhstrochnogo rasstoyaniya otnosyatsya k odnoj i toj zhe vy-
22
APK.00322-01 33 01-15
hodnoj stroke, to budet ispol'zovana maksimal'naya velichi-
na. Velichina ispol'zovannogo v poslednij raz dopolnitel'-
nogo mezhstrochnogo rasstoyaniya hranitsya v registre .a.
5.3. Bloki vertikal'nyh promezhutkov
Blok pustyh strok obychno formiruetsya s pomoshch'yu koman-
dy sp, pri etom dejstvuet rezhim "bez progonov", esli on
vklyuchen. Esli vnutri trebuemogo vertikal'nogo prostranstva
imeetsya "lovushka", to prostranstvo posle nee ne formiruet-
sya. Sploshnoj blok pustyh strok mozhno sohranit', ispol'zuya
komandu sv. Dlya opredeleniya vertikal'nyh razmerov ispol'-
zuyutsya sleduyushchie komandy:
vs - ustanovit' interval mezhdu strokami.
Forma vyzova komandy vs - .vs N, nachal'-
noe znachenie - 1/6i., net argumentov -
predydushchee, primechanie - E, R. Ustano-
vit' interval mezhdu strokami V (ot linii
shrifta odnoj stroki do linii shrifta dru-
goj). Vremennyj dopolnitel'nyj interval
po vertikali ustanavlivaetsya s pomoshch'yu
funkcii \h'n';
ls - ustanovit' mezhstrochnoe rasstoyanie. Forma
vyzova komandy ls - .ls _N, nachal'noe
znachenie - N=1, net argumentov - predy-
dushchee, primechanie - E. Mezhstrochnoe
rasstoyanie (ot niza odnoj stroki do niza
23
APK.00322-01 33 01-15
drugoj) ustanavlivaetsya v _N. N-1 dopol-
nitel'nyh intervalov dlinoj V (pustyh
strok) dobavlyaetsya k kazhdoj stroke vy-
hodnogo teksta. Dopolnitel'nye pustye
stroki ne dobavlyayutsya, esli tekst ili
ranee dobavlennaya pustaya stroka dostiga-
et pozicii "lovushki";
sp - progon po vertikali na velichinu N v
lyubom napravlenii. Forma vyzova komandy
sp - .sp N, nachal'noe znachenie - net,
net argumentov - N=1V, primechanie - B,V.
Esli N otricatel'no, proishodit dvizhenie
nazad (vverh) i ogranichivaetsya rassto-
yaniem do verha stranicy. Dvizhenie vpered
(vniz) ogranichivaetsya rasstoyaniem do
blizhajshej "lovushki". Esli dejstvuet
rezhim "bez progonov", nikakih promezhut-
kov ne poyavitsya;
sv - sohranit' vertikal'nyj promezhutok. Forma
vyzova komandy sv - .sv N, nachal'noe
znachenie - net, net argumenov - N=1V,
primechanie - V. Sohranit' blok pustyh
strok razmera N. Esli rasstoyanie do sle-
duyushchej "lovushki" bol'she N, osushchestvlyaet-
sya progon na velichinu N v vyhodnom
tekste. Rezhim "bez progonov" na etu ko-
mandu ne dejstvuet. Esli rasstoyanie do
24
APK.00322-01 33 01-15
sleduyushchej "lovushki" men'she N, to progon
ne osushchestvlyaetsya srazu, no N zapomina-
etsya dlya posleduyushchego ispol'zovaniya (ko-
mandoj os). Pri posleduyushchih komandah sv
zapominaemaya ranee velichina N budet ob-
novlyat'sya;
os - vvesti sohranennyj vertikal'nyj promezhu-
tok. Forma vyzova komandy os - .os, na-
chal'noe znachenie - net, net argumentov -
net, primechanie - net. Osushchestvit' pro-
gon, velichina kotorogo byla ustanovlena
po komande .sv. Rezhim "bez progonov" na
etu komandu ne dejstvuet. Obychno ispol'-
zuetsya dlya vyvoda v nuzhnom meste pustogo
mesta, zaproshennogo v predshestvuyushchej ko-
mande sv;
ns - vklyuchit' rezhim "bez progonov". Forma vy-
zova komandy ns - .ns, nachal'noe znache-
nie - vyklyuchit', net argumentov - net,
primechanie - D. Pri etom ignoriruyutsya
komandy sp i bp, bez nomera sleduyushchej
stranicy. Rezhim "bez progonov" otmenyaet-
sya pri poyavlenii stroki vyvoda ili po
komande rs;
rs - vyklyuchit' rezhim "bez progonov". Forma
vyzova komandy rs - .rs, nachal'noe zna-
25
APK.00322-01 33 01-15
chenie - vyklyuchit', net argumentov - net,
primechanie - D. Razreshit' progony. Rezhim
"bez progonov" vyklyuchaetsya;
pustaya stroka - to zhe samoe, chto i .sp 1. Forma vyzova
komandy "pustaya stroka" - pustaya stroka,
nachal'noe znachenie - net, net argumentov
- net, primechanie - B. Vyzyvaet preryva-
nie zapolneniya i vyvodit pustuyu stroku
tak zhe, kak i komanda .sp 1.
26
APK.00322-01 33 01-15
6. DLINA STROK I OTSTUPY
Maksimal'naya dlina stroki pri vklyuchennom rezhime za-
polneniya mozhet byt' ustanovlena s pomoshch'yu komandy ll.
Velichina otstupa mozhet byt' ustanovlena ispol'zovaniem ko-
mandy in; otstup, dejstvuyushchij tol'ko na sleduyushchuyu stroku
vyhodnogo teksta, mozhno ustanovit' komandoj ti. Dlina
stroki vklyuchaet abzacnyj otstup. Dlina stroki za vychetom
otstupa yavlyaetsya bazovoj velichinoj pri centrirovanii
teksta po komande .se. Pri nalichii chastichno sobrannoj
stroki dejstvie komand ll, in ili ti (v sluchae vyzova ih s
upravlyayushchim simvolom, ne vyzyvayushchim obryva) zaderzhivaetsya
do teh por, poka eta stroka ne budet vyvedena. V rezhime
zapolneniya dlina teksta v vyhodnoj stroke men'she ili ravna
dline stroki minus otstup. Tekushchie znacheniya dliny stroki i
otstupa hranyatsya sootvetstvenno v registrah .l i .i. Dlina
zagolovkov, sostoyashchih iz treh chastej, poluchaemyh pri is-
pol'zovanii komandy tl, ustanavlivaetsya nezavisimo s po-
moshch'yu komandy lt.
Ispol'zutsya sleduyushchie komandy ustanovki dliny stroki
i formirovaniya otstupa:
ll - ustanovit' dlinu stroki. Forma vyzova komandy ll
- .ll _N, nachal'noe znachenie - 65n, net argumen-
tov - predydushchee, primechanie - E,n. Dlina stroki
ustanavlivaetsya ravnoj _N;
27
APK.00322-01 33 01-15
in - ustanovit' postoyannyj otstup. Forma vyzova ko-
mandy in - .in _N, nachal'noe znachenie - N=0, net
argumentov - predydushchee, primechanie - B,E,n.
Otstup ustanavlivaetsya ravnym _N. Otstup pred-
shestvuet kazhdoj vyhodnoj stroke do teh por, poka
ne budet izmenen;
ti - ustanovit' vremennyj otstup. Forma vyzova koman-
dy ti - .ti _N, nachal'noe znachenie - net, net
argumentov - ignoriruetsya, primechanie - B,E,n.
Ustanavlivaetsya vremennyj otstup. Sleduyushchaya
stroka vyhodnogo teksta budet imet' otstup _N po
otnosheniyu k tekushchemu otstupu. Poluchayushchijsya sum-
marnyj otstup ne mozhet byt' otricatel'nym. Teku-
shchij otstup ne izmenyaetsya.
28
APK.00322-01 33 01-15
7. MAKROKOMANDY, CEPOCHKI, OTVEDENIYA I
"LOVUSHKI"
7.1. Makrokomandy i cepochki
Makrokomanda (makro) - eto imeyushchaya opredelennoe imya
posledovatel'nost' proizvol'nyh strok, kotoruyu mozhno
vyzvat' po imeni ili s pomoshch'yu mehanizma zahvata ("lovush-
ki"). Cepochka - eto imeyushchaya opredelennoe imya posledova-
tel'nost' simvolov, ne vklyuchayushchaya simvol novoj stroki, ko-
toruyu s pomoshch'yu imeni mozhno vstavit' v lyuboe mesto teksta.
Imena komand, makro i cepochek hranyatsya v odnom spiske
imen. Imena makro i cepochek mogut soderzhat' odin ili dva
simvola i mogut sovpadat' s imenami komand, makro ili ce-
pochek, opredelennyh ranee (v etom sluchae prezhnij variant
ob'ekta s etim imenem ignoriruetsya). Imena makro ili cepo-
chek ne mogut soderzhat' russkie bukvy. Lyuboj iz etih ob'ek-
tov mozhet byt' pereimenovan s pomoshch'yu komandy .rn ili
isklyuchen s pomoshch'yu komandy .rm. Makro sozdayutsya po koman-
dam de i di, a dlya vneseniya k nim dobavlenij ispol'zuyutsya
komandy am i da. V rezul'tate komand di i da normal'nyj
vyhodnoj tekst dolzhen byt' zapisan v makrokomandu. Cepochki
sozdayutsya po komande ds a dlya dobavleniya k nim ispol'zuet-
sya komanda as. Makro vyzyvaetsya takim zhe obrazom, kak i
komanda; upravlyayushchaya stroka, nachinayushchayasya s .hh budet
vstavlyat' v tekst soderzhimoe makro hh. Posleduyushchaya chast'
upravlyayushchej stroki mozhet soderzhat' do devyati argumentov.
29
APK.00322-01 33 01-15
Cepochki h i hh vstavlyayutsya v lyuboe nuzhnoe mesto teksta
posredstvom funkcij \*h i \*(hh sootvetstvenno. Ssylki na
cepochki i vyzovy makro mogut byt' vlozhennymi.
7.2. Interpretaciya vvoda v rezhime kopirovaniya
V processe opredeleniya i rasshireniya cepochek i makro
(no ne v sluchae otvedeniya) ishodnyj tekst schityvaetsya v
rezhime kopirovaniya. Vhodnoj tekst kopiruetsya bez interpre-
tacii za isklyucheniem sleduyushchih sluchaev, kogda:
- soderzhimoe chislovyh registrov vstavlyaetsya s pomoshch'yu
funkcii \n;
- vstavlyayutsya cepochki, ukazannye funkciej \*;
- vstavlyayutsya argumenty, ukazannye funkciej \$;
- isklyuchayutsya skrytye simvoly novoj stroki, ukazannye
funkciej \(simvol novoj stroki);
- isklyuchayutsya kommentarii, ukazannye funkciej \";
- posledovatel'nosti \t i \a sootvetstvenno interpretiru-
yutsya kak ASCII simvoly HT (gorizontal'naya tabulyaciya) i
SOH (nachalo zagolovka);
- \\ interpretiruetsya kak \;
- \. interpretiruetsya kak ".".
30
APK.00322-01 33 01-15
|ti interpretacii mogut byt' otmeneny dobavleniem
pered sootvetstvuyushchej funkciej obratnoj kosoj cherty \.
Naprimer, tak kak \\ otobrazhaetsya v \, to \\n budet kopi-
rovat'sya kak \n, chto pri posleduyushchem schityvanii makro ili
cepochki budet interpretirovat'sya kak ukazatel' chislovogo
registra.
7.3. Argumenty
Vo vremya vyzova makrokomandy po imeni predpolagaetsya,
chto ostavshayasya chast' stroki mozhet soderzhat' do devyati ar-
gumentov. Razdelitelem argumentov yavlyaetsya simvol probela
i argumenty, soderzhashchie simvoly probela, dolzhny byt' zak-
lyucheny v dvojnye kavychki ("). CHtoby vvesti v argument,
zaklyuchennyj v dvojnye kavychki, simvol dvojnoj kavychki,
nuzhno v etom meste vvesti paru dvojnyh kavychek (""). Esli
nuzhnye argumenty ne pomeshchayutsya v stroke, to dlya prodolzhe-
niya zapisi na sleduyushchej stroke mozhno ispol'zovat' simvol
skrytoj novoj stroki (\(simvol novoj stroki)).
Pri vyzove makrokomandy uroven' vvoda zanositsya v
stek i lyubye argumenty dostupnye na predydushchem urovne sta-
novyatsya nedostupnymi do teh por, poka makrokomanda ne
budet polnost'yu vypolnena i ne budet vosstanovlen predydu-
shchij uroven'. Sobstvennye argumenty makrokomandy mozhno
vstavit' v lyuboe mesto vnutri makro s pomoshch'yu funkcii \$N,
na mesto kotoroj vstavlyaetsya znachenie N-go argumenta
31
APK.00322-01 33 01-15
(1<=N<=9). Esli vyzvannyj argument ne sushchestvuet, to re-
zul'tatom budet nulevaya cepochka. Naprimer, makrokomandu xx
mozhno opredelit' sleduyushchim obrazom:
.de xx \"nachalo opredeleniya
Segodnya \\$1,\\$2.
.. \"konec opredeleniya
i vyzvat':
.hh Ponedel'nik 14-e
chtoby poluchit' vyhodnoj tekst
Segodnya Ponedel'nik,14-e.
Zametim, chto argument byl zamaskirovan v makro s pomoshch'yu
dopolnitel'noj obratnoj kosoj cherty. Kolichestvo imeyushchihsya
v dannyj moment argumentov nahoditsya v registre .$. V
dannoj realizacii na verhnem urovne (ne makro) nikakih ar-
gumentov net. Tak kak ssylki na cepochki realizovany v vide
makrovyzova nulevogo urovnya (urovnya vvoda), vnutri cepochki
ne mozhet byt' nikakih argumentov. Makro, vyzyvaemye po
dostizhenii pozicii "lovushki", takzhe ne mogut soderzhat' ni-
kakih argumentov.
Argumenty zapisyvayutsya v rezhime kopirovaniya v stek,
otkuda oni mogut byt' izvlecheny. Takoj mehanizm ne pozvo-
lyaet ispol'zovat' v argumentah pryamye ssylki na dlinnye
cepochki (vstavlennye vo vremya kopirovaniya argumenta) i,
poetomu, rekomenduetsya skryvat' ssylki na cepochki (s po-
moshch'yu dopolnitel'nogo simvola ``\'') dlya togo chtoby otlo-
zhit' podstanovku cepochki do momenta ssylki na dannyj argu-
ment.
32
APK.00322-01 33 01-15
7.4. Otvedeniya
Obrabotannyj vyhodnoj tekst mozhno otvesti v makro,
naprimer dlya obrabotki snoski ili opredeleniya razmera po
gorizontali i vertikali nekotorogo teksta dlya izmeneniya
stranic ili kolonok v sootvetstvii s opredelennymi uslovi-
yami. V otvedenii mozhno ustanovit' edinstvennuyu lovushku po
opredelennoj vertikal'noj pozicii. V chislovyh registrah dn
i dl soderzhatsya sootvetstvenno vertikal'nyj i gorizontal'-
nyj razmery poslednego otvedeniya. Pri posleduyushchem schityva-
nii otvedennogo teksta v rezhime "bez zapolneniya" verti-
kal'nyj razmer kazhdoj iz ego strok sohranyaetsya, nezavisimo
ot tekushchego znacheniya intervala mezhdu strokami (V). Tekst,
pri otvedenii kotorogo byla ustanovlena postoyannaya razryad-
ka, ili tekst s vydelennymi simvolami, mozhet byt' pravil'-
no schitan tol'ko v tom sluchae, esli eti rezhimy budut snova
zadejstvovany vo vremya posleduyushchego schityvaniya. Odnim iz
sposobov dostizheniya etogo yavlyaetsya vstraivanie v tekst ot-
vedeniya sootvetstvuyushchih komand s pomoshch'yu "mehanizma proz-
rachnogo vyvoda" (Sm. podrazd.10.4).
Otvedennye v makro teksty mogut byt' vlozheny drug v
druga, i nekotorye parametry i registry svyazany s tekushchim
urovnem otvedeniya (verhnij, ne otnosyashchijsya k otvedeniyu,
uroven' mozhno schitat' nulevym urovnem otvedeniya). K nim
(parametram i registram) otnosyatsya: "lovushka" po otvedeniyu
i sootvetstvuyushchee ej makro, rezhim "bez progonov", sohranya-
emaya vo vnutrennem registre otmechennaya vertikal'naya pozi-
33
APK.00322-01 33 01-15
ciya (sm. razd. 3), tekushchaya vertikal'naya poziciya (registr
gistr .h) i imya tekushchego otvedeniya (registr .z).
7.5. "Lovushki"
Sushchestvuet tri tipa "lovushek": lovushki po mestu na
stranice, lovushki po mestu v otvedenii i lovushki po chislu
vhodnyh strok. Lovushki dlya vyzova makrokomandy mozhno po-
mestit', ispol'zuya komandu wh, v lyubuyu poziciyu stranicy,
vklyuchaya verhnij kraj. Poziciyu takoj lovushki mozhno izmenit'
s pomoshch'yu zaprosa ch. Lovushki, pozicii kotoryh raspolozheny
na osnovanii stranicy ili nizhe, ne dejstvuyut do teh por,
poka oni ne budut smeshcheny vnutr' stranicy ili ne budet
uvelichen razmer stranicy. Dve lovushki mogut okazat'sya na
odnoj pozicii tol'ko v rezul'tate pervonachal'nogo pomeshche-
niya ih v raznye pozicii i posleduyushchego peremeshcheniya odnoj
iz nih; pervaya iz dvuh lovushek, pomeshchennyh v odnu i tu zhe
poziciyu budet "skryvat'" vtoruyu, do teh por, poka ona ne
peremestitsya. Esli pervaya lovushka vozvrashchaetsya obratno,
ona snova "skryvaet" vtoruyu lovushku. Makrokomanda, svyazan-
naya s lovushkoj po mestu na stranice, vyzyvaetsya avtomati-
cheski kak tol'ko vyvodimaya stroka teksta perekryvaet
kakuyu-nibud' lovushku (to est' poziciya lovushki popadaet v
ocherednoj vertikal'nyj interval). Pri dostizhenii osnovaniya
(niza) stranicy proishodit pereklyuchenie na lovushku po na-
chalu (verhnej chasti) stranicy, esli voobshche sushchestvuet ta-
kaya lovushka. Rasstoyanie do pozicii sleduyushchej lovushki hra-
nitsya v registre .t. Esli mezhdu tekushchej poziciej i osnova-
34
APK.00322-01 33 01-15
niem stranicy lovushek net, to soderzhimoe registra .t ravno
rasstoyaniyu do osnovaniya stranicy.
Makrovyzov po lovushke, dejstvuyushchej v tekushchem otvede-
nii, mozhno ustanovit' s pomoshch'yu komandy dt. Registr .t
takzhe ispol'zuetsya v sluchae otvedeniya teksta v makro. Esli
ne imeetsya posleduyushchih lovushek, to v registr zasylaetsya
dostatochno bol'shoe chislo. Opisanie lovushki po kolichestvu
vhodnyh strok privoditsya nizhe v poyasneniyah k komande it.
Ispol'zuyutsya sleduyushchie komandy "lovushek":
de - opredelit' ili pereopredelit' makroopredelenie
Forma vyzova komandy de - .de xx yy, nachal'noe
znachenie - net, net argumentov - .yy=.., prime-
chanie - net. Opredelit' ili pereopredelit' makro
xx. Tekst makro nachinaetsya so sleduyushchej stroki
vhodnogo teksta. Stroki vhodnogo teksta zapisy-
vyutsya v rabochij fajl v rezhime kopirovaniya do teh
por, poka v opredelenii makro ne vstretitsya
stroka, nachinayushchayasya s .yy, kotoraya vyzyvaet
makro yy. Esli argument yy otsutstvuet, oprede-
lenie makro zakanchivaetsya strokoj, nachinayushchejsya
s "..". Makro mozhet soderzhat' vlozhennye komandy
de pri uslovii, chto imena makrokomand, zaversha-
yushchih opredelenie, razlichny ili priznak konca op-
redeleniya yavlyaetsya neyavnym. Priznak konca ".."
mozhno zamaskirovat' s pomoshch'yu dopolnitel'nyh
35
APK.00322-01 33 01-15
simvolov ``\'' - \\.., kotorye pri zapisi vnesh-
nego makroopredeleniya budut preobrazovany v \..
i pri posleduyushchem schityvanii v "..";
am - dobavit' k makrokomande. Forma vyzova komandy am
- .am xx yy, nachal'noe znachenie - net, net argu-
mentov - .yy=.., primechanie - net. Versiya koman-
dy de dlya dobavleniya teksta v makro;
ds - opredelit' cepochku. Forma vyzova komandy ds -
.ds xx cepochka, nachal'noe znachenie - net, net
argumentov - ignoriruetsya, primechanie - net.
Opredelyaet cepochku xx, soderzhashchuyu "cepochku".
Cepochka opredelena ot pervogo neprobel'nogo sim-
vola posle ukazaniya imeni cepochki do konca stro-
ki (ili nachala kommentariya). Simvol dvojnoj ka-
vychki ( " ) pered "cepochkoj" ne zapisyvaetsya i
sluzhit dlya razresheniya nachal'nyh probelov v "ce-
pochke";
as - dobavit' k cepochke. Forma vyzova komandy as -
.as xx cepochka, nachal'noe znachenie - net, net
argumentov - ignoriruetsya, primechanie - net.
Dobavlyaet "cepochku" k cepochke xx (versiya komandy
ds dlya dobavleniya k cepochke);
rm - udalit' komandu, makro ili cepochku. Forma vyzova
komandy rm - .rm xx, nachal'noe znachenie - net,
net argumentov - ignoriruetsya, primechanie - net.
Imya xx udalyaetsya iz spiska imen i lyubaya, svyazan-
36
APK.00322-01 33 01-15
naya s nim oblast' pamyati, osvobozhdaetsya.