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. Posle-
duyushchie ssylki na eto imya ne budut vyzyvat' nika-
kih dejstvij;
rn - pereimenovat' komandu, makro ili cepochku. Forma
vyzova komandy rn - .rn xx yy, nachal'noe znache-
nie - net, net argumentov - ignoriruetsya, prime-
chanie - net. Pereimenovyvaet komandu, makro ili
cepochku xx v yy. Esli yy uzhe sushchestvuet, predy-
dushchaya versiya yy udalyaetsya;
di - otvesti vyhodnoj tekst. Forma vyzova komandy di
- .di xx, nachal'noe znachenie - net, net argumen-
tov - konec, primechanie - D. Otvodit vyhodnoj
tekst v makro xx. V processe otvedeniya proisho-
dit normal'naya obrabotka teksta za isklyucheniem
togo, chto ne schitayutsya stranicy. Obrabotka
teksta v makro zakanchivaetsya, kogda vstrechayutsya
komandy di ili da bez argumenta. CHuzhdye komandy
etogo tipa ne dolzhny poyavlyat'sya, pri ispol'zova-
nii vlozhennyh otvedenij;
da - dobavit' vyhodnoj tekst k otvedennomu. Forma vy-
zova komandy da - .da xx, nachal'noe znachenie -
net, net argumentov - konec, primechanie - D.
Otvodit tekst, dobavlyaya ego v makro xx (versiya
komandy di dlya dobavleniya teksta);
wh - ustanovit' lovushku po pozicii na stranice. Forma
vyzova komandy wh - .wh N xx, nachal'noe znachenie
37
APK.00322-01 33 01-15
- net, net argumentov - net, primechanie - V.
Ustanovit' lovushku dlya vyzova makro xx na pozi-
ciyu stranicy N, otricatel'noe znachenie N budet
interpretirovat'sya kak rasstoyanie ot osnovaniya
(niza) stranicy. Esli na poziciyu N ranee byla
ustanovlena lovushka s drugim makro, to teper' s
poziciej N budet svyazano makro xx. Nulevoe zna-
chenie N otnositsya k verhnemu krayu stranicy. V
sluchae otsutstviya xx lovushka, najdennaya v pozi-
cii N, udalyaetsya;
ch - izmenit' poziciyu lovushki. Forma vyzova komandy
ch - .ch xx N. nachal'noe znachenie - net, net ar-
gumentov -net, primechanie - v. Izmenyaet poziciyu
lovushki dlya makro xx na N. V sluchae otsutstviya N
lovushka, esli ona byla ustanovlena, udalyaetsya;
dt - ustanovit' lovushku po pozicii v otvedenii. Forma
vyzova komandy dt - .dt N xx, nachal'noe znachenie
- net, net argumentov - vyklyuchit', primechanie -
D,v. Ustanavlivaet lovushku v poziciyu N tekushchego
otvedeniya dlya vyzova makro xx. Eshche odna komanda
.dt pereopredelit lovushku otvedeniya. Esli argu-
menty ne zadany, lovushka udalyaetsya;
it - ustanovit' lovushku po kolichestvu vvedennyh
strok. Forma vyzova komandy it - .it N xx, na-
chal'noe znachenie - net, net argumentov - vyklyu-
chit', primechanie - E. Ustanavlivaet lovushku dlya
38
APK.00322-01 33 01-15
vyzova makro xx posle chteniya N strok ishodnogo
teksta (upravlyayushchie stroki i stroki komand ne
uchityvayutsya). Uchityvaetsya tekst, schitannyj iz
ishodnogo fajla ili tekst, vstavlyaemyj makroko-
mandami, soderzhashchimisya v stroke ishodnogo fajla
ili vyzvannymi pri obnaruzhenii "lovushek";
em - konechnoe makroopredelenie. Forma vyzova komandy
em - .em xx, nachal'noe znachenie - net, net argu-
mentov - net, primechanie - net. Makro xx budet
vyzvana posle okonchaniya vsego vvoda. Rezul'tat
budet takim zhe, kak esli by soderzhimoe xx naho-
dilos' v konce poslednego obrabatyvaemogo fajla.
39
APK.00322-01 33 01-15
8. CHISLOVYE REGISTRY
Pol'zovatelyu dostupny mnozhestvo razlichnyh, opredelen-
nyh sistemoj (sistemnyh) imenovannyh chislovyh registrov.
Krome togo pol'zovatel' mozhet opredelit' sobstvennye chis-
lovye registry. Imena registrov soderzhat odin ili dva sim-
vola i mogut sovpadat' s imenami komand, makro ili cepo-
chek. Imena registrov takzhe ne mogut soderzhat' russkih
bukv. Za isklyucheniem nekotoryh sistemnyh registrov, pred-
naznachennyh tol'ko dlya chteniya, chislovye registry dopuskayut
chtenie, zapis', avtomaticheskoe uvelichenie ili umen'shenie
soderzhimogo i vstavku ih soderzhimogo v vvodimyj tekst v
razlichnyh formatah. Obychno pol'zovateli ispol'zuyut eti re-
gistry dlya avtomaticheskoj numeracii razdelov, paragrafov,
strok i t.d. CHislovye registry mozhno ispol'zovat' vsegda,
kogda trebuetsya cifrovoj vvod, a takzhe v chislovyh vyrazhe-
niyah.
CHislovye registry sozdayutsya i izmenyayutsya s pomoshch'yu
komandy nr, kotoraya zadaet imya, chislennoe znachenie i veli-
chinu avtomaticheskogo prirashcheniya. Registry takzhe izmenyayut-
sya, esli oni ispol'zuyutsya v posledovatel'nosti operacij,
soderzhashchih avtoprirashcheniya. Esli registry x i xx soderzhat N
i shag avtomaticheskogo prirashcheniya raven M, to ih ispol'zo-
vanie v sleduyushchih posledovatel'nostyah privodit k rezul'ta-
tam, predstavlennym v tabl.3:
40
APK.00322-01 33 01-15
Tablica 3
-----------------------------------------------
|posledova-| sostoyanie |vstavlyaemoe|
|tel'nost' | registra |znachenie |
|----------|----------------------|-----------|
| \nx | ne menyaetsya | N |
| \n(xx | ne menyaetsya | N |
| \n+h | h uvelichivaetsya na M | N+M |
| \n-h | h umen'shaetsya na M | N-M |
| \n+(xx | xx uvelichivaetsya na M| N+M |
| \n-(xx | xx umen'shaetsya na M | N-M |
-----------------------------------------------
Kogda chislovoj registr vstavlyaetsya v tekst, ego so-
derzhimoe preobrazuetsya v desyatichnuyu formu (po umolchaniyu),
v desyatichnuyu formu s vedushchimi nulyami, v malen'kie rimskie
cifry, bol'shie rimskie cifry, v posledovatel'nost' malen'-
kih bukv alfavita ili posledovatel'nost' zaglavnyh bukv
alfavita v zavisimosti ot formata, zadannogo v komande af.
Dlya sozdaniya i izmeneniya registrov ispol'zuyutsya sle-
duyushchie komandy:
nr - opredelit' i ustanovit' chislovoj registr. Forma
vyzova komandy nr - .nr R _N M, nachal'noe znache-
nie - net, net argumentov - net, primechanie - U.
CHislovomu registru R prisvaivaetsya znachenie _N
po otnosheniyu k predydushchemu znacheniyu, esli ono
41
APK.00322-01 33 01-15
bylo. SHag avtomaticheskogo prirashcheniya ustanavli-
vaetsya ravnym M;
af - opredelit' format chislovogo registra. Forma vy-
zova komandy af - .af R c, nachal'noe znachenie -
arabskie, net argumentov - net, primechanie -
net. Zadaet format c dlya soderzhimogo registra R.
Mogut byt' ispol'zovany formaty, privedennye na
ris.1.
Formaty dlya registra r
-------------------------------------------
| format | posledovatel'nost' numeracii |
|--------|--------------------------------|
| 1 | 0,1,2,3,4,5,........ |
| 001 | 000,001,002,003,004,005,...... |
| i | 0,i,ii,iii,iv,v,....... |
| I | 0,I,II,III,IV,V,....... |
| a | 0,a,b,c,..,z,aa,ab,..zz,aaa,.. |
| A | 0,A,B,C,..,Z,AA,AB,..ZZ,AAA,.. |
-------------------------------------------
ris.1 ;
rr - udalit' chislovoj registr. Forma vyzova komandy
rr - .rr R, nachal'noe znachenie - net, net argu-
mentov - ignoriruetsya, primechanie - net. Esli
dinamicheski sozdaetsya bol'shoe kolichestvo re-
gistrov, mozhet vozniknut' neobhodimost' udalit'
neispol'zuemye bol'she registry dlya togo, chtoby
42
APK.00322-01 33 01-15
osvobodit' oblast' vnutrennej pamyati dlya vnov'
sozdavaemyh registrov.
43
APK.00322-01 33 01-15
9. TABULYACII, LIDERY I POLYA
9.1. Tabulyacii i lidery
ASCII-simvoly gorizontal'noj tabulyacii (HT) i nachala
zalogovka (SOH), kotoryj dalee budet nazyvat'sya liderom,
mogut ispol'zovat'sya libo dlya generacii gorizontal'nyh
podvizhek, libo dlya formirovaniya cepochki povtoryayushchihsya sim-
volov. Dlina gorizontal'noj podvizhki ili cepochki reguliru-
etsya vnutrennimi tabulyacionnymi ostanovami (tabulyaciyami),
ustnavlivaemymi s pomoshch'yu komandy ta. Razlichie sostoit v
tom, chto, po umolchaniyu, simvol tab generiruet podvizhku, a
lider formiruet cepochku tochek; s pomoshch'yu komand lc i tc
mozhno izmenit', sootvetstvenno, simvoly liderov ili podvi-
zhek. Sushchestvuet tri tipa vnutrennih tabulyacionnyh ostano-
vov: dlya vyravnivaniya po levomu krayu tabulyacii, dlya vyrav-
nivaniya po pravomu krayu tabulyacii i po centru tabulyacii. V
tabl.4, privedennoj nizhe, D - rasstoyanie ot tekushchej pozi-
cii vhodnoj stroki (gde byl obnaruzhen simvol tab ili
lider) do sleduyushchej tabulyacii; "cepochka" sostoit iz vhod-
nyh simvolov, soderzhashchihsya za simvolom tab (liderom) do
sleduyushchego simvola tab (ili lidera) ili konca stroki; W -
shirina "cepochki".
44
APK.00322-01 33 01-15
Tablica 4
-----------------------------------------------
|tip tabulyacii|dlina podvizhki |raspolozhenie |
| |ili povtorenie | "cepochki" |
| | simvolov | |
|-------------+----------------+--------------|
| Levyj | D |posle propuska|
| | |rasstoyaniya D |
| | | |
| Pravyj | D - W |vyravnena po |
| | |pravomu krayu |
| | |v predelah D |
| | | |
| Central'nyj | D - W/2 |centrirovana |
| | |otnositel'no |
| | |pravogo kraya |
| | |intervala D |
-----------------------------------------------
Dlina gorizontal'noj podvizhki mozhet byt' otricatel'-
noj, no dlina cepochki povtoryayushchihsya simvolov otricatel'noj
byt' ne mozhet. Cepochki povtoryayushchihsya simvolov soderzhat ce-
loe chislo simvolov. Simvoly tab i lidery, obnaruzhennye
posle poslednej tabulyacii, ignoriruyutsya, no mogut byt' is-
pol'zovany v kachestve priznakov konca "cepochki".
Simvoly tabulyacii i vedushchie simvoly ne interpretiru-
yutsya v rezhime kopirovaniya. Funkcii et i ea vsegda porozhda-
yut neinterpretiruemye simvoly tabulyacii i liderov, soot-
45
APK.00322-01 33 01-15
vetstvenno, i v rezhime kopirovaniya ekvivalentny faktiches-
kim simvolam tabulyacii i vedushchim simvolam.
9.2. Polya
Pole zaklyucheno mezhdu paroj simvolov-razgranichitelej
polej i sostoit iz podcepochek, razdelennyh simvolami indi-
katora zapolneniya. Dlina polya ravna rasstoyaniyu ot pozicii
nachala polya vo vhodnoj stroke i do sleduyushchej tabulyacii.
Raznost' mezhdu dlinoj polya i summarnoj dlinoj vseh podce-
pochek opredelyaet prostranstvo gorizontal'nogo zapolneniya,
kotoroe raspredelyaetsya mezhdu sootvetstvuyushimi oblastyami
zapolneniya. Velichina zapolnyamogo prostranstva mozhet byt'
otricatel'noj. Naprimer, esli ogranichitelem polya yavlyaetsya
simvol #, a ukazatelem zapolneniya ^, to #^xxx^right# oboz-
nachaet vyrovnennuyu po pravomu krayu cepochku, s cepochkoj
xxx, otcentrovannoj na ostavshemsya prostranstve.
Ispol'zuyutsya sleduyushchie komandy:
ta - ustanovit' tabulyacii. Forma vyzova komandy ta -
.ta Nt ...., nachal'noe znachenie - 0.81, net ar-
gumentov - otsutstvuet, primechanie - E, n. Usta-
navlivaet tabulyacii i ih tipy. t=R sootvetstvuet
vyravnivaniyu sprava; t=C sootvetstvuet centriro-
vaniyu; pri otsutstvii t podrazumevaetsya vyravni-
vanie sleva. Po umolchaniyu ustanovleny tabulyacci
na kazhdye 0.8 dyujma (ili 8n). Znacheniya argumen-
tov razdelyayutsya probelami; znachenie, pered koto-
46
APK.00322-01 33 01-15
rym stoit znak plyus (``+''), rassmatrivaetsya kak
prirashchenie k znacheniyu predydushchej tabulyacii;
tc - ustanovit' simvol zapolneniya tabulyacij. Forma
vyzova komandy tc - .tc c, nachal'noe znachenie -
otsutstvuet, net argumentov - otsutstvuet, pri-
mechanie -E. Simvolom, zapolnyayushchim tabulyacionnye
podvizhki stanovitsya simvol c, ili (esli c ot-
sutstvuet) udalyaetsya, oboznachaya tem samym pod-
vizhki;
lc - ustanovit' simvol zapolneniya liderov. Forma vy-
zova komandy lc - .lc c, nachal'noe znachenie -
net, net argumentov - otsutstvuet, primechanie -
E. Simvolom, zapolnyayushchim lidery, stanovitsya
simvol c, ili (esli c otsutstvuet) udalyaetsya,
oboznachaya tem samym podvizhki;
fc - ustanovit' simvoly ogranichitelya i zapolnitelya
polya. Forma vyzova komandy fc - .fc a b, nachal'-
noe znachenie - vyklyuchit', net argumentov - vyk-
lyuchit', primechanie - net. Simvol ogranichitelya
polya ustanavlivaetsya v a; indikator zapolneniya
ustanavlivaetsya v b, a v sluchae otsutstviya b - v
probel. Esli argumenty otsutstvuyut, mehanizm up-
ravleniya polyami vyklyuchaetsya.
47
APK.00322-01 33 01-15
10. SOGLASHENIYA O VVODE/VYVODE I
PREOBRAZOVANIYA SIMVOLOV
10.1. Preobrazovaniya vhodnyh simvolov
Pif vosprinimaet nekotorye upravlyayushchie simvoly koda
ASCII, takie kak simvol gorizontal'noj tabulyacii (HT),
simvol nachala zagolovka (SOH), simvol vozvrata na shag
(BS). Simvol novoj stroki (NL) (ili LF) ispol'zuetsya v ka-
chestve razgranichitelya vhodnyh strok. Krome togo, vosprini-
mayutsya sluzhebnye simvoly nachala teksta (STX), konca teksta
(ETX), oprosa (ENQ), opoznaniya (ACK) i "zvonok" (BEL), ko-
torye mogut ispol'zovat'sya v kachestve razgranichitelej. Vse
prochie simvoly ignoriruyutsya.
Simvol pereklyucheniya ``\'' ukazyvaet, chto za nim budet
sledovat' simvol, kotoryj oboznachaet drugoj opredelennyj
simvol ili nekotoruyu funkciyu. Polnyj perechen' etih posle-
dovatel'nostej priveden v razd.23. Simvol ``\'' ne sleduet
putat' s simvolom pereklyucheniya koda (ESC) koda ASCII. CHto-
by v vyhodnom tekste poyavilsya simvol ``\'', nuzhno vospol'-
zovat'sya posledovatel'nost'yu ``\\'' vo vhodnom tekste.
Simvol pereklyucheniya mozhno izmenit' s pomoshch'yu komandy ec.
Dlya raspechatki dejstvuyushchego v dannyj moment simvola perek-
lyucheniya mozhno vospol'zovat'sya funkciej \e. Pri zhelanii ili
neobhodimosti mehanizm pereklyucheniya koda mozhet byt' otklyu-
chen i vosstanovlen pri pomoshchi komandy eo.
48
APK.00322-01 33 01-15
Ispol'zuyutsya sleduyushchie komandy ustanovki pereklyuchate-
lej:
ec - ustanovit' simvol pereklyucheniya. Forma vyzova ko-
mandy ec - .ec c, nachal'noe znachenie - e, net
argumentov - e, primechanie - net. Ustanavlivaet
simvol pereklyucheniya v c, a pri ego otstutstvii v
e;
eo - izmenit' sostoyanie mehanizma pereklyucheniya. Forma
vyzova komandy eo - .eo, nachal'noe znachenie -
vyklyuchit', net argumentov - net, primechanie -
net.
10.2. Vozvrat i podcherkivanie
Esli vyklyuchen rezhim kopirovaniya, to simvol vozvrata
na shag (BS) koda ASCII obychno zamenyaetsya na gorizontal'nuyu
podvizhku v obratnom napravlenii na shirinu simvola probela.
Funkciya podcherkivaniya, kak odna iz form postroeniya linij,
opisana v podrazd.12.3. V sisteme pif podcherkivanie proiz-
voditsya avtomaticheski pri pomoshchi vklyucheniya kursiva (koman-
doj ft ili funkciej \f) ili pri pomoshchi komandy ul. Sleduet
otmetit', chto podcherkivayutsya ne vse simvoly, a tol'ko
bukvy i cifry; znaki i probely ostayutsya nepodcherknutymi.
Ispol'zuyutsya sleduyushchie komandy:
ul - podcherkivat' sleduyushchie N strok ishodnogo teksta.
Forma vyzova komandy ul - .ul N, nachal'noe zna-
49
APK.00322-01 33 01-15
chenie - vyklyuchit', net argumentov - N=1, prime-
chanie - E. Podcherknut' tekst, soderzhashchijsya v
sleduyushchih N strokah vhodnogo teksta, pri etom
rezhim "bez zapolneniya" ne vklyuchaetsya. Vyhod,
sgenerirovannyj komandoj tl, popadaet pod dej-
stvie komandy ul, no pri etom N ne umen'shaetsya.
Esli N>1, to imeetsya opasnost' togo, chto inter-
polirovannoe "zahvatyvaniem" makro mozhet vydat'
stroki teksta v predelah dannogo prostranstva.
CHtoby izbezhat' etogo mozhno sootvetstvuyushchim obra-
zom izmenyat' okruzhenie (sm. razd. 17);
ft - izmenit' tekushchij shrift. Forma vyzova komandy ft
- .ft F, nachal'noe znachenie - obychnyj, net argu-
mentov - predydushchij, primechanie - E. Zamenyaet
tekushchij shrift na F. CHtoby posleduyushchij tekst byl
podcherknut, nuzhno ukazat' F=I. CHtoby vernut'sya k
obychnomu shriftu (bez podcherkivaniya) nado ukazat'
F=R. Analogichnyj rezul'tat poluchitsya, esli vos-
pol'zovat'sya funkciej pepeklyucheniya shrifta \fN,
gde N - tip shrifta;
cu - podcherkivat' sleduyushchie N strok. Forma vyzova ko-
mandy cu - .cu N, nachal'noe znachenie - vyklyu-
chit', net argumentov - N=1, primechanie - E. Raz-
novidnost' komandy ul, pri kotoroj podcherkivaet-
sya kazhdyj simvol.
50
APK.00322-01 33 01-15
10.3. Upravlyayushchie simvoly
Kak upravlyayushchij simvol ".", tak i upravlyayushchij simvol,
ne vyzyvayushchij preryvanij, " ' " pri zhelanii mozhno izme-
nit'. Razumeetsya, takoe izmenenie dolzhno soglasovyvat'sya s
postroeniem lyubyh makroopredelenij, vstrechayushchihsya v prede-
lah dejstviya etogo izmeneniya, i, osobenno, vseh makroko-
mand, vyzyvaemyh po "lovushke".
Ispol'zuyutsya sleduyushchie komandy ustanovki upravlyayushchego
simvola:
cc - ustanovit' osnovnoj upravlyayushchij simvol. Forma
vyzova komandy cc - .cc c, nachal'noe znachenie -
., net argumentov - ., primechanie - E. Osnovnoj
upravlyayushchij simvol ustanavlivaetsya v "c" ili,
esli c otsutstvuet, ustanavlivaetsya v ".";
c2 - ustanovit' upravlyayushchij simvol bez preryvaniya.
Forma vyzova komandy c2 - c2 c, nachal'noe znache-
nie - ', net argumentov - ', primechanie - E.
Upravlyayushchij simvol, ne vyzyvayushchij preryvaniya za-
polneniya, ustanavlivaetsya v "c" ili, esli c ot-
sutstvuet, ustanavlivaetsya v " ' " (apostrof).
51
APK.00322-01 33 01-15
10.4. "Prozrachnyj" vyvod
Vhodnaya stroka, nachinayushchayasya s posledovatel'nosti \!
schityvaetsya v rezhime kopirovaniya i vyvoditsya "v chistom
vide" (bez nachal'nogo simvola \!), inymi slovami, eti
stroki ne postupayut na obrabotku. |tot mehanizm mozhno is-
pol'zovat' dlya peredachi kakomu-libo postprocessoru uprav-
lyayushchej informacii ili pomeshcheniya upravlyayushchih strok v makro-
komandu, sozdannuyu pri otvedeniyah.
10.5. Kommentarii i skrytye simvoly novoj stroki
Slishkom dlinnye vhodnye stroki, kotorye dolzhny osta-
vat'sya odnoj strokoj (naprimer, opredelenie cepochki ili
nezapolnyaemyj tekst), mozhno razbit' na neskol'ko fiziches-
kih strok, kazhdaya iz kotoryh, krome poslednej, dolzhna za-
kanchivat'sya znakom pereklyucheniya \. Posledovatel'nost'
"\(simvol novoj stroki)" vsegda ignoriruetsya, esli tol'ko
ona ne poyavlyaetsya v kommentariyah. Kommentarij mozhno vsta-
vit' v konec lyuboj stroki, napisav pered nim \". Simvol
novoj stroki, nahodyashchijsya v konce kommentariya, ne mozhet
byt' skrytym. Stroka, nachinayushchayasya s \", budet vosprini-
mat'sya kak pustaya stroka i obrabatyvat'sya kak komanda .sp
1. Kommentarij mozhet takzhe zanimat' celuyu stroku esli ona
nachinaetsya s ``.\"''.
52
APK.00322-01 33 01-15
11. LOKALXNYE VERTIKALXNYE I
GORIZONTALXNYE PEREMESHCHENIYA I FUNKCIYA
SHIRINY
11.1. Lokal'nye peremeshcheniya
Funkcii \v'N' i \h'N' mozhno ispol'zovat' dlya lokal'-
nyh peremeshchenij po vertikali i gorizontali, sootvetstven-
no. Rasstoyanie N mozhet byt' otricatel'nym. Peremeshcheniyami v
polozhitel'nyh napravleniyah schitayutsya peremeshcheniya vpravo i
vniz. Lokal'nym peremeshcheniem yavlyaetsya lyuboe peremeshchenie v
predelah odnoj stroki. CHtoby izbezhat' neozhidannyh verti-
kal'nyh smeshchenij, neobhodimo sledit' za tem, chtoby obshchee
peremeshchenie po vertikali, v predelah slova v zapolnennom
tekste i v predelah stroki v ostal'nyh sluchayah, ravnyalos'
nulyu. Posledovatel'nosti pereklyucheniya, obespechivayushchie raz-
lichnye podvizhki, ukazany v tabl.5.
53
APK.00322-01 33 01-15
Tablica 5
Pereklyuchatel'nye posledovatel'nosti
---------------------------------------------------
Iverti- | dejstvie Igorizon-| dejstvie I
Ikal'nye | Italnye | I
Ipodvizhki| Ipodvizhki| I
I--------+---------------+--------+-------------- I
I \v'N' |podvinut' I \h'N' |podvinut' I
I |na rasstoyanie NI |na rasstoyanie NI
I \u |1/2 stroki I\(prob.)|nezapolnyat' I
I | vverh I |probel I
I \d |1/2 stroki I \0 |probel rav- I
I | vniz I |nyj shirine I
I \r |1 stroku I |cifry I
I | vverh I | I
---------------------------------------------------
11.2. Funkciya shiriny
Funkciya shiriny \w'cepochka' vychislyaet shirinu "cepochki"
(v bazovyh edinicah). Izmeneniya tipa shrifta mozhno bezopas-
no vstavlyat' v cepochku, pri etom tekushchie usloviya formati-
rovaniya ne izmenyayutsya. Naprimer, komandu .ti -\w'1.'u
mozhno bylo by ispol'zovat' dlya formirovaniya vremennogo
otstupa sleva ravnogo razmeru cepochki "1."
54
APK.00322-01 33 01-15
11.3. Otmetka gorizontal'nogo polozheniya
Pereklyuchayushchaya posledovatel'nost' \kx vyzovet zapomi-
nanie v registre x tekushchej gorizontal'noj pozicii vo vhod-
noj stroke.
Pereklyuchayushchaya posledovatel'nost' \jx vyzovet zapomi-
nanie v registre x tekushchej gorizontal'noj pozicii v vyhod-
noj stroke.
Naprimer, konstrukciya
\jxslovo \h'|\nx+2u'slovo
budet vydelyat' "slovo", posredstvom vozvrata k
ego nachalu i povtornoj ego pechati, v rezul'tate chego
budet napechatano zhirnym shriftom "slovo".
Pri ispol'zovanii etoj konstrukcii sleduet imet' v vidu,
chto zanesenie znacheniya v registr proizojdet posle togo,
kak budet sformirovano slovo, i v takoj konstrukcii
\jxslovo\h'|\nx+2u'slovo
soderzhimoe registra x budet ravno nulyu (esli etot registr
ranee ne byl opredelen).
55
APK.00322-01 33 01-15
12. NEKOTORYE SPECIALXNYE PRIEMY
PECHATI
12.1. Pechat' s nalozheniem na odnoj pozicii
Funkciya pechati s nalozheniem v odnoj pozicii \o'cepoch-
ka' obespechivaet avtomaticheski centrirovannuyu pechat' na
odnoj pozicii do devyati simvolov. Simvoly "cepochki" pecha-
tayutsya odin poverh drugogo s vyravnivaniem po centru kazh-
dogo simvola. Obshchaya shirina budet ravna shirine samogo shiro-
kogo simvola. Cepochka ne dolzhna soderzhat' lokal'nyh verti-
kal'nyh peremeshchenij. Naprimer, posledovatel'nost' \o'+_'
dast _.
12.2. Simvoly nulevoj shiriny
Funkciya \zc budet vyvodit' simvol c, ne ostavlyaya za
nim intervala, i mozhet byt' ispol'zovana dlya polucheniya
kombinacii simvolov posredstvom pechati na odnom meste s
vyravnivaniem po levomu krayu. Naprimer, posledovatel'nost'
\zO/ napechataet perecherknutoe O, a posledovatel'nost' \z|_
napechataet _.
56
APK.00322-01 33 01-15
12.3. Risovanie linij
Pri ispol'zovaniii funkcii \l'Nc' budet formirovat'sya
cepochka povtoryayushchihsya simvolov 'c' sleva napravo dlinoj N.
Esli 'c' mozhno ponyat' kak prodolzhenie vyrazheniya N, to ego
mozhno otdelit' ot N simvolom \&. Esli 'c' ne zadano, to
ispol'zuetsya simvol podcherkivaniya '_'. Pri otricatel'nom N
pered "risovaniem" cepochki vypolnyaetsya gorizontal'noe pe-
remeshchenie v obratnom napravlenii na rasstoyanie N. Esli ot-
noshenie N/(shirina 'c') imeet ostatok, to interval, ravnyj
znacheniyu ostatka, pomeshchaetsya v nachale (s levogo kraya) ce-
pochki. V teh sluchayah, kogda simvoly dolzhny byt' napechatany
slitno, naprimer, linejka podcherkivaniya, ostavsheesya
prostranstvo zakryvaetsya s pomoshch'yu nalozheniya. Esli N
men'she shiriny simvola 'c', to pechataetsya odin simvol 'c',
i ego seredina nahoditsya na rasstoyanii N. Naprimer, mozhno
napisat' sleduyushchuyu makrokomandu dlya podcherkivaniya cepochki:
.de us
\\$1\\l'-\\w%\\$1%u_'
..
Takim obrazom, vyzvav makro
.us "Podcherknutye slova"
poluchim
__________________
Funkciya \L'Nc' budet "vycherchivat'" vertikal'nuyu li-
niyu, sostoyashchuyu iz simvolov c, raspolozhennyh v stolbec s
intervalom v odnu stroku; esli "c" ne ukazano, to, po
57
APK.00322-01 33 01-15
umolchaniyu, ispol'zuetsya simvol "|" (vertikal'naya cherta).
Liniya nachinaetsya bez kakogo-libo nachal'nogo smeshcheniya otno-
sitel'no osnovaniya tekushchej stroki. Polozhitel'noe N oprede-
lyaet liniyu, provedennuyu vniz, a otricatel'noe N opredelyaet
liniyu, provedennuyu vverh. Posle vycherchivaniya linii nikakih
kompensiruyushchih peremeshchenij ne vypolnyaetsya i tekushchee polo-
zhenie tochki budet nahodit'sya v konce linii.
Ispol'zuya sovmestno funkcii vycherchivaniya gorizontal'-
nyh i vertikal'nyh lineek, mozhno, naprimer, zaklyuchit' ne-
kotoryj blok teksta v ramku.
58
APK.00322-01 33 01-15
13. PERENOS SLOV
Mehanizm avtomaticheskogo perenosa slov mozhno otklyu-
chit' i vklyuchit'. Simvol ukazatelya perenosa (posledovatel'-
nost' \%)mozhno vstavit' v slovo dlya ukazaniya zhelaemyh po-
zicij perenosa ili napisat' pered slovom dlya otmeny pere-
nosa tol'ko etogo slova.
Dlya avtomaticheskogo perenosa podhodyat tol'ko slova,
soderzhashchie vnutri cepochku alfavitnyh simvolov, okruzhennuyu
cepochkami nealfavitnyh simvolov. Slova ishodnogo teksta,
soderzhashchie defisy (minusy), naprimer, takie kak iz-za,
temno-sero-fioletovyj ili Semenov-Tyan'-SHan'skij perenosyat-
sya posle etih simvolov nezavisimo ot togo, dejstvuet ili
net rezhim avtomaticheskogo perenosa.
Ispol'zuyutsya sleduyushchie komandy perenosa slov:
nh - otklyuchit' rezhim avtomaticheskogo perenosa. Forma
vyzova komandy nh - .nh, nachal'noe znachenie -
da, net argumentov - net, primechanie - E;
hy - vklyuchit' rezhim avtomaticheskogo perenosa slov.
Forma vyzova komandy hy - .hy N, nachal'noe zna-
chenie - N=1, net argumentov - N=1, primechanie -
E. Vklyuchit' avtomaticheskij perenos slov pri N>=1
ili otklyuchit' pri N=0.
hc - ustanovit' simvol ukazatelya perenosa. Forma vy-
zova komandy hc - .hc c, nachal'noe znachenie -
59
APK.00322-01 33 01-15
net, net argumentov - net, primechanie -E. Simvol
ukazatelya perenosa ustanavlivaetsya v c ili po
umolchaniyu \%. Ukazatel' perenosa pri pechati ne
vyvoditsya.
60
APK.00322-01 33 01-15
14. ZAGOLOVKI IZ TREH CHASTEJ
Komanda formirovaniya zagolovka tl obespechivaet avto-
maticheskoe razmeshchenie v treh polyah stroki: levom,
central'nom i pravom. Dlina zagolovka opredelyaetsya koman-
doj lt. Komandu tl mozhno ispol'zovat' gde ugodno i ona ne
zavisit ot processa obrabotki obychnogo teksta. Kak pravi-
lo, eta komanda ispol'zuetsya v makrokomandah obrabotki na-
chala i konca stranicy.
Ispol'zuyutsya sleduyushchie komandy formirovaniya zagolov-
ka:
tl - "zagolovok iz treh chastej". Forma vyzova komandy
tl - .tl 'lev.'centr.'prav.', nachal'noe znachenie
- net, net argumentov - net, primechanie -net.
Cepochki "lev.", "centr." i "prav." vyravnivayutsya
po levomu krayu, centriruyutsya i vyravnivayutsya po
pravomu krayu, sootvetstvenno, v predelah tekushchej
dliny zagolovka. Lyubaya iz cepochek mozhet byt'
pustoj i dopuskaetsya perekrytie. V kachestve
razgranichitelya cepochek mozhno ispol'zovat' lyuboj
simvol. Esli v lyubom iz polej vstrechaetsya simvol
nomera stranicy (iznachal'no %), to on zamenyaetsya
na tekushchij nomer sranicy, v formate, kotoryj us-
tanovlen dlya registra %, soderzhashchego nomer stra-
nicy;
61
APK.00322-01 33 01-15
pc - ustanovit' simvol nomera stranicy. Forma vyzova
komandy pc - .pc c, nachal'noe znachenie - %, net
argumentov - vyklyuchit', primechanie - net. Simvol
nomera stranic ustanavlivaetsya v c ili (esli ar-
gument otsutstvuet) simvol likvidiruetsya.
Registrom nomera stranicy ostaetsya %;
lt - ustanovit' dlinu zagolovka iz treh chastej. Forma
vyzova komandy lt - .lt _N,nachal'noe znachenie -
65n, net argumentov - predydushchee, primechanie
-E,n. Dlina zagolovka iz treh chastej ustanavli-
vaetsya v _N. Dlina stroki i dlina zagolovka yav-
lyayutsya nezavisimymi velichinami. V zagolovkah
otstupy ne delayutsya.
62
APK.00322-01 33 01-15
15. NUMERACIYA STROK VYHODNOGO TEKSTA
S pomoshch'yu komandy nm mozhno podklyuchit' mehanizm avto-
maticheskoj posledovatel'noj numeracii strok vyhodnogo
teksta. Pri zadanii etogo rezhima pered kazhdoj vyhodnoj
4 strokoj pechataetsya trehznachnyj nomer stroki v vide
arabskih cifr, za kotorym sleduet probel. Takim obrazom,
stroki smeshchayutsya na chetyre pozicii, no dlina stroki sohra-
nyaetsya. Dlya togo chtoby obespechit' sovpadenie pravogo kraya
8 s imevshimsya ranee, mozhet potrebovat'sya umen'shenie dliny
strok. Pustye stroki i prochie promezhutki, a takzhe stroki,
sgenerirovannye po komande tl, ne numeruyutsya. Numeraciyu
mozhno vremenno otmenit' s pomoshch'yu komandy nn; ee takzhe
12 mozhno otmenit', ispol'zuya komandu .nm bez parametrov, za
kotoroj pozdnee dlya vosstanovleniya numeracii s poslednego
nomera posleduet .nm +0. Krome togo, v pole nomera stroki
mozhno zadat' otstup I dlya nomera stroki i kolichestvo pro-
16 belov S, otdelyayushchih tekst ot nomera. Dalee mozhno po-
probovat', chtoby pechatalis' tol'ko te nomera strok, koto-
rye kratny nekotoromu chislu M (pri etom pole numeracii u
drugih strok ostaetsya nezapolnennym).
20 Ispol'zuyutsya sleduyushchie komandy:
nm - vklyuchit' rezhim numeracii vyhodnyh strok. Forma
vyzova komandy nm - .nm _N M S I, nachal'noe zna-
chenie - net, net argumentov - vyklyuchit', prime-
chanie -E. Esli _N zadano, vklyuchaetsya numeraciya
63
APK.00322-01 33 01-15
strok i sleduyushchej stroke prisvaivaetsya nomer _N
po otnosheniyu k poslednej pronumerovannoj stroke.
Znacheniyami po umolchaniyu yavlyayutsya M=1, S=1 i I=0.
Parametry, sootvetstvuyushchie propushchennym argumen-
tam, ne menyayutsya; necifrovoj argument schitaetsya
otsutstvuyushchim. Pri otsutstvii vseh argumentov
rezhim numeracii otmenyaetsya. Nomer sleduyushchej
stroki sohranyaetsya dlya vozmozhnogo dal'nejshego
ispol'zovaniya v chislovom registre ln;
nn - ne numerovat' sleduyushchie N strok. Forma vyzova
komandy nn - .nn N, nachal'noe znachenie -net, net
argumentov - N=1, primechanie - E. Sleduyushchie N
strok vyhodnogo teksta ne numeruyutsya.
V kachestve primera, tekst dannogo razdela byl pronu-
merovan pri pomoshchi komandy .nm 1 4, kotoraya raspolozhena v
nachale razdela. V konce pervogo abzaca stoyalo .nm, a pered
24 etim abzacem numeraciya byla vosstanovlena pri pomoshchi ko-
mandy .nm +0, i v konce razdela stoit snova .nm. Dlina
strok byla takzhe izmenena v sootvetstvuyushchih mestah. Drugim
primerom mozhet sluzhit' zapis' vida .nm +5 5 x 3, kotoraya
28 vklyuchaet rezhim numeracii, pri etom nomer ocherednoj stroki
teksta budet na 5 bol'she nomera poslednej pronumerovannoj
stroki; M=5 oznachaet, chto nomer stavitsya pered kazhdoj
pyatoj strokoj; interval mezhdu tekstom i nomerom ne izmenya-
32 etsya i otstup I ustanavlivaetsya ravnym 3.
64
APK.00322-01 33 01-15
16. USLOVNYJ VVOD TEKSTA
CHerez "c" oboznacheno odnosimvol'noe vstroennoe imya
usloviya, "!" oboznachaet otricanie, "N" - chislennoe vyrazhe-
nie; "cep1" i "cep2" yavlyayutsya cepochkami, razdelennymi
lyubym simvolom, ne vstrechayushchimsya v cepochkah i otlichnym ot
probela i cifry; "chto-libo" - to, chto vvoditsya po usloviyu.
Ispol'zuyutsya sleduyushchie komandy:
if - 1-aya forma vyzova komandy - .if c chto-libo, na-
chal'noe znachenie - net, net argumentov -net,
primechanie - net. Esli uslovie c istinno, vvesti
"chto-libo"; v sluchae, kogda vvodimyj tekst zani-
maet neskol'ko strok, ispol'zujte \- chto-libo \-
. 2-aya forma vyzova komandy - .if !s chto-libo,
nachal'noe znachenie - net, net argumentov - net,
primechanie -net. Esli uslovie s lozhno, to vvesti
"chto-libo". 3-ya forma vyzova komandy - .if N
chto-libo, nachal'noe znachenie - net, net argumen-
tov - net, primechanie - u. Esli vyrazhenie N > 0,
to vvesti "chto-libo". 4-aya forma vyzova komandy
- .if !N chto-libo, nachal'noe znachenie - net, net
argumentov - net, primechanie - u. Esli vyrazhenie
N <= 0, to vvesti "chto-libo". 5-aya forma vyzova
komandy - .if 'cep1'cep2' chto-libo, nachal'noe
znachenie - net, net argumentov - net, primechanie
- net. Esli "cep1" sovpadaet s "cep2", to vvesti
65
APK.00322-01 33 01-15
"chto-libo". 6-aya forma vyzova komandy - .if
!'cep1'cep2' chto-libo, nachal'noe znachenie - net,
net argumentov - net, primechanie - net. Esli
"cep1" ne sovpadaet s "cep2", to vvesti "chto-
libo";
ie - chast' if konstrukcii if-else. Forma vyzova ko-
mandy ie - .ie c chto-libo, nachal'noe znachenie -
net, net argumentov - net, primechanie - u. Vse
perechislennye vyshe formy spravedlivy i dlya etoj
komandy (analogichnoj if);
el - chast' else konstrukcii if-else. Forma vyzova ko-
mandy el - .el c chto-libo, nachal'noe znachenie -
net, net argumentov - net, primechanie - u. Imena
vstroennyh uslovij privodyatsya na ris.2
Vstroennye usloviya
-------------------------------------------
| imya | imeet znachenie "istina", esli |
|usloviya| |
|-------|---------------------------------|
| o | nomer tekushchej stranicy -nechetnyj|
| e | nomer tekushchej stranicy - chetnyj |
-------------------------------------------
ris.2
Esli uslovie c istinno, ili esli chislo N bol'she nulya,
ili esli cepochki tozhdestvenno sovpadayut (vklyuchaya peremeshche-
66
APK.00322-01 33 01-15
niya, razmer simvolov i shrift), to vvoditsya "chto-libo".
Esli usloviyu, chislu ili sravnivaemym cepochkam predshestvuet
znak !, to smysl usloviya menyaetsya na protivopolozhnyj.
Probely mezhdu usloviem i tekstom, prednaznachennym dlya
vvoda ("chto-libo"), ignoriruyutsya. "CHto-libo" mozhet soder-
zhat' libo odnu stroku ishodnogo teksta (obychnogo teksta,
makrokomandy ili chego-nibud' eshche), libo neskol'ko vhodnyh
strok. V sluchae neskol'kih strok pervaya stroka dolzhna na-
chinat'sya s levogo ogranichitelya \- . Poslednyaya stroka
dolzhna zakanchivat'sya pravym ogranichitelem \- .
Komanda ie (if-else) identichna komande if za isklyuche-
niem togo, chto zapominaetsya uslovie vvoda. Posleduyushchaya do-
polnyayushchaya komanda el (else) budet ispol'zovat' obratnoe
znachenie etogo usloviya. Bloki ie-el mogut byt' vlozhennymi.
Privedem neskol'ko primerov:
.if e .tl'CHetnaya stranica' %'''
eta komanda vyvodit zagolovok, esli nomer tekushchej stranicy
chetnyj. V sleduyushchem primere:
.ie \n%>1 \{\
'sp 3v
.tl 'stranica %'''
'sp |7v \}\
.el .sp |15v
pervaya stranica obrabatyvaetsya ne tak, kak ostal'nye.
67
APK.00322-01 33 01-15
17. PEREKLYUCHENIYA OKRUZHENIYA
Nekotorye parametry, kotorye upravlyayut obrabotkoj
teksta sobirayutsya vmeste v "okruzhenie", kotoroe mozhet pe-
reklyuchat'sya pol'zovatelem. Parametry "okruzheniya" eto te
parametry, v kolonke primechanij k opisaniyu kotoryh ukazano
E; dobavim, chto chastichno sobrannye stroki i slova tozhe po-
padayut v "okruzhenie". Vse drugie parametry global'ny i ne
zavisyat ot "okruzheniya", naprimer, stranichno-
orientirovannye parametry, parametry otvedenij, chislovye
registry i opredeleniya makro i cepochek. Pri nachal'nom
vklyucheniii kakogo-libo okruzheniya vse parametry prinimayut
znacheniya po umolchaniyu. Ispol'zuetsya komanda ev - pereklyu-
chit' okruzhenie. Forma vyzova komandy ev - .ev N, nachal'noe
znachenie - N=0, net argumentov - predydushchee, primechanie -
net. Tekushchee okruzhenie pereklyuchaetsya na okruzhenie N
(0<=N<=2). Pereklyuchenie proizvoditsya kak-by "upryatyvaniem"
tekushchego okruzheniya, i, poetomu, vosstanovlenie ("izvleche-
nie") predydushchego okruzheniya dolzhno obyazatel'no proizvo-
dit'sya pri pomoshchi komandy .ev, a ne kakoj-libo opredelen-
noj ssylki.
68
APK.00322-01 33 01-15
18. VSTAVKI IZ STANDARTNOGO VVODA
Vvod mozhet byt' vremenno pereklyuchen na ustrojstvo
standartnogo vvoda pri pomoshchi komandy rd. Obratnoe perek-
lyuchenie proishodit pri obnaruzhenii dvuh podryad pustyh
strok (dopolnitel'naya pustaya stroka ne ispol'zuetsya). |tot
mehanizm pozvolyaet vnosit' ispravleniya i dopolneniya, nap-
rimer, v dokumentaciyu tipa pisem. V sisteme DEMOS stan-
dartnymi sredstvami vvoda mogut byt' klaviatura pol'zova-
telya, liniya peredachi ili fajl. Ispol'zuyutsya sleduyushchie ko-
mandy:
rd - chitat' vstavku so standartnogo vvoda. Forma vy-
zova komandy rd - .rd podskazka, nachal'noe zna-
chenie - net. net argumentov - BEL, primechanie -
net. CHitat' vstavku s ustrojstva standartnogo
vvoda do teh por, poka ne budut najdeny podryad
dva znaka novoj stroki. Esli standartnym ustroj-
stvom vvoda yavlyaetsya klaviatura pol'zovatelya, na
terminal pol'zovatelya vyvoditsya "podskazka". S
komandoj rd mozhno obrashchat'sya kak s makrokomandoj
i pomeshchat' posle "podskazki" argumenty;
ex - vyhod iz sistemy pif. Forma vyzova komandy ex -
.ex, nachal'noe znachenie - net, net argumentov -
net, primechanie - net. Po etoj komande osu-
shchestvlyaetsya vyhod iz sistemy pif. Obrabotka
69
APK.00322-01 33 01-15
teksta prekrashchaetsya, kak v sluchae zaversheniya
vsego vvoda.
Esli izmeneniya dolzhny byt' vvedeny s klaviatury ter-
minala, v to vremya kak vyhodnoj tekst vyvoditsya na termi-
nal, parametr komandnoj stroki - q budet otmenyat' otobra-
zhenie na terminale vvodimoj s klaviatury informacii i
podskazki, za isklyucheniem signala "zvonok" (BEL).
Regulyarnyj vvod i vvod vstavok ne mozhet proizvodit'sya
odnovremenno s ustrojstva standartnogo vvoda.
Naprimer, mnogochislennye kopii tipovogo pis'ma mozhno
podgotovit', zapisyvaya izmeneniya ko vsem kopiyam v odin
fajl, ispol'zuemyj v kachestve standartnogo vvoda, i za-
stavlyaya fajl, soderzhashchij pis'mo, neodnokratno vyzyvat'
sebya s pomoshch'yu komandy nx (sm. razd.19). Process v konce
koncov zakonchitsya po komande eh v fajle ispravlenij.
70
APK.00322-01 33 01-15
19. PEREKLYUCHENIE VHODNOGO I VYHODNOGO
FAJLA
Ispol'zuyutsya sleduyushchie komandy:
so - pereklyuchit' ishodnyj fajl. Forma vyzova komandy
so - .so imyafajla, nachal'noe znachenie - net, net
argumentov - net, primechanie - net. Verhnij uro-
ven' vvoda (chtenie fajla) pereklyuchaetsya na fajl
"imyafajla". Komanda so, obnaruzhennaya v makroko-
mande ne dejstvuet do teh por, poka uroven' vvo-
da ne vozvrashchaetsya k urovnyu vvoda iz fajla.
Kogda novyj fajl ischerpan, vvod opyat' proishodit
iz pervonachal'nogo fajla. Komandy so mogut byt'
vlozhennymi;
nx - nachat' chtenie drugogo fajla. Forma vyzova koman-
dy nx - .nx imyafajla, nachal'noe znachenie - net,
net argumentov - konec, primechanie - net. Teku-
shchij fajl schitaetsya zakonchennym i vvod pereklyucha-
etsya nemedlenno na fajl "imyafajla";
pi - peredat' rezul'tat programme. Forma vyzova ko-
mandy pi - .pi programma, nachal'noe znachenie -
net, net argumentov - net, primechanie - net. |ta
komanda dolzhna poyavit'sya ran'she lyubyh operatorov
pechati. Nikakie argumenty v programmu ne pereda-
yutsya.
71
APK.00322-01 33 01-15
20. PROCHIE KOMANDY
K etim komandam otnosyatsya komandy:
mc - ukazat' granichnyj simvol. Forma vyzova komandy
mc - .mc c N, nachal'noe znachenie - net, net ar-
gumentov - vyklyuchit', primechanie - E, n. Ukazy-
vaet, kakoj simvol dolzhen raspolagat'sya na
rasstoyanii N posle kazhdoj nepustoj stroki
(isklyuchaya stroki, formiruemye komandoj tl). Esli
stroka vyhodnogo teksta yavlyaetsya slishkom dlinnoj
(naprimer, v sluchae raboty v rezhime "bez zapol-
neniya"), to priznak budet dobavlen k stroke.
Esli N ne zadano, ispol'zuetsya predydushchee znache-
nie N; nachal'noe znachenie N ravno 2n.
tm - vydat' na terminal "cepochku". Forma vyzova ko-
mandy tm - .tm cepochka, nachal'noe znachenie -
net, net argumentov - NL, primechanie - net.
Posle propuska nachal'nyh probelov "cepochka" (os-
tatok stroki komandy) schityvaetsya v rezhime kopi-
rovaniya i vyvoditsya na terminal pol'zovatelya;
ig - ignorirovat' stroki ishodnogo teksta. Forma vy-
zova komandy ig - .ig yy, nachal'noe znachenie -
net, net argumentov - .., primechanie - net.
Komanda dejstvuet tochno tak zhe, kak komanda de
(sm. podrazd.7.5) za isklyucheniem togo, chto vvod
ne proishodit. Ishodnyj tekst schityvaetsya v re-
72
APK.00322-01 33 01-15
zhime kopirovaniya i vse avtomaticheski uvelichiva-
emye registry budut izmenyat'sya;
pm - napechatat' spisok makrokomand. Forma vyzova ko-
mandy pm - .pm T, nachal'noe znachenie - net, net
argumentov - vse, primechanie - net. Pechatat'
makrokomandy. Na terminale pol'zovatelya pechata-
yutsya imena i razmery vseh opredelennyh makroko-
mand i cepochek; esli t zadano, to pechataetsya in-
formaciya tol'ko ob obshchem razmere. Edinicej izme-
reniya yavlyaetsya blok iz 128 simvolov.
fl - sbrosit' nakoplennyj vyvod. Forma vyzova komandy
fl - .fl, nachal'noe znachenie - net, net argumen-
tov - net, primechanie - net. Sbrosit' bufer vy-
voda. Ispol'zuetsya dlya vynuzhdennogo vyvoda pri
otladke v dialogovom rezhime.
73
APK.00322-01 33 01-15
21. VYHODNYE SOOBSHCHENIYA I SOOBSHCHENIYA OB
OSHIBKAH
Vyhodnye rezul'taty raboty komand tm, pm i "podskaz-
ka" komandy rd, tak zhe kak i soobshcheniya ob oshibkah, vydayut-
sya na standartnoe ustrojstvo vydachi soobshchenij (STDERR)
sistemy DEMOS. |to ustrojstvo otlichaetsya ot ustrojstva
standartnogo vyvoda, v kotoryj pif peresylaet otformatiro-
vannyj tekst. Po umolchaniyu i te i drugie vyvodyatsya na ter-
minal pol'zovatelya, no ih vyvodom mozhno upravlyat' nezavi-
simo.
V processe raboty pif mogut vozniknut' razlichnye oshi-
bochnye situacii. Nekotorye ne ochen' ser'eznye oshibki, ime-
yushchie lish' lokal'noe znachenie, ne vyzyvayut prekrashcheniya ob-
rabotki teksta. Primerami takih oshibok mogut yavlyat'sya, vo-
pervyh, perepolnenie bufera slov, kotoroe voznikaet iz-za
nevozmozhnosti pomestit' tuda slishkom dlinnoe slovo (pri
formirovanii v rezhime zapolnniya), i perepolnenie stroki,
kotoroe voznikaet pri chrezmernom uvelichenii dliny stroki,
ne pozvolyayushchem pomestit' ee v bufer stroki. V oboih slucha-
yah pechataetsya soobshchenie, lishnyaya chast' slova ili stroki
otbrasyvaetsya i izmenennoe slovo ili izmenennaya stroka v
tochke usecheniya pomechaetsya v pif zvezdochkoj *. Smysl etih
dejstvij zaklyuchaetsya v tom, chtoby prodolzhit' obrabotku
teksta, esli eto vozmozhno, tak kak poluchennyj vyvod mozhet
byt' polezen dlya otladki. Pri vozniknovenii ser'eznyh oshi-
bok obrabotka prekrashchaetsya i pechataetsya sootvetstvuyushchee
74
APK.00322-01 33 01-15
soobshchenie. Naprimer oshibki, ne pozvolyayushchie sozdat', schi-
tat' ili zapisat' fajly, oshibki, privodyashchie k prevysheniyu
nekotoryh vnutrennih vozmozhnostej sistemy, t.e. takie
oshibki, kotorye delayut necelesoobraznym dal'nejshij vyvod.
75
APK.00322-01 33 01-15
22. KRATKOE OPISANIE KOMAND
str. Komanda: Kratkoe opisanie:
13 .pl _N Ustanovit' dlinu stranicy
13 .bp _N Nachat' novuyu stranicu
14 .pn _N Prisvoit' nomer sleduyushchej stranice
14 .ne N Trebuetsya mesto po vertikali
14 .mk R Zaomnit' vertikal'nuyu poziciyu
15 .rt _N Vernut'sya k vertikal'noj pozicii
18 .br Prekratit' zapolchnenie stroki
18 .fi Vklyuchit' rezhim zapolneniya
18 .nf Vyklyuchit' rezhim zapolneniya
18 .ad c Ustanovit' tip vyravnivaniya
19 .na Otklyuchit' vyravnivanie strok
19 .ce N Otcentrirovat' sleduyushchie N vhodnyh strok
22 .vs N Ustanovit' interval mezhdu strokami
22 .ls _N Ustanovit' mezhstrochnoe rasstoyanie
23 .sp N Progon po vertikali na velichinu N
23 .sv N Sohranit' vertikal'nyj promezhutok
24 .os Vyvesti sohranennyj vertikal'nyj promezhutok
24 .ns Vklyuchit' rezhim "bez progonov"
24 .rs Vyklyuchit' rezhim "bez progonov"
25 Pustaya stroka
To zhe samoe,chto i .sp 1
26 .ll _N Ustanovit' dlinu stroki
27 .in _N Ustanovit' postoyannyj otstup
27 .ti _N Ustanovit' vremennyj otstup
34 .de xx yy Opredelit' ili pereopredelit' makrooprede-
76
APK.00322-01 33 01-15
lenie
35 .am xx yy Dobavit' k makrokomande
35 .ds xx cepochka
Opredelit' cepochku
35 .as xx cepochka
Dobavit' k cepochke
35 .rm xx Udalit' komandu, makro ili cepochku
36 .rn xx yy Pereimenovat' komandu, makro ili cepochku
36 .di xx Otvesti vyhodnoj tekst
36 .da xx Dobavit' vyhodnoj tekst k otvedennomu
36 .wn N xx Ustanovit' lovushku po pozicii na stranice
37 .ch xx N Izmenit' poziciyu lovushki
37 .dt N xx Ustanovit' lovushku po pozicii v otvedenii
37 .it N xx Ustanovit' lovushku po kolichestvu vvedennyh
strok
38 .em xx Konechnoe makroopredelenie
40 .nr R _N M Opredelit' i ustanovit' chislovoj registr
41 .af R c Opredelit' format chislovogo registra
41 .rr R Udalit' chislovoj registr
45 .ta Nt .... Ustanovit' tabulyacii
46 .tc c Ustanovit' simvol zapolneniya tabulyacii
46 .lc c Ustanovit' simvol zapolneniya liderov
46 .fc a b Ustanovit' simvoly ogranichitelya i zapolni-
telya polya
48 .ec c Ustanovit' simvol pereklyucheniya
48 .eo Izmenit' sostoyanie mehanizma pereklyucheniya
49 .ul N Podcherkivat' sleduyushchie N strok ishodnogo
teksta
77
APK.00322-01 33 01-15
49 .ft F Izmenit' tekushchij shrift
49 .cu N Podcherkivat' sleduyushchie N strok
50 .cc c Ustanovit' osnovnoj upravlyayushchij simvol
50 .c2 c Ustanovit' upravlyayushchij simvol bez preryva-
niya
58 .nh Otklyuchit' rezhim avtomaticheskogo perenosa
58 .hy N Vklyuchit' rezhim avtomaticheskogo perenosa
58 .hc c Ustanovit' simvol ukazatelya perenosa
60 .tl 'lev.'centr.'prav.'
Zagolovok iz treh chastej
61 .pc c Ustanovit' simvol nomera stranicy
61 .lt _N Ustanovit' dlinu zagolovka iz treh chastej
61 .nm _N M S I
Vklyuchit' rezhim numeracii vhodnyh strok
62 .nn N Ne numerovat' sleduyushchie N strok
64 .if c chto-libo
Esli uslovie c istinno, vypolnit' "chto-
libo"
64 .if |c chto-libo
Esli uslovie c lozhno, vypolnit' "chto-libo"
64 .if N chto-libo
Esli vyrazhenie N>0, vypolnit' "chto-libo"
64 .if |N chto-libo
Esli vyrazhenie N<=0, vypolnit' "chto-libo"
64 .if 'cep1'cep2' chto-libo
Esli "cep1" sovpadaet s "cep2", vypolnit'
"chto-libo"
65 .if |'cep1'cep2' chto-libo
78
APK.00322-01 33 01-15
Esli "cep1" ne sovpadaet s "cep2", vypol-
nit' "chto-libo"
65 .ie c chto-libo
CHast' if konstrukcii if-else
65 .el c chto-libo
CHast' else konstrukcii if-else
67 .ev N Pereklyuchit' okruzhenie
68 .rd podskazka
CHitat' vstavku so standartnogo vvoda
68 .ex Vyhod iz sistemy pif
70 .so imya fajla
Pereklyuchit' ishodnyj fajl
70 .nx imya fajla
Nachat' chtenie drugogo fajla
70 .pi programma
Peredat' rezul'tat programme
71 .mc c N Ukazat' granichnyj simvol
71 .tm cepochka Vydat' na terminal "cepochku"
71 .ig yy Ignorirovat' stroki ishodnogo teksta
72 .pm t Napechatat' spisok makrokomand
72 .fl Sbrosit' nakoplennyj vyvod
79
APK.00322-01 33 01-15
23. PERECHENX PEREKLYUCHATELXNYH
POSLEDOVATELXNOSTEJ
V sisteme pif ispol'zuyutsya sleduyushchie pereklyuchatel'nye
posledovatel'nosti:
posledova- znachenie:
tel'nost':
\\ - \ (dlya predotvrashcheniya ili zaderzhki interpre-
tacii \);
\e - pechataemaya tekushchaya versiya simvola pereklyuche-
niya;
\. - tochka;
\(probel) - simvol nezapolnyaemogo probela;
\& - nepechataemyj simvol nulevoj shiriny;
\! - ukazatel' "prozrachnoj" stroki;
\" - nachalo kommentariya;
\$N - rassmatrivat' kak argument (1<=N<=9);
\% - po umolchaniyu simvol perenosa;
\*x,\*(xx - vstavit' cepochku h ili hh;
\a - neinterpretiruemyj lider-simvol;
\c - preryvanie obrabotki teksta;
80
APK.00322-01 33 01-15
\d - vertikal'noe smeshchenie vpered (vniz) na 1/2
stroki;
\h'N' - lokal'noe peremeshchenie v gorizontal'nom nap-
ravlenii; peremestit' vpravo na N (pri otri-
catel'nom N - nalevo);
\jx - pomestit' metku gorizontal'noj pozicii vyhod-
nogo teksta v registr h;
\kx - pomestit' metku gorizontal'noj pozicii ishod-
nogo teksta v registr h;
\l'Nc' - funkciya vycherchivaniya gorizontal'nyh linij;
\L'Nc' - funkciya provedeniya vertikal'nyh linij;
\nx,\n(xx - vstavit' znachenie chislovogo registra x ili
xx;
\o'abc...' - pechatat' na odnom meste simvoly a,b,c...;
\p - vyzyvaet preryvanie i rastyagivaet vyhodnuyu
stroku;
\r - obratnoe peremeshchenie v vertikal'nom napravle-
nii na 1 stroku;
\t - neinterpretiruemyj simvol gorizontal'noj ta-
bulyacii;
\u - vertikal'noe peremeshchenie v obratnom napravle-
nii na 1/2 stroki;
81
APK.00322-01 33 01-15
\v'N' - lokal'noe peremeshchenie v vertikal'nom naprav-
lenii. Peremestit' vniz na rasstoyanie N (pri
otricatel'nom N-vverh);
\w'cepoch.' - podstavlyaetsya znachenie shiriny "cepoch.";
\x'N' - funkciya dobavleniya dopolnitel'nyh pustyh
strok (pri otricatel'nom argumente pered te-
kushchej strokoj, pri polozhitel'nom - posle
nee);
\zc - pechatat' simvol "c" s nulevoj shirinoj (bez
posleduyushchego dvizheniya);
\{ - nachat' uslovnyj vvod;
\} - zakonchit' uslovnyj vvod;
\(newline) - skrytyj simvol novoj stroki (ignoriruemyj);
\X - X, lyuboj simvol, ne perechislennyj vyshe.
Pereklyuchatel'nye posledovatel'nosti \\, \., \", \$,
\*, \a, \n, \t i \(newline) interpretiruyutsya v rezhime ko-
pirovan
SISTEMNYE
VYZOVY
MAN3.FCPS PUKOBODCTBO PPOGPAM-
MISTA
CHASTX 3. BIBLIOTECHNYE
FUNKCII
AI.FCPS PUKOBODCTBO PPOGPAM-
MISTA
CHASTX 4. KOMANDY
OBSHCHEGO NAZNACHENIYA OT
A DO J
JZ.FCPS PUKOBODCTBO PPOGPAM-
MISTA
CHASTX 5. KOMANDY
OBSHCHEGO NAZNACHENIYA OT
J DO Z
MAN8.FCPS PUKOBODCTBO PPOGPAM-
MISTA
CHASTX 6. SOPROVOZHDENIE
SISTEMY
MAN4.FCPS PUKOBODCTBO PPOGPAM-
CHASTX 7. SPECIALXNYE
FAJLY
MAN5.FCPS PUKOBODCTBO PPOGPAM-
MISTA
CHASTX 8. FORMATY FAJLOV
MAN7.FCPS PUKOBODCTBO PPOGPAM-
MISTA
CHASTX 9. MAKROPAKETY
NED.FCPS PUKOBODCTBO PPOGPAM-
MISTA
CHASTX 10. |KRANNYJ
REDAKTOR TEKSTOV
MAN0.FCPS PUKOBODCTBO PPOGPAM-
MISTA
CHASTX 11. KRATKIJ
SPRAVOCHNIK PO KOMPO-
NENTAM SISTEMY
DCON.FCPS PUKOBODCTBO PPOGPAM-
MISTA
CHASTX 12. OTLADCHIK DLYA
YAZYKOV SI I FORTRAN
ROP.FCPS PUKOBODCTBO
OPERATORA
PASCAL.FCPS PACKALX.OPICANIE
YAZYKA
AS.FCPS ACCEMBLEP.OPICANIE
YAZYKA
KPES.FCPS OPICANIE KONTPOLXNOGO
PRIMERA
BCDC.FCPS DIALOGOVAYA EDINAYA PPOGPAMMA
MOBILXNAYA OPERACIONNAYA DLYA VYCHISLE-
SISTEMA NIYA S PROIZ-
RUKOVODSTVO PROGRAM- VOLXNOJ TOCH-
MISTA PRILOZHENIE 8 NOSTXYU VCDC
LEARN.FCPS DIALOGOBAYA EDIHAYA OBUCHAYUSHCHAYA
MOBILXNAYA OPERACIONNAYA SISTEMA LEARN
SISTEMA
RUKOVODSTVO PROGRAM-
MISTA PRILOZHENIE 9
ED.FCPS DIALOGOVAYA EDINAYA PEDAKTOP
MOBILXNAYA OPERACIONNAYA TEKSTOV ED
SISTEMA
RUKOVODSTVO PROGRAM-
MISTA PRILOZHENIE 10
SED.FCPS DIALOGOVAYA EDINAYA PEDAKTOP
MOBILXNAYA OPERACIONNAYA TEKSTOV SED
SISTEMA
RUKOVODSTVO PROGRAM-
MISTA PRILOZHENIE 11
FSCK.FCPS DIALOGOVAYA EDINAYA PPOGPAMMA
MOBILXNAYA OPERACIONNAYA PROVERKI
SISTEMA FAJLOVOJ
RUKOVODSTVO PROGRAM- STRUKTURY
MISTA PRILOZHENIE 13
PIF.FCPS DIALOGOVAYA EDINAYA CICTEMA
MOBILXNAYA OPERACIONNAYA PODGOTOVKI
SISTEMA DOKUMENTA-
RUKOVODSTVO PROGRAM- CII PIF
MISTA PRILOZHENIE 14
M4.FCPS DIALOGOVAYA EDINAYA MAKPO-
MOBILXNAYA OPERACIONNAYA PROCESSOR M4
SISTEMA
RUKOVODSTVO PROGRAM-
MISTA PRILOZHENIE 16
YACC.FCPS DIALOGOVAYA EDINAYA OPICANIE
MOBILXNAYA OPERACIONNAYA YAZYKA YACC
SISTEMA
RUKOVODSTVO PROGRAM-
MISTA PRILOZHENIE 17
LEX.FCPS DIALOGOVAYA EDINAYA OPICANIE
MOBILXNAYA OPERACIONNAYA YAZYKA LEX
SISTEMA
RUKOVODSTVO PROGRAM-
MISTA PRILOZHENIE 18
F771.FCPS DIALOGOBAYA EDIHAYA
MOBILXNAYA OPERACIONNAYA
SISTEMA
FORTRAN-77.OPISANIE
YAZYKA
F772.FCPS DIALOGOBAYA EDIHAYA
MOBILXNAYA OPEPACIONNAYA
SISTEMA
FORTRAN-77. OPISANIE
YAZYKA
CC.FCPS DIALOGOBAYA EDIHAYA
MOBILXNAYA OPERACIONNAYA
SISTEMA
SI. OPISANIE YAZYKA
SH.FCPS DIALOGOBAYA EDIHAYA
MOBILXNAYA OPERACIONNAYA
SISTEMA
SHELL.OPISANIE YAZYKA
CSH.FCPS DIALOGOVAYA EDINAYA
MOBILXNAYA OPERACIONNAYA
SISTEMA
CSHELL. OPICANIE
YAZYKA
=========================================================================
SI. OPISANIE YAZYKA
SH.FCPS DIALOGOBAYA EDIHAYA
MOBILXNAYA OPERACIONNAYA
SISTEMA
SHELL.OPISANIE YAZYKA
CSH.FCPS DIALOGOVAYA EDINAYA
rop.fcps
Last-modified: Tue, 30 Jun 1998 04:43:52 GMT