DataMuseum.dk

Presents historical artifacts from the history of:

RC3500

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC3500

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦f8422f979⟧ TextFileVerbose

    Length: 39168 (0x9900)
    Types: TextFileVerbose
    Names: »roffman«

Derivation

└─⟦a41ae585a⟧ Bits:30001842 SW-save af projekt 1000, Alarm-system
    └─⟦72244f0ef⟧ 
        └─⟦this⟧ »roffman« 

TextFileVerbose

>cc .
.fo ROFF brugervejledning
.ve 2
.sp10
.ul
FORORD

Denne udgave 2 af ROFF bruger_vejledning beskriver de nye faciliteter,
der er indf|rt i release 2.0 af ROFF programmet.

Rettelserne er markeret med en korrektions_linie i venstre margen.

Det drejer sig bl.a. om:

- stikordsregister
- regneregistre
- korrektionslinier
- ny type rammedefinition
- konkateneringskommando
- {ndring af >pn-kommando
- kommando til BOSS-linienumre
- kommando til {ndring af bloktegn
- nye kald-parametre

.pn 0
.he
 
.a1 INDLEDNING
.he #
.ms ROFF brugervejledning
ROFF er et program, der kan lave tekstbehandling p} et RC8000^ anl{g.
    
Denne manual er et eksempel p} dens arbejde.

Selve ordet er en sammentr{kning af det engelske "run off", der betyder
"trykke".

ROFF kan f.eks. automatisk lave

 - opdeling i sider
 - nummerering af sider
 - fast hoved og/eller fod p} hver side
 - afsnitsnummerering
 - figurnummerering
 - eksempelnummerering
 - indholdsfortegnelse
 - stikordsregister
 - indrykning
   osv.
      
Input_tekst^en til ROFF tastes ind p} normal vis ved brug af fx
BOSS-editor^en eller EDIT^.

For at ROFF kan vide, hvad der skal g|res ved teksten (f.eks.
at der skal starte et nyt afsnit), inds{ttes ROFF-kommandoer
.ul
i selve teksten.

.ix indtastning
En ROFF-kommando best}r af tegnet ">" efterfulgt af (pr{cis)
to bogstaver samt evt. et antal parametre,  og den skal altid
.ul
st} f|rst p} en linie.
  
.ix ROFF-kommando, struktur

.ex En ROFF Kommando

Denne eksempeloverskrift^ er lavet ved hj{lp af ROFF-kommandoen:

>ex^ En ROFF Kommando

Bem{rk, at der i teksten ikke st}r noget om eksemplets nummer -
.ix eksempel-nummerering
det finder ROFF selv ud af (alle eksempler nummereres fortl|bende
startende fra 1 (se ref. 1)). Der st}r heller ikke noget om, at
overskriften skal understreges - det g|r ROFF automatisk.

.a2 Fyldning af linierne
.ix $fyldning$se liniefyldning
ROFF s|rger for at fylde linierne passende op og skifte linie,
n}r det er n|dvendigt. Dvs. at
.ul
linieskift^ i input-teksten til ROFF ikke n|dvendigvis er
.ul
sammenfaldende med linieskift i den f{rdigbehandlede tekst.
ROFF s|rger ogs} for at fylde et passende antal blanke ind
i linien, s}ledes at alle linier bliver lige lange (lige
h|jre margen).
.ix h|jre-margen
.ix $margen, h|jre$se h|jre-margen

F.eks. kunne input-teksten tastes ind s}ledes:

.nf
Der var en gang en prins.
Han ville have sig en
prinsesse,
men det skulle v{re en
rigtig prinsesse.
S} rejste han hele verden rundt
for at finde s}dan en, men
alle steder var der noget
i  vejen.

.fi
.ix $fill$se fi

Efter behandling af ROFF bliver den til:

Der var en gang en prins. Han ville have sig en prinsesse.
Men det skulle v{re en rigtig prinsesse. S} rejste han hele
verden rundt for at finde s}dan en, men alle steder var der
noget i vejen.

Det er naturligvis muligt selv at styre liniedelingen, f.eks.
hvis man |nsker at skrive vers^.

.ex Tekst uden automatisk liniedeling.

Med kommandoen

>nf^

alene f|rst p} en linie sl}s den automatiske "liniefyldning" fra.
(nf betyder "no fill").
.ix $no fill$se nf

Med kommandoen

>fi^

sl}s "fyldning" til igen.
 
Hvis man har sl}et den automatiske liniefyldning^ fra bliver
linierne heller ikke h|jrejusteret.
.ix h|jre-justering

.a2 Denne manuals inddeling
I de f|lgende afsnit vil vi gennemg} de enkelte ROFF-kommandoer
een for een, og vi vil afslutte med et kapitel om den rent
praktiske brug af ROFF-programmet.

Gennemgangen af kommandoerne er delt p} to  kapitler. F|rst
beskrives de hyppigst anvendte kommandoer ("ROFF til hverdagsbrug")
og dern{st de mere sophistikerede ("ROFF for viderekomne")

.a1 ROFF TIL HVERDAGSBRUG
I dette kapitel vil vi give en beskrivelse af de hyppigst anvendte
ROFF-kommandoer.
.ix ##ROFF-kommandoer

.a2 Nummerering^

Manualforskrifterne (ref. 1) giver standard^er for nummerering af

   -afsnit

   -figurer

   -eksempler

I det f|lgende beskrives ROFF-kommandoer, der udf|rer denne nummerering.

.a3 Afsnitsnummerering^
Der findes fire "typer af afsnit":
.ix afsnit, typer af
.ix $nummerering af afsnit$se afsnitsnummerering

  1.        Kapitel^

  1.3       Afsnit^

  1.2.7     Underafsnit^

  1.4.2.1   Underunderafsnit^

Vi kalder disse afsnitsinddelinger for afsnit af type 1, 2, 3 og 4 resp.

Hertil svarer fire ROFF-kommandoer, nemlig

  >a1^, >a2^, >a3^ og >a4^.

Overskriften p} dette kapitel er s}ledes lavet ved:

>a1 ROFF TIL HVERDAGSBRUG.

mens afsnittets overskrift er blevet til ved:

