Ocenite etot tekst:


                            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
Ocenite etot tekst: