Tekstbehandling

Fra DDHFwiki
Spring til navigation Spring til søgning

Redigering af tekst - tekstbehandling - var allerede fra starten anset for at være en værdifuld anvendelse af computere. Virksomhederne havde store mængder skrivemaskineoperatører ansat, som ikke lavede andet end at maskinskrive dikterede breve. Der var potentiale for væsentlige besparelser i arbejdsgangene. Men det var ikke løst førend i slutningen af 1970'erne med indførsel af terminaler på alle kontorarbejdspladser og brugervenlige tekstbehandlingsprogrammer.

Redigering med hulkort og strimmel

I starten arbejdede datalogerne på at gøre det nemmere at skrive programmer, da programmering primært er redigering af kildetekst. De første computere var særdeles dyre og al kapacitet skulle udnyttes til beregningsopgaver. Der var ikke mulighed for at lade programmøren sidde foran konsollen og taste sit program ind i længere tid. I stedet blev programkoden indtastet på særligt udstyr og skrevet ud på hulkort eller hulstrimmel.

Programmøren skrev normalt sit program i hånden på særligt papir med fortrykte felter til tegnene. Det blev derefter tastet ind, men hvad nu hvis der var en tastefejl eller der skulle laves væsentlige ændringer i programmet?

Rettelser i hulkort

For hulkort var det ret simpelt. Der er ét hulkort per linje i et programs kildekode. Hvis man fandt en fejl, så skrev man linjen om på et nyt kort og skiftede det forkerte kort ud. Man kunne også fjerne eller tilføje kodelinjer på den måde. Hvis det var for besværligt, så havde hulkortmaskinerne mulighed for at man kunne sætte det oprindelige kort ind som skabelon, hvorefter man kunne kopiere linjen ét bogstav ad gangen ved at holde en tast nede.

Rettelser i hulstrimmel

Det var noget andet med hulstrimler. Hele kildekoden ligger på én lang strimmel. Når man skriver sit program ud på hulstrimmel bruger man typisk en Friden Flexowriter. Når man taster bliver der både slået et tegn på papiret som på en normal skrivemaskine og der bliver lavet huller på strimlen. Hvis man opdager at man har tastet forkert kan man gå baglæns med "Backspace" og derefter taste på "Delete" eller "Rubout". Det laver huller i alle positioner i rækken og strimmellæseren vil ignorere den række. Derefter skriver man det korrekte tegn.

Hvis der skal laves større ændringer, så er det en helt anden sag. Her skal man bruge en Flexowriter, som har både en strimmellæser og en perforator. Man sætter sin oprindelige strimmel i læseren og en ny strimmel i perforatoren. Derefter trykker man på en knap til at kopiere strimlen. Man holder øje med hvor langt kopieringen er kommet ved at kigge på udskriften, som bliver skrevet med omkring ti tegn i sekundet. Når kopieringen er kommet næsten til det punkt, hvor der skal tilføjes, så stoppes kopieringen, operatøren skriver den nye kode, og starter kopieringen af resten af strimlen. Hvis der skal fjernes tekst, lader man læseren køre videre uden at hulle, men stadigvæk med udskrift så det kan ses hvor langt strimmellæseren er kommet. Hvis den er kommet lidt for langt inden man får stoppet, så må man taste det manglende ind manuelt. Det anbefales at checke rettelserne ved at indlæse den nye strimmel og se hvad der kommer ud på skrivemaskinen.

Regnecentralen havde udviklet et redigeringsprogram til GIER med navnet 'edit', hvor man kunne "programmere" rettelserne til teksten på en hulstrimmel. Indkodningen foregik på en Flexowriter. Man kørte derefter 'edit' på GIER med teksten og rettelserne som input. Rettelseslisten har form som en liste af enkeltrettelser, som skal komme i den rækkefølge, hvori fejlene forekommer i teksten. En enkeltrettelse består af tre tekststrenge adskilt af . (understreget punktum):

<kopier til og med> . <indsæt> . <slet til og med> .
<kopier til og med> . <indsæt> . <slet til og med> .
...

Teksten bliver læst ind og kopieret til perforatoren indtil programmet ser den streng i teksten der optræder før det første punktum. Dernæst skrives det midterste segment ud på perforatoren (og printeren). Til sidst læses der tekst fra strimmellæseren uden kopiering indtil den sidste streng er set. Derefter behandles den næste rettelse.

Tidsdelte systemer