>a3 Afsnitsnummerering.
   
.cl2
Hver gang en af disse fire kommandoer anvendes, vil ROFF
redefinere indrykning^en
.ix reset indrykning
.ix redefiner indrykning
.ix indrykning, redefinering
til standardv{rdien (d.v.s. 8).
.cl-2
   
  
.a3 Bilagsnummerering^
.ix $nummerering af bilag$se bilagsnummerering
Nummerering af bilag^ og afsnit indenfor bilag foretages n|jagtig som
afsnits_nummerering, alts} ved benyttelse af kommandoerne:
       
>a1, >a2, >a3 og >a4
     
Blot skal man inden det f|rste bilag give kommandoen:
   
>ap^
     
alene f|rst p} en linie ("ap" for appendix^).
.a3 Figurnummerering^
.ix $nummerering af figurer$se figurnummerering
Figurer nummereres fortl|bende begyndende med 1.

ROFF-kommandoen:

>fg^ Figurtekst

udf|rer automatisk nummereringen.

Da dette er den f|rste figur i dette skrift vil ovenst}ende kommando efter
"roffning" blive til

.fg Figurtekst

Bem{rk at ROFF centrerer teksten under figuren.
.ix centrering

.a3 Eksempel-nummerering^
.ix $nummerering af eksempler$se eksempel-nummerering
Eksempler nummereres fortl|bende begyndende med 1.

ROFF-kommandoen

>ex Eksempel-overskrift

udf|rer automatisk nummereringen.

Da der tidligere har v{ret to eksempler, vil ovenst}ende kommando efter
roffning blive til:

.ex Eksempel-overskrift.

.a3 Indholdsfortegnelse^
ROFF producerer automatisk en indholdsfortegnelse som vist i ref. 1.

Se f.eks. indholdsfortegnelsen til dette skrift.

.a2 Kontrol af linieskift^ og sideskift^
.ix blanke linier
.ix nyt afsnit
Blanke linier i input-teksten vil ogs} i den roffede tekst fremst} som 
blanke linier, dvs. n}r der i input-teksten forekommer en "tom linie"
vil ROFF lave et linieskift, der "afbryder" den linie, der er ved at blive
udfyldt, og derefter vil ROFF lave en tom linie.

N}r man s}ledes laver "nyt afsnit" er det nok at lave en blank linie som man plejer.

.a3 sp
.ix space
Skal man have flere tomme linier efter hinanden, kan man naturligvis lave 
dem i input-teksten.

Man kan ogs} f} ROFF til at lave dem.

ROFF-kommandoen >sp^ ("space") efterfulgt af et tal vil generere dette 
antal blanke linier.

.ex Tomme linier.
.nf
Input-teksten:
abc
.sp3
def

er {kvivalent med:

abc
>sp3
def
.fi

.ix liniebrud
.ex Liniebrud
Kommandoen >br^ (for "break") vil afbryde den linie, man er i gang med, men vil ikke
.ix $break$se br
lave en blank linie.

S}ledes vil input-teksten:

.ne 10
.nf
dette
>br
er
>br
en 
>br
pr|ve

efter roffning blive til:

.ne 8
dette
er
en 
pr|ve
.fi
 
>br virker p} samme m}de som >sp0.

Se ogs} det tidligere eksempel "tekst uden liniedeling" samt omtalen af 
kommandoerne >nf og >fi i eksempel 2.

.a3 ne
Skal man f.eks. lave plads til en figur, kan man bruge sp-kommandoen.
.ix figurer

Imidlertid er man interesseret i, at 
.ul
alle
de tomme linier kommer til at st} p} 
.ul
samme
side i den roffede tekst.

Dette opn}s ved >ne^-kommandoen ("need"). F.eks. betyder
.ix $need$se ne

>ne 7

at s}fremt der er mindre end 7 linier tilbage p} siden (efter roffning)
skal ROFF begynde p} en ny side.

.ex Figurer^.
.ix beregning af figurplads
.ix figurplads, beregning af
 
Skal man afs{tte plads til en figur ved navn "konfiguration", som 
fylder 9 linier g|res s}ledes:

.nf
>ne 11
>sp 9
>fg Konfiguration.
.fi

L{g m{rke til, at der beh|ves ("need") to linier mere end figuren fylder.
Det er for at v{re sikker p}, at figurteksten kan komme med p} samme
side som figuren.

.a3 Sideskift^
Vil man explicit skifte til en ny side bruges >np^ ("new page").
>np kan eventuelt efterf|lges af et tal, der angiver hvor mange
tomme sider, man |nsker.

.a2 Understregning^
\nskes en del af teksten understreget, benyttes >ul^-kommandoen ("under-line"). 
.ix $underline$se ul

Denne kommando s|rger for at den n{ste linie i
.ul
input-teksten vil blive understreget
i den roffede tekst.

.ex Understregning.
 
Ovenst}ende s{tning s} s}ledes ud i input-teksten:

.nf

