|
DataMuseum.dkPresents historical artifacts from the history of: RC3500 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC3500 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 39168 (0x9900) Types: TextFileVerbose Names: »roffman«
└─⟦a41ae585a⟧ Bits:30001842 SW-save af projekt 1000, Alarm-system └─⟦72244f0ef⟧ └─⟦this⟧ »roffman«
>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»