Fremkomsten af tidsdeling fra midten af tresserne betød nye muligheder. På overfladen så arbejdspladsen ud på samme måde. Der var måske endda den samme skrivemaskine, eller den var blevet til en Teletype Model 33, men nu var den koblet op til computeren over en seriel linje og man startede et dedikeret tekstredigeringsprogram op, når man skulle skrive. Et eksempel på sådant program er linjeeditoren 'ed', skrevet af Ken Thomson. Den var designet i de tidlige 1970'ere til små systemer (før UNIX) og findes stadigvæk på UNIX og dets efterfølgere.

Eksempel på tekstredigering med 'ed'. Al tekst indtastet af brugeren er med tyk skrift. ('Ed' er kendt for at være ret tavs, selv dengang.)

$ ed        -- start programmet
a           -- tilføj tekst (add)
Den grimme ælling

Der var så dejligt ude på landet; det var sommer, kornet stod gult,
havren grøn, høet var rejst i stakke nede i de grønne enge, og der
gik storken på sine lange, røde ben og snakkede ægyptisk, for det
sprog havde han lært af sin moder.
.           -- afslut indtastningstilstand
w grim.txt  --gem teksten
173
q           -- afslut editoren
$

H. C. Andersens tekst er på et tidspunkt skrevet om til nutidsdansk, men der er kommet en stavereform senere og vi vil nu ændre 'ægyptisk' til 'egyptisk'. Det gøres således:

$ ed grimælling.txt   -- start programmet
265
/ægypt      -- søg efter 'ægyp'
gik storken på sine lange, røde ben og snakkede ægyptisk, for det
s//egypt/   -- erstat det sidst søgte med 'egyp'.
p           -- skriv linjen
gik storken på sine lange, røde ben og snakkede egyptisk, for det
wq          -- gem og afslut
$

'Ed' har mange andre funktioner, men det vil tage for meget plads op at skrive om flere.

Formatering

Med muligheden for interaktiv redigering opstod der hurtigt et ønske om at kunne bruge tekstbehandling til forretningsbreve, rapporter og bøger. Der blev udviklet mange løsninger, og et af de mere populære var dot kommandoer. Ideen er at indsætte styrekommandoer i teksten, som beskriver hvordan teksten skal se ud på printeren. Den grimme ælling er en fortælling der skal læses op, så vi sætter linjelængden til 40 tegn og centrerer overskriften.

.ll 40
.ce
\fBDen grimme ælling\fR

Der var så dejligt ude på landet; det var sommer, kornet stod gult,
havren grøn, høet var rejst i stakke nede i de grønne enge, og der
gik storken på sine lange, røde ben og snakkede egyptisk, for det
sprog havde han lært af sin moder.

Man kører dernæst teksten gennem et program inden man sender det ud på printeren. På en printer med bogstaver med fast bredde får vi dette resultat:

           Den grimme ælling

Der  var  så  dejligt ude på landet; det
var sommer,  kornet  stod  gult,  havren
grøn,  høet var rejst i stakke nede i de
grønne enge, og der gik storken på  sine
lange,  røde  ben  og snakkede egyptisk,
for det sprog havde han lært af sin mod-
er.

Hvis man vil lave kursiv, fed skrift eller skifte til græske bogstaver kan det typisk gøres ved at have en inline-kontrol. I dette tilfælde angiver man fed skrift ved at skrive omvendt skråstreg, 'f' for font og 'B' for fed (bold).

Eftersom printere har forskellige muligheder for udskrift er det nødvendigt at lave en fortolkning af kommandoerne. F.eks. hvis printeren har proportional skrift omregner den linjelængden til et antal punkter på en 72-del af en inch for at få en lige margen.

Løsningen blev implementeret af mange virksomheder. I nogle tilfælde brugtes to punktummer til at starte en styrekommando, andre brugte et komma.

Terminaler med cursorstyring

Emacs, 'vi', andre editorer.

Opsplitning af editorer og tekstbehandling

WordStar var et populært redigeringsprogram til CP/M maskiner og var det første der integrerede redigering med begrænset formatering på skærmen og udskrivning på printer. Implementeringen var dog ret mangelful og andre firmaer videreudviklede på ideen. Editoren Stylograph gik et par skridt videre i integrationen af dot-kommandoer, hvorimod WordPerfect brugte inline kontrol-koder til alt.

Dedikerede tekstbehandlingsystemer

Wang OIS, Text 85 fra SC Metric og Amstrad PCW.

Stikord