Denne kommando s|rger for
at den n{ste linie i
>ul
input-teksten vil blive understreget
i den roffede tekst.
.fi

.ix understregning af mellemrum
Bem{rk, at ROFF ikke understreger mellemrum ("blanke").
(At de faktisk bliver understreget i eksempel- og
afsnits_overskrifter skyldes at der her er brugt
fikserede mellemrum (se n{ste afsnit)).

.a2 Fikserede mellemrum^
.ix liniedeling
.ix fikseret mellemrum
.ix $mellemrum, fikseret$se fikseret mellemrum
ROFF vil dele linier ved mellemrum, men hvis man ikke |nsker, at der skal
v{re liniedeling ved et mellemrum, kan man benytte et s}kaldt "fikseret
mellemrum".

.ms ins{t snabel_a
Det er tegnet: @ ("snabel-a").

    
Et fikseret mellemrum behandles af ROFF som et almindeligt tegn, men
vil i den roffede tekst fremtr{de som et  mellemrum.
   
.ex Fikseret mellemrum.
 
Lad os se p} f|lgende input-tekst:

.nf
Til attention bruges escape-tasten
( ESC ).
.fi

Der er mellemrum mellem ESC og parentesen fordi der skal tegnes en ramme
om ESC i den roffede tekst. Dette mellemrum er imidlertid ikke fikseret,
s} den roffede tekst kan komme til at se s}ledes ud:
.nf
 
Til attention bruges escape-tasten ( ESC
).
 
Input-teksten burde have set s}ledes ud:
 
.ms inds{t 2 snabel_a'er
Til attention bruges escape-tasten (@ESC@).
.fi

.a2 Kontrol af indrykning^
.ix kontrol af indrykning
Positionen af tekstens venstre margen ("indryk_ningen") kan styres
.ix venstre-margen
.ix $margen, venstre$se venstre-margen
med >in^ kommandoen.

>in skal efterf|lges af et tal, der angiver den relative indrykning
i forhold til den aktuelle.

F.eks. vil input-teksten:
.ne8
.nf
>nf
>in2
a
b
c
>in-2
>fi
.fi

efter roffning blive til:

.ne4
  a
  b
  c

Eventuelle indrykninger redefineres ved brug af >a1, >a2, >a3 og >a4.

.a3 Tempor{r indrykning
.ix tempor{r indrykning
.ix indrykning, tempor{r
Hvis indrykningen kun skal g{lde for den
.ul
n{ste roffede linie
benyttes >ti^ kommandoen ("temporary indention").

F.eks. vil input-teksten:
.ne9
.nf
>nf
>in 4
>ti-2
a
b
c
>in-4
>fi
.fi

i den roffede version blive til:

.ne4
  a
    b
    c

.a3 Total liniekontrol^
.ix total liniekontrol
Indledes en linie i input_teksten med et mellemrum^
.ul
kopieres denne linie u{ndret
til den roffede tekst.

Dette kan f.eks. bruges ved opstilling af tabeller o.l.
.ix tabeller, opstilling af

.ex Total liniekontrol.


F|lgende input_tekst

 Dette  er    en pr|ve

vil i den roffede tekst blive til

 Dette  er    en pr|ve

alts} u{ndret.

For |vrigt vil

.nf
>in 1
>nf
Dette  er    en pr|ve
>fi
>in -1
.fi

give samme resultat.

At indlede en linie med mellemrum^ er alts} det samme som at lave
en implicit "no fill" p} denne ene linie.

.a2 Ord-deling^
.ix automatisk orddeling
.ix lange ord
ROFF laver ikke automatisk orddeling, d.v.s. hvis et ord ikke kan
st} p} en linie flyttes det ned p} den n{ste, og mellemrummene
p} linien udvides, s} linien f}r samme l{ngde som alle de andre 
linier.
.ix h|jre-justering

Hvis det er et meget langt ord, der lige akkurat ikke kan v{re p}
linien, bliver der s}ledes meget plads, der skal fordeles p}
liniens ord_mellemrum, og disse kan derfor blive meget lange:

"ROFF-programmet er et computertekstbehandlingsprogram"

.tc +
illustrerer problemet!
.tc !

Man kan "hj{lpe" ROFF ved at inds{tte 
ord_delings_forslag (ved hj{lp af
.hc ;
tegnet "_", dvs. understreg;ning) i lange ord. F.eks. vil
input_teksten

.nf
.ne7
"ROFF-programmet er et
computer_tekst_behandlings_program".
.fi
.hc _

give resultatet:

"ROFF-programmet er et
computer_tekst_behandlings_program".

.a1 ROFF FOR VIDEREKOMNE
.ix ROFF for viderekomne
I dette kapitel vil vi beskrive nogle af de mere sophistikerede
anvendelser af ROFF, f.eks.:

 - tabulation^
 - rammer^
 - blokke^
 - styring af sideparametre^
 - valg af funktionstegn^

.a2 Tabulation^
Til brug ved f.eks. kolonne_opstilling af tabeller findes mulighed
for tabulation.

Man angiver tabulations_positioner^ne ved kommandoen >ta^ efterfulgt
.ix udr}bstegn
af positionerne:

>ta 10 20 45
.ta 10 20 45

.tc ;
Tabulations_tegn^et er "!" (udr}bstegn).

Med ovenst}ende definition af tabulations_positionerne vil input_teksten:

.ne 10
.nf
!7!9!13
!777!999!1313
.fi

give resultatet:

.nf
.tc !
!7!9!13
!777!999!1313
.fi

.a3 H|jre- og centertabulation^
.ix h|jretabulation
Ovenst}ende kolonner er venstre_justerede, startende i
tabulations_positionen.

Det er ogs} muligt at f} teksten h|jre_justeret eller centreret omkring
tabulations_positionen.
.ix centrering

Dette g|res ved at taste et R eller et C umiddelbart efter positions_angivelsen 
i >ta-kommandoen. L for "left" er default.

S}ledes vil inputteksten:

.ne 10
.nf
>nf
.tc 
>ta 10L 20C 45R
.ta 10L 20C 45R
!7!9!13
!77!999!1313
!777!99999!131313
>fi

give resultatet:

.tc !
!7!9!13
!77!999!1313
!777!99999!131313
.fi

.a3 Visning af positionerne
.ix visning af positioner
Det er muligt at f} de g{ldende tabulations_positioner vist
|verst p} siden.

Kommandoen:

>td^

("tab display") vil give udskriften |verst p} denne side.
.ix $tab display$se td

.td

.a3 Tabulations register
.ix tabulationsregister
.ix register, tab
Det er muligt at gemme alle tabulations_positioner i et
register, f.eks. hvis man hyppigt anvender et s{t tabu_lations_positioner,
men ind imellem gerne vil s{tte nogle andre.

Det g|res ved

>ts^

for "tabs save".

>tl^

for "tabs load" vil retablere de gemte tabulations_positioner fra registret.

.a2 Rammer^
.ix indramning af tabeller
.ix tabeller, indramning af
.ix tabeller, opstilling af
Rammer bruges f.eks. til indramning af tabeller med lodrette og
vandrette streger:

.ne 10
.nf
.ta  14R  20R  26R
.fd  10  16  22  28
.fb
!A!B!C
.fb
!11!18!12
!10!19!33
!8!114!321
.fe
.fi

Til dette form}l benyttes de fire kommandoer:

.cl2
 >fd^ eller >fv^  (frame definition)
.cl-2
 >fb^  (frame begin)
 >fe^  (frame end)

>fd definerer positionerne 
for de lodrette streger i rammen. Ovenst}ende ramme er defineret af

