|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 129024 (0x1f800) Types: TextFile Names: »contents«
└─⟦a41ae585a⟧ Bits:30001842 SW-save af projekt 1000, Alarm-system └─⟦72244f0ef⟧ └─⟦this⟧ »contents«
▶8c◀ i INDHOLD SIDE▶8d◀ ______________________________________________________________________ 1. INDLEDNING .................................................... 1 1.1 Fyldning af linierne ..................................... 2 1.2 Denne manuals inddeling .................................. 3 2. ROFF TIL HVERDAGSBRUG ......................................... 4 2.1 Nummerering .............................................. 4 2.1.1 Afsnitsnummerering ................................ 4 2.1.2 Bilagsnummerering ................................. 5 2.1.3 Figurnummerering .................................. 5 2.1.4 Eksempel-nummerering .............................. 5 2.1.5 Indholdsfortegnelse ............................... 6 2.2 Kontrol af linieskift og sideskift ....................... 6 2.2.1 sp ................................................ 6 2.2.2 ne ................................................ 7 2.2.3 Sideskift ......................................... 8 2.3 Understregning ........................................... 8 2.4 Fikserede mellemrum ...................................... 9 2.5 Kontrol af indrykning .................................... 9 2.5.1 Temporær indrykning ............................... 10 2.5.2 Total liniekontrol ................................ 10 2.6 Ord-deling ............................................... 11 3. ROFF FOR VIDEREKOMNE .......................................... 13 3.1 Tabulation ............................................... 13 3.1.1 Højre- og centertabulation ........................ 13 3.1.2 Visning af positionerne ........................... 14 3.1.3 Tabulations register .............................. 14 3.2 Rammer ................................................... 15 3.2.1 Ramme-tabulation .................................. 16 3.3 Blokke ................................................... 17 3.3.1 Simple blokke ..................................... 17 3.3.2 Tekstede blokke ................................... 18 3.4 Stikordsregister ......................................... 18 3.4.1 Markering af stikord .............................. 18 3.4.2 Stikord med stort begyndelsesbogstav .............. 19 3.4.3 Stikordskommando .................................. 20 3.4.4 Henvisninger ...................................... 20 3.4.5 f- og ff-markeringer .............................. 20 3.5 Registre ................................................. 21 3.5.1 Dynamiske registre ................................ 22 3.5.2 Værditildeling til registre ....................... 22 3.5.2.1 Regning ved hjælp af registre ............ 23 3.6 Kontrol af sideparametre ................................. 23 3.7 Valg af specialtegn ...................................... 24 3.8 Kontrol af lige højre-margen ............................. 27 3.9 Centrering ............................................... 28 3.10 Hoveder og fødder ........................................ 28 3.11 Messages ................................................. 29 3.12 Konkatenering ............................................ 29 3.13 Korrektionslinier ........................................ 30 3.14 Kontrol af linieafstand .................................. 31 3.15 Kontrol af numre ......................................... 32 3.15.1 Sidenumre ......................................... 32 3.15.2 Afsnitsnumre ...................................... 32 3.15.3 BOSS-linie-numre .................................. 33▶8c◀ ii INDHOLD SIDE▶8d◀ ______________________________________________________________________ 4e 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 .ms indsæt snabel-a 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 .ms indsæt 3 snabel-a'er 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 "roff^" .ms pil-op i "ROFF^" 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 Introduktion til ROFF >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◀