.tc ;
>fd 10 16 22 28
    
.cl2
Hvor positionerne defineres absolut ved >fd kan de defineres relativt
ved >fv ("frame visual definition").
     
Ovenst}ende ramme kunne v{re defineret af:
    
.nf
>fv 10 !   A !   B !   C !
.fi
     
Tallet umiddelbart efter >fv angiver positionen for den f|rste lodrette
streg i rammen. De efterf|lgende udr}bs_tegn markerer positionerne
for rammens |vrige lodrette streger. Teksten ind imellem er kun
med af "t{lle-hensyn".
.cl-2
        
>fb laver de vandrette streger (undtagen den sidste).

>fe laver den sidste vandrette streg og afslutter rammen.
.ix vandrette streger

Ovenst}ende ramme er fremkommet ved f|lgende input_tekst:

.nf
.tc ;
>ne 10
>nf
>ta 14R  20R  26R
>fd 10  16  22  28
>fb
!A!B!C
>fb
!11!18!12
!10!19!33
!8!114!321
>fe
.tc !
>fi
.fi

.a3 Ramme-tabulation
.ix rammetabulation
Det er muligt at definere tabulations_positioner, der "passer"
til en ramme, f.eks. venstre-tabulations_positioner, der alle
ligger to positioner til h|jre for rammens lodrette streger
(undtagen den sidste). Hertil bruges:

>tf^

for "tab frame".

.nf
F.eks vil input-teksten:

.ne10
>ne10
>nf
>fd 12 22 42 52
>tf
>fb
.tc %
!7!9!13
>fe
>fi
.ne10

give f|lgende resultat:

.tc !
.fd 12 22 42 52
.tf
.fb
!7!9!13
.fe
.fi

>tf er alts} i dette tilf{lde det samme som

>ta 14 24 44

Det er ogs} muligt at definere tabulations_positioner, der ligger
hhv. til h|jre i kolonnerne og i midten. Det g|res ved:

.ix tf R, tf L, tf C
>tf R
          og
>tf C

.cl2
Med >tf@C i ovenst}ende eksempel ville vi f}:

.nf
.tf C
.fb
!7!9!13
.fe
.fi
.cl-2

.a2 Blokke^

ROFF kan hj{lpe med at lave to slags "blokke", d.v.s. indrykkede
tekstklumper^:

 - simple blokke
 - tekstede blokke

.a3 Simple blokke
.ix simple blokke
F|lgende er et eksempel p} en simpel blok:

- En klump tekst, der er indrykket, og hvor
der st}r en binde_streg^ til venstre for f|rste
linie er en simpel blok.

Ovenst}ende blok blev lavet af f|lgende input-tekst:

.in-1
 - En klump tekst, der er indrykket, og hvor
 der st}r en binde_streg til venstre for f|rste
 linie er en simpel blok.

.in1
Blok-tegnet er en bindestreg pr. default, men kan redefineres
af brugeren (se senere under "special_tegn").
.ix bloktegn

Blokken afsluttes af en tom linie i input-teksten.
\nsker man tomme linier i blokken uden at afslutte den, kan man bruge

>sp1

For at summere:
.br
En linie, der indledes med "-@" (eller et bruger_defineret bloktegn) er det samme som:

.ne2
>in5
.br
>ti-2

.a3 Tekstede blokke
.ix tekstede blokke
Et eksempel p} en tekstet blok er:

.tb 18 Tekstede blokke
er en klump tekst, der er indrykket, og hvor der st}r en tekst
til venstre for f|rste linie.

Ovenst}ende blev lavet af f|lgende input_tekst:

.nf
>tb^ 18 Tekstede blokke
er en klump tekst, der er indrykket,
og hvor der st}r en tekst
til venstre for f|rste linie.

.fi

Blokken sluttes af en tom linie i input_teksten.
Der m} derfor ikke st} en tom linie umiddelbart efter >tb-kommandoen.

Tallet 18 i >tb-kommandoen angiver at indrykning^en af blokken skal
v{re 18 tegn. Den efterf|lgende tekst m} ikke v{re l{ngere end
denne indrykning.

.cl2
.a2 Stikordsregister^
\nsker man sit skrift forsynet med et stikords_register (fx som det,
der findes bagest i denne manual) kan man f} ROFF til at lave dette
automatisk.

Det g|res dels ved at m{rke de ord i teksten, der skal optr{de i
stikords_registret og dels ved hj{lp af ROFF-kommandoen >ix.

.a3 Markering af stikord
.xc #
De ord, der skal optr{de som stik_ord skal m{rkes med tegnet "^"
umiddel_bart efter
.ms pil-op
ordet (eller den del af ordet, der skal v{re stik_ord).

.ne18
.ex Markering af stikord
F|lgende input-tekst:
 
.hc
.nf
\nsker man sit skrift^ forsynet
med stikordsregister^ kan man
m{rke de ord, der skal optr{de
som stikord^. Stik_ord^ene m}
gerne begynde med stort og
de m} gerne indeholde ord_delings_tegn^.

vil give f|lgende stikordsregister:

.ne5
.rc$
.ms pil-op'er i eksempel $e
orddelingstegn ................ $p
skrift......................... $p
stikord........................ $p
stikordsregister............... $p

.fi
.hc _
.rc
.xc ^

Stikordet bestemmes ud fra stikords_tegnet p} f|lgende m}de:

N}r stikordstegnet m|des s|ges tilbage indtil der m|des en blank
(eller til starten af input-linien).

Herefter s|ges
.ul
frem
til der m|des et bogstav. Stikordet er da ordet fra og med dette bogstav
til stikords_tegnet.

F.eks. vil input-teksten

.xc
 "ROFF^"
.ms pil-op i "ROFF^"
.xc^

give stikordet

.rc$
.nf
ROFF........................... $p

og ikke

"ROFF.......................... $p
.fi
.rc
.a3 Stikord med stort begyndelsesbogstav
.ix stort begyndelsesbogstav
Hvis et stikord begynder med stort vil det komme til at indg}
i stikords_registret med lille begyndelses_bogstav. Dette g{lder
dog
.ul
kun s}fremt der ikke er andre store bogstaver i ordet.
Hvis fx ordet ROFF var markeret som stik_ord ville det ogs}
indg} i stikords_registret som ROFF.

Denne facilitet kan sl}s fra med kommandoen

>xs^ -

("index small first-letter") og sl}s til igen med

>xs +

.a3 Stikordskommando
.ix $stikordskommando$se ix
Hvis et "stikord" best}r af flere ord (fx "margen, h|jre") eller
hvis man vil have et stik_ord, der ikke st}r i teksten, kan man
benytte en speciel stikords_kommando:

>ix <text>

<text> vil da komme til at indg} i stikords_registret.

.a3 Henvisning^er
\nsker man en indgang i stikords_registret som denne:

index.......................... se stikordsregister

kan man benytte >ix-kommandoen til at lave en henvisning:

>ix $index$se stikordsregister

Det ord, der |nskes benyttet som indgang (her ordet "index") skal
omgives af dollartegn.

.a3 f- og ff-markeringer
.ix f- og ff-markering
Hvis man vil markere, at et ord fore_kommer p} "denne og den
f|lgende side" kan man give det en "f"-markering i stikords_registret:

.ne6
>ix@@stikord
.ms nummertegn i >ix

Dette kommer til at se s}ledes ud:

.rc $
stikord........................ $p f.

.ne9
Forekommer ordet p} "denne og de f|lgende sider" kan det "ff"-markeres
med to nummertegn:

>ix @@stikord

giver

stikord........................ $p ff.
.rc

.a2 Registre^
Registre bruges til at ind_s{tte tal_v{rdier i input_teksten.

.rc$
.ex Eksempel-nummer-register^
Dette er eksempel $e.
.rc

.ne4
Ovenst}ende er lavet med input_teksten:

.nf
>rc^$
Dette er eksempel $e.
.fi

For at markere det sted i teksten, hvor registret skal ind_s{ttes,
skrives register_tegnet umiddel_bart efter_fulgt af registret.

Registertegn^et s{ttes med >rc-komman_doen ("register char"). Der
findes
.ul
ikke
noget default register_tegn.

En eventuel register_ind_s{ttelse i teksten evalueres
.ul
f|r nogen anden behandling.

.ul
Alle
tegn kan bruges som registre.

.a3 Dynamiske registre
.ix dynamiske registre
En r{kke registre er reserve_ret til at inde_holde specielle
tal_v{rdier.

.ne 12
Det drejer sig om:

 1 kapitelnummer
 2 afsnitsnummer
 3 underafsnitsnummer
 4 underunderafsnitsnummer
 e sidste eksempelnummer
 E n{ste eksempelnummer
 f sidste figurnummer 
 F n{ste figurnummer
 p dette sidenummer
 P n{ste sidenummer

.rc$
Ang}ende brug se f.eks. eksempel $e og $E.

.rc

.a3 V{rditildeling til registre
.ix v{rditildeling til registre
Et register (der ikke m} v{re dyna_misk) kan til_deles v{rdi med
>ar^-komman_doen ("assign to register"):

>ar <register> <tal 1> ... <tal n>

Ovenst}ende svarer til

<register>:=<tal 1>+...+<tal n>

d.v.s registret til_deles v{r_dien af summen af de efter_f|lgende tal.

.ex V{rditildeling^
\nsker man at referere til n{ste kapitel kan f|lgende kon_struktion
bruges:

.nf
>rc$
>ar x $1 1
I kapitel $x omtales....
.fi

>ar-komman_doen benyttes alts} til at till{gge register "x" v{rdien
af "nuv{rende kapitel_nummer" plus een.

Man kan ogs} bruge >ar-komman_doen til at "huske" v{rdien af et af
de dyna_miske registre, f.eks. hvis man senere vil referere til det.
Det er alts} muligt at lave 
.ul
bagudg}ende
referencer.

.ix bagudg}ende referencer
.ix referencer, bagudg}ende

.a4 Regning ved hj{lp af registre
.ix beregning i registre
.ix registre, regning i
Generelt er syntaksen for ar-kommandoen:

>ar <register>  <beregningsudtryk^>

hvor <beregnings_udtryk> er en r{kke tal_v{rdier
(evt. registre) adskilt af +, -, * eller /.

Alle fire operatorer har
.ul
samme prioritet^
og
.ul
parenteser^ kan ikke anvendes.

Det bem{rkes, at alle talv{rdier er heltal^ og at
division^ som f|lge heraf er heltals_division^.

.ex Beregningsudtryk

.nf
>ar R 7*17
.ar R 7*17

.rc#
till{gger register R v{rdien #R.
.rc

>rc @
.ms nummertegn i >rc og >ar
>ar K 2
>ar R 20-2*@K
.rc$
.ar K 2
.ar R 20-2*$K

till{gger register R v{rdien $R.

>ar R 10*105/100+1
.ar R 10*105/100+1

till{gger register R v{rdien $R.
.rc
.fi


.cl-2

.a2 Kontrol af sideparametre^
.ix global indrykning
F|lgende sideparametre kan kontrolleres:

.tb 14 position
som er en slags global indrykning. Den bruges til at positionere
siden rigtigt p} papiret.
.br
Kommando: >po^ <tal>
.br
Default = 8

 
.tb 14 |vre margen
som er antal tomme linier mellem hovedet og tekstens start.
.br
Kommando:@>tm@<tal> ("tm" for top margin).
.ix top margin
.ix tm
.ix |vre margen
.ix margen, kontrol af
.br
Default = 5


.tb 14 nedre margen
er antal tomme linier fra tekstens slutning til foden.
.br
Kommando:@>bm@<tal> ("bm" for bottom margin)
.ix bottom margin
.ix bm
.ix nedre margen
.br
Default = 5

 
.tb 14 linie l{ngde
er l{ngden af en h|jrejusteret linie (incl. evt. indrykning^).
.ix h|jre-justering
.br
Kommando: >ll^ <tal>
.ix liniel{ngde
.br
OBS.: opdateringen er relativ til g{ldende liniel{ngde.
.br
Default = 61

  
.tb 14 side l{ngde
er max. antal tekstlinier p} en side (excl. |vre og nedre margen).
.br
Kommando: >pl^ <tal> ("pl" for page length)
.ix page length
.ix sidel{ngde
.br
Default = 60

.a2 Valg af specialtegn^
ROFF kender forskellige tegn, der bliver brugt
til specielle form}l, f.eks.:

  - tabulationstegn
  - fikseret mellemrum
  - orddelingstegn

Det er muligt selv at bestemme disse tegn.

.cl2
Det g|res ved at taste en kommando efterfulgt af
evt. mellemrum og tegnet. Vil man s}ledes
{ndre tabulationstegnet til ":" benyttes >tc^
.cl-2
("tabulation character"):

>tc :

.cl2
\nskes tegnet slettet skrives kommandoen alene.
Vil man s}ledes slet ikke have noget tabula_tions_tegn skrives:

>tc
.cl-2

Kommandoerne ses af f|lgende tabel, hvor kommando-kode
og default-v{rdi er angivet:

.in-5
.ta 25 30
.fd 1 23 28 32 70
.ll 5
.ne40
.tc #
.fb
 
.tb 30 tabulationstegn^#tc#!
tabulations_tegnet bruges til at positionere
til den n{ste tabulationsposition.
 
.fb

.tc !
.tb 30 kommandotegn^!cc!>
det er dette tegn der - n}r det st}r f|rst p}
en linie - fort{ller ROFF, at de efter_f|lgende to tegn
er en ROFF-kommando.
cc betyder "command charac_ter".

.fb
 
.hc
.tb 30 deletegn^!hc!_
.hc _
dette tegn bruges til at fort{lle ROFF, at den
m} lave ord-deling^ p} det sted, hvor det st}r,
.ul
hvis det er n|dvendigt.
Ellers slettes det.
hc betyder "hyphe_nation charac_ter".
.ix $hyphenation character$se hc

.fb
 
.tb 30 fast mellemrum!sc!@
.ix fikseret mellemrum
.ix mellemrumstegn
.ms inds{t snabel a
dette tegn bruges som fikseret mellem_rum, alts}
et tegn som skal op_fattes af ROFF som et alminde_ligt
tegn, men som skal trykkes som et mellem_rum.
sc betyder "space charac_ter".
   
.xc #
.fb

.cl2
.tb 30 stikordstegn#!xc!^
.xc ^
.ms inds{t pil op
dette tegn bruges til at markere at den del af ordet, der er skrevet f|r
dette tegn, skal indg} i stikordsregisteret.

.fe
(forts{ttes)

.ne 30
.fb
 
.tb 30 registertegn!rc
registertegnet markerer, at der p} dette sted skal inds{ttes
v{rdien af et register. Registret bestemmes af det tegn, der f|lger
umiddel_bart efter register_tegnet i input_teksten. Bem{rk, at der
ikke findes noget default register_tegn.
.ix $registertegn$se rc
.ix rc

.fb

.tb 30 bloktegn^!bc!-
tegnet markerer starten af en simpel blok.
.cl-2

.fe
.ll -5
 
.in5
.ne 18
For de interesserede kan n{vnes at ovenst}ende tabel
er lavet med input-teksten:
.ix tabeller, opstilling af

.nf
>in -5
>ta 25 30
>fd 1 23 28 32 70
>ll 5
>ne 40
>tc @
.ms nummertegn
>fb

.tc &
>tb 30 tabulationstegn@tc@!
.tc !
tabulationstegnet bruges til at positionere
til den n{ste tabulations_position.

>fb

osv........
.fi

.a2 Kontrol af lige h|jre-margen^
.ix h|jre-justering
ROFF justerer automatisk teksten s} den f}r lige h|jre-margen.
Denne justering sl}s fra n}r man k|rer i "no fill" mode.
\nsker man at sl} den fra i "fill"-mode, s}ledes at linierne
"fyldes", men ikke h|jre-justeres, bruges kommandoen:

>nj^

for "no justify".

Justering af h|jre-margen^ sl}s til igen med:

>ju^

.a2 Centrering^
\nskes en tekst
.ce
centreret
midt p} linien bruges kommandoen >ce^.

Ovenst}ende blev lavet med:

>ce
.br
centreret

Ce-kommandoen virker alts} p} den n{ste  input-linie.

.a2 Hoveder og f|dder
.ix hoveder
.ix f|dder
Det er muligt at f} ROFF til at s{tte faste hoveder
og/eller f|dder p} hver side.

Hertil bruges kommandoerne >he^ og >fo^.
    
.cl2
Formatet for disse to kommandoer er ens.
.cl-2

Kommandoens format er:

>he <text>

hvis man |nsker <text> centreret,

>he <text1>@<text2>
.ms b|lgelinie

hvis man |nsker <text1> venstre-stillet og <text2> h|jre-stillet, og

>he <text1>@<text2>@<text3>

hvis man |nsker <text1> venstre-stillet, <text2> centreret
og <text3> h|jre-stillet.

.ix side-numre
\nsker man side-nummeret til at indg} tastes et "@"
.ms nummertegn for sidenummer
p} det sted, hvor side-nummeret |nskes placeret.

F|dderne i denne manual er lavet med:
 
>fo ROFF brugervejledning

>he @
.ms nummertegn i >he

Dvs. hovedet er ikke skrevet, det er ROFF's standard-hoved^.

.a2 Message^s
Kommandoen:

>ms^ <text>

vil udskrive <text> p} current output med markering af
side-nummer og linie-nummer. Kommandoen bruges f.eks.
hvis en manual kr{ver efter_behandling i form af
h}nd_tegning af special_tegn^.
    
.ix h}ndtegning af specialtegn

Lige f|r de steder i denne manual, hvor "snabel-a"
("@")
.ms snabel a
er tegnet er der skrevet:

>ms inds{t snabel-a

.cl2
.a2 Konkatenering
N}r man starter p} en ny input-linie vil ROFF antage, at man ogs}
starter p} et nyt ord, og derfor inds{tte mellemrum f|r det f|rste
ord p} input_linien.

Dette kan v{re uheldigt fx i forbindelse med under_stregning. \nskes
s}ledes kun en del af ordet under_streget (fx "input" i ordet
"inputlinie") vil konstruktionen

.nf
>ul
input
linie
.fi

give resultatet:

.ul
input
linie

Man kan i disse situationer benytte konkate_nerings_komman_doen

>jo

("jo^" for join^) til at "sammenf|je" linierne:

.ne 5
.nf
>ul
input
>jo
linie
.fi

giver da resultatet:

.ul
input
.jo
linie

som |nsket.

.a2 Korrektionslinier^
N}r et skrift udgives i en ny version^, b|r de
{ndrede/til_f|jede steder markeres med
.ix markering af rettelser
.ix rettelser, markering af
en korrektions_linie i venstre margen (se ref. 1).

Hertil benyttes >cl-kommandoen ("cl^" for correction line).

>cl-kommandoen har en parameter, der angiver hvilken
version af skriftet, rettelsen vedr|rer.
Versions_nummer^et er positivt n}r korrektions_linien
skal starte og negativt, n}r den skal slutte.

Versions_nummeret s{ttes med >ve^-kommandoen og skal
altid v{re st|rre end 0.

.ex Korrektionslinier
Inputteksten:
.ne10
.nf
 
>ve 7
 .
 .
>cl 7
  <rettelse>
>cl -7
.fi

vil bevirke, at <rettelse> vil blive markeret med en
korrektions_linie. Rettes f|rste linie i en senere version
til

.nf
>ve 8
.fi

vil korrektions_linien ikke blive lavet mere.

Det er alts} kun cl-kommandoer med det aktuelle versions_nummer
(sat af >ve), der giver anledning til korrektions_linier.

Der er derfor ingen grund til at fjerne "gamle" >cl-kommandoer.

Endelig skal det bem{rkes, at da korrektions_linien laves
.ul
uden for
tekst_feltet, skal "po^" - alts} positionen p} papiret, som
s{ttes med >po-kommandoen - v{re mindst 2 de steder, hvor
der |nskes korrektions_linier. Den er default 8.
.cl-2

.a2 Kontrol af linieafstand^
.ix kontrol af linieafstand
.ds
Normal linieafstand er 1, men det er ogs} muligt at
f} ROFF til at k|re med dobbelt linie_afstand,
som det f.eks. er sket i dette afsnit. Lige f|r
afsnittet er givet kommandoen:

>ds^

for "double spacing".
.ss
.ix $single spacing$se ss

Man vender tilbage til normal linie_afstand ved

>ss^

for "single spacing".

Generelt kan linieafstanden s{ttes med:

>ls^ <tal>

for "line spacing".
.ix $line spacing$se ls

.nf
>ds svarer alts} til >ls 2 og
>ss svarer til >ls 1
.fi

.a2 Kontrol af numre
.ix kontrol af numre
Det er muligt at kontrollere

  - sidenumre  
  - afsnitsnumre og
.cl2
  - BOSS-linie-numre

.a3 Sidenumre
.ix sidenummerering
Sidenumre kan s{ttes med

>pn^ <t1> <t2> .... <tn>

for "page number". Sidenummeret s{ttes til summen af tallene
t1..tn.

\nskes sidenummeret fx talt op med 17 kan man bruge:
.nf
>rc $
>pn $p 17
.fi
idet register "p" indeholder det |jeblikkelige side_nummer.

Opdatering af sidenummeret skal udf|res
.ul
efter
man har skiftet til den side, der skal have det |nskede nummer.
.ix $page number$se pn

Formatet for sidenumrene, dvs. det antal positioner, der
afs{ttes til det i hoveder eller f|dder, s{ttes med:

>pf^ <tal>

Default er 3.
.cl-2

.a3 Afsnitsnumre
.ix afsnitsnummerering
Afsnitsnumre kan s{ttes med kommandoen >aa^ efterfulgt af
1 til 4 tal.

S}ledes vil

>aa^ 7 4

bevirke, at >a2 starter ved afsnit 7.4.

.cl2
\nskes kapitel_nummeret talt op med 3 kan f|lgende in_put bruges:

.nf
>rc $
>ar x $1 3
>aa $x
>rc
.fi

hvor register^ x gives v{rdien af det |jeblik_kelige
kapitel_nummer plus 3.

Herefter kan register x benyttes til at s{tte kapitel_nummeret
i >aa-kommandoen

.ix opt{lling af kapitelnummer
.ix kapitler, opt{lling af

.a3 BOSS-linie-numre^
.ix bosslines

Med kommandoen:

>bl <tal>

kan man s{tte BOSS-linie_nummeret til en |nsket v{rdi. Dette kan
fx v{re nyttigt, hvis input_teksten ligger p} flere filer^
(der s} kopieres sammen f|r roffning).
.ix flere filer

Med

>bl^ 0

f|rst p} hver fil vil BOSS-linie_numrene komme til at passe.
.cl-2

.a1 K\RSEL AF ROFF
.ix k|rsel af ROFF
.ix udprintning af tekst
.ix $qume-printer$se qume
ROFF-programmet har f|lgende kald-parametre:
.ix kald-parametre til ROFF

.ta 21 34
.nf
navn!default!virkning
.fi

.tb 25 english^!no
De steder hvor ROFF skriver tekst (f.eks i indholds_forteg_nelse^n)
skrives teksten p} engelsk.

.tb 25 clock^!no
ROFF vil hvert sekund udskrive forbrugt cputid p} current output.

.tb 25 level^!4
Level angiver hvor mange niveauer, der |nskes i
indholds_fortegn_else^n.

.tb 25 first^!1
Nummeret p} den f|rste side, der skal skrives ud.
Nummeret m} ikke v{re 0.
.cl2
Synonym er "f".
.cl-2
.ix f

.tb 25 last^!1000000
Nummeret p} den sidste side, der skal skrives ud.
First og last bruges hvis man kun vil have en del
af manualen skrevet ud.
.cl2
Nummeret m} ikke v{re 0.
Synonym er "l".
.cl-2
.ix l

.tb 25 test^!no
Bruges til debug af ROFF-programmet selv.

.tb 25 bosslines^!no
Vil udskrive de tilh|rende BOSS-linie_numre til h|jre
p} siden. Bruges ved korrektur^_l{sning.
Synonym er "bl".
.ix bl

.tb 25 lineno^!no
Vil udskrive linie-numre inden for siden til venstre for teksten.
Bruges ved korrektur_l{sning.

.ne10
.cl2
.tb 25 message^!yes
Vil udskrive >ms-tekster p} current output.
.cl-2
Synonymt er "ms" og "mess".
.ix ms
.ix mess

.tb 25 qume^!no
Producerer output i format beregnet til qume^-printer.

.cl2
.tb 25 index!no
Der genereres et stikords_register.
Bruges denne option skal man sikre sig, at der er
tilstr{kkelig mange areal-proces_ser (med "area").
.cl-2

Roff-programmet kaldes s}ledes:

 <out>=roff <in> <kald-parametre>

Indholds_fortegn_else^n kommer altid ud p} filen "contents".

.ne 20
F|lgende job^ kan bruges til korrektur^:

.fd 7 64
.fb

.nf
.cl2
10 job stb 200 area 10 size 50000 time 11 0 
20 message start proofjob
30 contents=set 1 disc
40 ud=set 1 disc
50 index=set 1 disc     ; hvis der laves stiksordsreg.
60 helplist=set 1 disc  ; do.
70 outlist=set 1 disc   ; do.
80 ; en linies fyld
90 ud=roff,
100 ; her skrives filnavnet efterfulgt af komma
110 lineno.yes bosslines.yes
120 proofoutput=copy contents ud
130 convert proofoutput
140 finis
.cl-2
 
.fe

En korrekturudskrift f}s da ved:

.ne 4
 get proofjob^
 100 <filnavn>,
 run

.cl2
\nskes stikordsregister skrives naturligvis

.ne4
get proofjob^
100 <filnavn> index.yes,
run
.cl-2


.ne20
\nskes den roffede tekst skrevet ud p} f.eks.
Qume^-printer kan dette job bruges:

.fb
 
.cl2
10 job stb 200 area 10 devi 50 size 50000 time 11 0
20 message start roffjob
30 contents=set 1 disc
40 ud=set 1 disc
50 index=set 1 disc      ; hvis der laves stikordsreg.
60 helplist=set 1 disc   ; do.
70 outlist=set 1 disc    ; do.
80 ; fyld
90 ud=roff,
100 ;her inds{ttes filnavnet efterfulgt af komma
110 qume.yes
120 qume=copy contents
130 qume=copy ud
140 finis
.cl-2
 
.fe
.fi

"qume" m} f|rst v{re sat, f.eks. med

qume^=set tw terminal5

eller lignende.

Teksten skrives da ud med:

 get roffjob^
 100 filnavn,
 run

.ap
.a1 REFERENCER

.tb 8 ref. 1
RCSL-no: 43-GL7390
.sp1
.ul
Standard for opbygning, skrivning og trykning
.ul
af klasse 2 manualer.
.sp1
oktober 1978
.br
Jens Falkenberg Andersen m.fl.
.sp1
Denne manual definerer standarder for RC klasse 2
manualer. Den henvender sig til forfattere, skrive_personale
og trykkere. Der bringes detaljerede beskrivelser
af arbejds_fordeling og ansvar.

.a1 M]LEARK

Dette ark kan bruges dels til at m}le hvor
mange linier, der skal afs{ttes til figurer,
.ix figurplads, beregning af
dels til bestemmelse af tabulations- og ramme_positioner.

.tm 0
.a1 OVERSIGT OVER KOMMANDOER
.ta 16 24
.nf
.in-2
.fd 4 12 22 61
.fb
Komm   default!betydning
.in2
.fb
aa!!s{t afsnitsnumre
a1!!start nyt kapitel
a2!!start nyt afsnit
a3!!start nyt underafsnit
a4!!start nyt underunderafsnit
ap!!start bilags-sektion
.cl2
ar!!giv register v{rdi
bc!-!bloktegn
bl!!s{t boss-linienummer
.cl-2
bm!5!s{t nedre margen
br!!bryd linie
cc!>!kommando tegn
ce!!centrer n{ste input-linie
.cl2
cl!!korrektions linie
.cl-2
ds!nej!dobbelt linieafstand
ex!!start eksempel
fb!!start ramme
fd!!definer ramme
fe!!slut ramme
fg!!figur-tekst
fi!ja!start fyldning af linier
fo!!s{t fod
.cl2
fv!!visuel rammedefinition
.cl-2
.hc %
hc!_!orddelingstegn
.hc _
he!!s{t hoved
.ms he, nummertegn
in!8!indrykning
.cl2
ix!!stikords_register_kommando
jo!!ingen blank f|r n{ste input linie
.cl-2
ju!ja!start lige h|jre margen
ll!61!s{t liniel{ngde
ls!1!s{t linieafstand
ms!!meddelelse
ne!!beh|ver n linier
nf!nej!ingen fyldning af linier
nj!nej!ingen lige h|jre-margen
np!!ny side
pf!3!s{t side-nummer-format
pl!60!s{t sidel{ngde
pn!!s{t sidenummer
po!8!s{t position p} siden
.cl2
rc!!s{t register tegn
.cl-2
sc!!fikseret-mellemrums tegn
.ms snabel a
sp!!lav n tomme linier
ss!ja!s{t linieafstand til een

.fe
(forts{ttes)
.np
.fb

ta!!s{t tabulationspositioner
tb!!tekst blok
.tc %
tc%!%tabulationstegn
.tc !
td!!vis tabulationspositioner
tf!!tabuler i ramme
ti!!tempor{r indrykning
tl!!hent fra tab register
tm!5!s{t |vre margen
ts!!gem i tab register
ul!!understreg n{ste input-linie
.cl2
ve!!versions nummer
.xc
xc!^!stikordstegn
.xc ^
xs!ja!lille begyndelsesbogstav i stikord
.cl-2
.ms pil-op i xc
.fi
  
.fe
.bm 4
.tm 4

«eof»