Magnus Cedergren (ceder@nada.kth.se)
Interaktions- och presentationslaboratoriet
Inst. för Numerisk analys och datalogi
Kungl. Tekniska högskolan
100 44 Stockholm
Skrivande är en komplicerad process, där de olika ingående aktiviteterna samverkar enligt ett komplicerat mönster. Plita gör ett försök att stödja skribenten under en större del av skrivprocessen än vad traditionella ordbehandlare gör. Genom sina språkliga funktioner kan datorn utgöra ett aktivt stöd även under granskningen av texten. Med sina skissfunktioner försöker Plita hjälpa skribenten undan en del av den "skrivvånda" som ofta utgör ett hinder att komma igång med skrivandet.
Den här handboken är upplagd på följande sätt:
Kapitel 2 beskriver de grundläggande begreppen i Plita. Dessa begrepp är bra att kunna för att förstå de flesta av Plitas funktioner.
Kapitel 3 innehåller en kort beskrivning av Plita som ordbehandlare med programmets språkliga sök- och redigeringsfunktioner.
Kapitel 4 beskriver Plitas granskningsfunktioner som är den mest centrala av Plitas revideringsverktyg, medan kapitel 5 beskriver Plitas "Korrekturkopior", som är en annan form av granskningsstöd.
Kapitel 6 kan betraktas som en fortsättning på kapitel 2 om de grundläggande begreppen. Här beskrivs Plitas hypertextfunktioner på ett mer ingående sätt.
I kapitel 7 sammanfattas Plitas menyfunktioner med en kort förklaring om varje funktion.
Det stora "Plita"-fönstret representerar en bunt med kort, begrepp som programmet alltså ärvt från Hypercard. Endast ett kort i taget syns i detta fönster. Ett kort i Plita kan enkelt liknas vid ett dokument i ett vanligt ordbehandlingsprogram. Kortet är i sin tur uppdelad i ett antal fält.
Det stora textfältet fungerar som dokumentytan i ett konventionellt ordbehandlingsprogram. När pennan är vald i mod-paletten går det bra att skriva, klippa och klistra samt välja teckensnitt, stil och teckengrad för ett parti av texten.
Genom att man i modpaletten väljer finger kan textfältet i stället betraktas som en sammanställning över ett antal rubriker i en hierarkisk struktur av kort. I figuren nedan visas t.ex. ett textfält som f.n. har denna funktion. Den första raden i detta fält refererar till en rubrik på ett annat kort. Genom att med fingermarkören klicka på en viss rad byter Plita till det kort som har motsvarande rubrik. Om det inte finns något kort med den aktuella rubriken frågar programmet om ett nytt kort skall skapas med det nya namnet.
Genom att välja menyalternativet "Visa kontext" förändras skärmens utseende. Textfältet har flyttats nedåt och två nya fält har tillkommit, kontextfältet och noteringar-fältet.
Om vi gick från det hittills beskrivna kortet till kortet "Köttätande växter" finns nu det tidigare kortet återgivet i kontextfältet, det övre vänstra fältet, för ange var vi befinner oss i den hierarkiska strukturen. Den kursiverade raden i detta fält markerar det aktuella kortet. Genom att i detta fält klicka på andra rader än den kursiverade förflyttas vi till andra kort på samma nivå som det aktuella.
Kontextfältet är aldrig skrivbart (som textfältet när pennan var vald) utan alltid "pekbart". Det går med andra ord bra att med hjälp av detta fält förflytta sig sidledes i den hierarkiska strukturen, oavsett om penna eller finger är valt.
Fältet för noteringar, det övre högra, är däremot skrivbart eller "pekbart" beroende på vad som är valt i modpaletten. Det går i detta fält, liksom i textfältet, bra att såväl skriva som förflytta sig till andra kort. Denna förflyttning är dock inte logiskt orienterad upp-ner, utan förflyttningen kan ske till ett godtyckligt placerat kort i den hierarkiska strukturen.
Genom att hålla ner skift-tangenten när valet görs i text- eller noteringar-fältet erhålls en annan effekt. Plita stannar kvar vid samma kort som vi befinner oss vid, men öppnar i stället ett separat fönster för det refererade kortet. På detta sätt kan innehållet på flera kort beskådas samtidigt eftersom Plita-fönstret innehåller det ursprungliga kortet. Det är endast textfältet från det refererade kortet som återges i fönstret.
Att i finger-moden peka på en rad i antingen text- eller kontextfönstret är båda exempel på två former av referens-begreppet i Plita. Detta förklaras mer i avsnittet "Hypertextsystemet Plita".
Den nedre paletten, verktyg, har tre knappar. Den översta knappen, en uppåtpekande pil, förflyttar oss en nivå uppåt i den hierarkiska strukturen.
Den mellersta knappen, kortförteckning, genererar en lista över alla kort i bunten. Den lista presenteras på ett särskilt kort, "*Kortförteckning" samt i menyn "Gå". Vi kan sedan förflytta oss till ett annat kort genom att klicka på motsvarande rad. Val i menyn "Gå" ger samma effekt.
Den nedersta knappen på verktygspaletten, återvänd, för oss tillbaka till det senast besökta kortet, oavsett hur vi tog oss till det nuvarande kortet.
Genom sin hierarkiska hypertextstruktur kan Plita fungera väl som mångsidigt skrivverktyg. Det är uppenbart att den hierarkiska strukturen kan utgöra en tänkt disposition för ett dokument. Med pennan vald i mod-paletten formuleras rubrikerna på den översta nivån och enbart genom att välja finger och att peka på de olika rubrikerna skapas nya kort en nivå ner i den hierarkiska strukturen. Vi kan ha flera kort öppna på skärmen samtidigt genom att använda separata fönster för andra kort än det rent aktuella.
I detta avsnitt beskrivs vidare de allmänna, rent textorienterade funktionerna i Plita, som t.ex. sökfunktioner och redigeringsfunktioner.
köttät
k.tt.t
Genom att ange ett enkel teckensekvens återfinns alla förekomster av exakt denna sekvens (så fungerar alltså även den globala sökningen). Genom att i sökuttrycket ersätta vokalerna med punkt -- ungefär som jokertecken -- återfinns teoretiskt alla ord med ett godtyckligt tecken på vokalernas tidigare position.
k[aouåeiyäö]tt[aouåeiyäö]t
k[a-zåäouml;]tt[a-zåäö]t
Vill vi begränsa denna godtycklighet till att gälla alla vokaler räknar vi upp dessa i ett parentesuttryck av hakparenteser. Det går också bra att i dessa hakparenteser ange intervall, bl.a. kombinerat med en uppräkning. (Anm. "åäö" räknas här upp i stället för att ingå i intervallet eftersom datorn inte i detta fall inte hanterar strikt, svensk bokstavsordning, utan sorterar dessa bokstäver i en annan ordning).
Med sökuttrycket "köttät[a-zåäö]*e" återfinns på detta sätt både "köttätare" och "köttätande".
Genom att sätta en asterisk, frågetecken eller plustecken efter ett tecken -- eller ett tecken refererad genom hakparentes eller punkt -- anger vi hur många gånger tecknet får förekomma. Plustecken, "+", anger att det föregående tecknet får förekomma en eller flera gånger, frågetecken, "?", talar om att tecknet får förekomma en eller ingen gång, medan asterisk, "*", motsvarar ett helt godtyckligt antal förekomster, allt ifrån ingen gång alls till ett stort antal förekomster.
Plita har några mer specialiserade sökfunktioner. "Sök efter begrepp" i sökmenyn anger några mer komplicerade, men användbara reguljära uttryck, som fått egna namn och som kan refereras vid dessa namn. Ett reguljärt uttryck som motsvarar exakt fyra siffror har t.ex. fått namnet "Årtal". Det går på detta vis att söka direkt efter detta begrepp.
Funktionen "sök liknande" anger sökning efter ord eller uttryck som liknar det angivna uttrycket. Med hjälp av några enklare fonetiska regler om vilka ljud som "låter lika" byggs ett synnerligen komplicerat reguljärt uttryck upp. Detta reguljära uttryck ligger sedan till grund för sökningen.
För en komplett sammanställning över de reguljära uttrycken hänvisas till avsnitt 7.
Här finns de normala funktionerna för att klippa och klistra på Macintosh samt att markera allt och att välja textattribut för en markering.
Vidare finns en mängd speciella Plita-funktioner. Det går bra att sortera rader inom en markering. Sorteringen kan antingen göras i fallande eller stigande ordning. Ett markerat uttryck kan vidare göras gement eller versalt.
Här finns vidare några speciella funktioner för enkel språklig redigering. Med funktionen "Parenteser..." sätter Plita in parentes, citattecken eller tankstreck runt ett valt område. Med en annan funktion kan tecken på motsvarande sätt tas bort.
a, b eller c
Kalle, Pelle och Lisa
Funktionen "Rotera uppräkning" innebär att en kommaseparerarad uppräkning roteras ett varv åt höger. Det sista elementet sätts först i uppräkningen och övriga element flyttas ett steg åt höger. De båda exemplen kan uppräkningen avslutas med "eller", "och" eller "samt". Funktionen kan även användas på flera sekvenser av ord som separeras av komma.
Den språkliga granskningsfunktionen i Plita utför i likhet med sina engelskspråkiga föregångare inte någon komplett språklig granskning av en text, men kan bespara den skrivande en del rutinarbete. Man skall alltså inte i luras att tro att en text är felfri bara för att Plita har granskat den.
Den språkliga granskningen i Plita utförs för närvarande huvudsakligen endast på ord- och teckennivå. Programmet analyserar stavfel, val av uttryckssätt samt vissa ortografiska svagheter hos en text, t.ex. felaktigt placerade versaler.
Plita granskar alltså i princip inte grammatik, syntax och semantik. Den enda granskning av denna sort som utförs är endast några speciella funktioner. Dessa funktioner använder förenklade metoder för grammatisk analys, varför resultatet inte alltid är fullgott.
Slutligen måste påpekas att Plita än i så länge i första hand är en programprototyp. De olika funktioner som finns i programmet är tekniskt någorlunda välutvecklade, medan de ordlistor som används kan sällan betraktas som fullständiga.
När granskningsfunktionen valts under "Analys"-menyn bygger Plita upp en intern struktur för texten på ett kort, vilket kan ta lite tid om inte programmet inte redan byggt upp en sådan struktur (vilket det gör när vissa andra menyalternativ valts).
Därefter frågar Plita vilken typ av granskning vi vill ha utförd. De olika typer granskning som finns att välja mellan är alla var och en ett samlingsnamn sina sparade inställningar över vilka regelklasser (se nedan) som skall användas vid den aktuella granskningen. En fullständig granskning innebär naturligtvis att samtliga regelklasser används. De olika granskningstyper som från början finns inlagda i Plita är i första hand att betrakta som exempel. Med dessa som utgångspunkt kan en användare av programmet lätt själv konstruera egna granskningstyper genom att på olika sätt kombinera regelklasser som skall användas resp. inte användas av programmet.
Innan själva dialogrutan för granskningen uppenbarar sig på skärmen läser Plita in stavningsordlistan från hårddisken och kan behöva hjälp att lokalisera den.
Granskningen sker styckevis och det är ett stycke i taget som uppenbaras i det stora fältet. I det översta fältet ger Plita information om vilket stycke som för närvarande granskas. Knappen "Granska..." används för att starta själva granskningen.
Bearbetningen är sedan rätt tidskrävande och det kan dröja en liten stund till Plita hittat något att anmärka på. Under bearbetningens gång får vi i det kursiverade fältet veta vilket typ av granskning som utförs för närvarande.
När Plita sedan producerat en anmärkning får vi i det kursiverade fältet information om regelklass och aktuellt ord eller uttryck. I informationsfältet nere till vänster ges en mer verbal kommentar till anmärkningen. I fältet till höger om detta ges möjlighet att välja ett "bättre" alternativ. Det stora textfältet är i det här läget "skrivbart" och vi kan i detta fält göra de redigeringar vi tycker passar.
Knappen "Granska..." innebär att vi observerat felet och gjort de förändringar av texten vi vill göra. Plita fortsätter nu granskningen. Knappen "Tyst, granska..." medför samma effekt med den skillnaden att Plita inte längre granskar med avseende på den aktuella regelklassen. Om vi trycker på denna knapp i exemplet ovan kommer Plita inte att leta efter "Långa uttryck" i fortsättningen. "Avbryt" avbryter naturligtvis granskningen, medan "OK" innebär att gjorda förändringar införs på det ursprungliga Plitakortet.
Plita granskar om texten exempelvis innehåller några konturerade eller skuggade rubriker. Den letar också efter löptext som är satt med något olämpligt teckensnitt såsom dekorativa teckensnitt eller Macintosh-specifika skärmteckensnitt.
Plita identifierar välfrekvent användning av ett enskilt ord i ett stycke och rapporterar detta som upprepning av ordet. Vid bedömningen om ett ord skall anses som överrepresenterat i stycket eller inte tar Plita hänsyn till hur välrepresenterat ordet är i "normal" svenska samt hur långt stycket är. OBS! Precis som är fallet för Kärnmening ovan skiljer Plita inte på olika böjningsformer av ett ord.
Kontamination betyder sammanblandning. Plita identifierar några vanliga
sammanblandningar av två uttryckssätt.
Tautologi innebär "tårta på tårta", dvs. användning
av två uttryck som uttrycker samma sak. Plita anmärker på
dessa uttryck.
Det är vanligt med felaktiga prepositionsuttryck, varför Plita
utrustats med en särskild kontroll av sådana uttryck.
Plita kontrollerar dubbel komparation av adjektiv, där "mer" eller "mest" använts tillsammans med ett redan komparerat adjektiv.
Övriga rent felaktiga uttryckssätt har i Plita samlats under denna
rubrik.
Nedan följer en uppräkning av de olika regelklasserna tillsammans med ett exempel på varje regelklass.
På Macintosh förekommer vidare tre olika former av horisontella bindande streck: Bindestreck, tillstreck och tankstreck. Bindestreck används vid sammansatta ord, tillstreck vid angivande av intervall samt tankstreck vid dialog eller vid inskjuten fras. Användning av dessa kan Plita delvis kontrollera.
Korrekturkopior i Plita innebär alltså att datorn framhäver vissa strukturella eller språkliga aspekter av texten för att underlätta granskning av denna aspekt. Genom att t.ex. markera alla pronomen i texten kan skribenten lättare kontrollera sin syftning. På motsvarande sätt kan ett undertryckande av allt utom första meningen i varje stycke avslöja något om textens språkliga struktur.
Den följande exemplet är en korrekturkopia av typen syftning och innebär att alla pronomen i texten särskilt strukits under tillsammans med att varje stycke fått ett löpnummer och en typbeskrivning.
Löptext: [1] Retorikens mål är att hjälpa en talar att göra sina texter, vilka var avsedda att framföras muntligen. Enligt Strömquists källor delas här processen in i sju faser, av vilka fem är de mest centrala, retorikens fem delar eller partes, Den inledande analys-fasen och den avslutande bearbetningen räknas vanligen utanpå de fem partes.
Löptext: [2] Den inledande analys-fasen innebar att talaren gör klart för sig vilket syfte han har med talet och vilka åhörare som finns. Nästa steg var innehållet, den första av de fem partes. Här skall talaren på olika sätt skaffa stoff till sin text. Den därpå strukturerar han sitt material på ett funktionellt sätt, följt av formuleringen, där stoffet får en språklig dräkt.
Löptext: [3] Därefter följer memoreringen av texten och framförandet där talaren verkligen framför sin text och drar direkt slutsatser om talets effekt genom publikens reaktioner. Bearbetningen, som Strömquist nämner finns i vissa handböcker i retorik, kommer sist, utanför de fem partes. Här finputsas talet, trots att det kanske inte skall framföras igen, som en allmän träning inför andra framföranden.
Ambitionen med korrekturkopiorna i Plita har varit att användaren själv skall kunna "komponera" sin egen typ av korrekturkopia. Med hjälp av en mängd "basfunktioner" kan användaren definiera de olika typerna av korrekturkopior.
Nedan finns en uppräkning av basfunktionerna tillsammans med en kort beskrivning av vad varje funktion innebär. När en korrekturkopia skapas appliceras de påkopplade basfunktionerna på texten. Det kan innebära att vissa element i texten särskilt markeras, att vissa delar av texten ersätts eller stryks samt att information som löpnummer tillkommer.
I exemplet med syftningen ovan har alla pronomen strukits under tillsammans med att varje stycke kompletterats med information om styckestyp samt ett löpnummer. För denna typ av korrekturkopia används alltså basfunktionerna "markera pronomen", "styckestyp" och "styckesnummer".
Eftersom de flesta basfunktionerna kan kombineras fritt finns det tre olika sätt att särskilt markera text. När ord i olika sammanhang skall markeras används understrykningar, fetstil används för hela meningar samt konturerad stil för att markera hela stycken. De olika markeringarna används dessutom för att markera information knuten till respektive enhet. Explicit angivna meningslängder markeras t.ex. med fetstil.
Det går alltså lätt att definiera egna typer av korrekturkopior genom att på olika sätt kombinera basfunktionerna. Skribenten kan även lägga till egna ordgrupper, liknande de som finns för basfunktionerna "Markera pronomen", "Markera funktionsord" och "Markera konjunktioner", genom att skapa egna listor med ordgrupper som särskilt skall markeras.
En referens är Plitas motsvarighet till länkar i ett konventionellt hypertextsystem. Dessa referenser kan närmast beskrivas som associativa, dynamiska länkar.
Vill man inte ha just en hel rad som referens kan man i stället använda HyperCards textattribut grupperad för att skapa en referens. Genom att markera den tänkta referensen i textfältet (eller noteringsfältet) och väljer attributet "Grupperad" i menyn "Form" kan vi skapa ett sådan referens.
Dessa radreferenser och gruppreferenser är de vanligaste två typerna av referenser. Det finns dock en ytterligare typ, i menyn "Gå". I denna meny läggs normalt en lista över den aktuella buntens samtliga kort. Innehållet i denna meny fungerar på samma sätt som övriga referenser. Genom att på det speciella systemkortet "*Gå" lägga in en lista med särskilda referenser undertrycker vi Plitas normala funktion att lägga en kortförteckning i "Gå"-menyn. Plita lägger i stället in den särskilda, fixerade listan av referenser i denna meny.
Hur Plita skall tolka en aktiverad referens beror huvudsakligen på vad den aktuella teckensekvensen representerar. Två yttre faktorer, om shift-tangenten är nedtryckt och samt om en radreferens aktiverats i textfältet, styr dock också i viss mån tolkningen av referensen.
1. Kort
2. Bunt
3. Makro
4. Bild
(5. Skapa ett nytt kort)
Om referensen representerar ett kort i den aktuella bunten gör programmet en förflyttning till detta kort. Om det inte finns något sådant kort gör Plita i andra hand en förflyttning till en annan bunt med den aktuella referensen som namn. I tredje hand tolkas referensen som ett makro (definieras på systemkortet "*Makron"). I fjärde hand tolkas det som en bild som öppnas i ett särskilt fönster. I femte och sista hand frågar Plita om vi vill att ett nytt kort skall skapas med referensen som namn. Denna tolkning görs dock bara vid radreferenser aktiverade i textfältet.
Effekten av referenser tolkade som kort kan alltså bli lite olika beroende dels på om shift-tangenten är nedtryckt, dels på om referensen är en radreferens i textfältet. I det senare fallet tolkas referensen som "nedåt" i den hierarkiska strukturen (jämför avsnittet om de grundläggande begreppen). I alla andra fall görs ett "hopp" till det aktuella kortet. Detta hopp görs alltså oberoende av den hierarkiska strukturen. Om shifttangenten är nedtryckt när en referens tolkas som ett kort öppnas alltså kortet i ett separat fönster och de Plita "stannar kvar" vid det tidigare kortet. Denna tolkning görs både vid rad- och gruppreferenser, samt även vid referenser i "Gå"-menyn.
Fönster kan även öppnas -- vid sidan av hur de öppnas med referenser -- med kommandot "Öppna fönster" i "Arkiv"-menyn. I denna meny finns också två kommandon för att stänga fönster, ett som stänger det översta ett som stänger alla sådana öppna fönster.
Först vill vi aktivera bunten "Tumregler". Det görs i detta fall genom en grupperingreferens i form av en knapp på kortet "Grundkort" i huvudbunten "Plita". Eftersom det inte finns något kort "Tumregler" i denna bunt tolkas referensen som en separat bunt.
Nästa steg är att med en radreferens gå till en detaljerad innehållsförteckningen i bunten "Tumregler" som ligger placerad på systemkortet "*Gå". Genom att ha denna placering finns samma innehållsförteckning i menyn "Gå" som på detta sätt blir tämligen omfattande.
Vi tar oss med "Gå-menyn" vidare till kortet "TU - Avstavning" som behandlar de typografiska aspekterna av avstavning. Överst på detta kort får vi reda på att en kortare uppsättning regler kring typografi och avstavning finns på ett särskilt kort, "KR - Avstavning". På ett annat kort, "NS - Avstavning", beskrivs några skrivregler kring avstavning. Båda dessa referenser representeras här som gruppreferenser i form av två stycken knappar. (Att dessa referenser har utseende av två stycken knappar beror endast på att ett särskilt teckensnitt "Sticky Buttons" använts för dessa gruppreferenser.)
Genom att välja "Visa kontext" i "Arkiv"-menyn får vi i kontextfältet reda på var kortet "TU - Avstavning är beläget i den hierarkiska strukturen. Här kan alltså en en förflyttning göras i sidled till något annat kort. Vi väljer dock att göra en förflyttning i vertikalt led och trycker på uppåtpilen i verktygspaletten (den nedre av paletterna). Efter två sådana förflyttningar befinner vi oss återigen på det översta kortet hierarkien.
Om slutligen väljer menyalternativet "Väg hittills" förflyttas vi till systemkortet "*Väg hittills". På detta kort lagras referenser till alla kort vi har passerat sedan vi öppnade denna bunt.
Det sista vi gör att att klicka i rutan "OK" vilket gör att bunten "Tumregler" stängs och vi återgår till huvudbunten "Plita.
Det är som man kan förstå av yttersta vikt att alla referensnamn är unika. Eftersom flera kort i bunten "Tumregler" handlar om exempelvis avstavning har i detta fall en särskild konvention införts om hur korten döps.
OBS! I denna betaversion av programmet är denna funktion inte helt felfri, utan fungerar bl.a. dåligt när den tillämpas på texter med flera nivåer än två i hierarkien.
OBS! I denna betaversion av programmet är denna funktion inte helt felfri, utan fungerar bl.a. dåligt när den tillämpas på texter med flera nivåer än två i hierarkien.
Plitas reguljära uttryck:
c något tecken, c matchar sig själv
\c slår av den särskilda betydelsen av tecknet c, oavsett om c är parenteser eller en siffra.
. vilket enkelt tecken som helst
[...] något av tecknen i ..., uppräkningar som a-z är tillåtna.
[^...] någon av tecknen som inte finns i ..., uppräkningar som a-z är tillåtna.
r* noll eller fler förekomster av r
r+ en eller fler förekomster av r
r? noll eller en förekomst av r
r1r2 r1 följd av r2
r1|r2 r1 eller r2
(r) reguljära uttryck kan sättas i mer komplicerade uttryck.
OBS! Eftersom "Practical XFCN:s research" som används för denna funktion (se "*Om Plita") är något preliminär fungerar inte alla reguljära uttryck som avsett. T.ex. fungerar numreringar r{n} och r{n,m} inte alltid som det är tänkt.
OBS! I denna version av programmet består de olika ordlistorna i granskningsfunktionen av ca. 600 regler, vilka inte verifierats ordentligt. Stavningsordlistan består endast av ca. 50 000 ord. Granskningen blir därför endast partiell samt i vissa fall eventuellt t.o.m. felaktig.
OBS! I denna version av programmet består de olika ordlistorna i granskningsfunktionen av ca. 600 regler, vilka inte verifierats ordentligt. Stavningsordlistan består endast av ca. 50 000 ord. Granskningen blir därför endast partiell samt i vissa fall eventuellt t.o.m. felaktig.
Granskningsfunktionens exakta regler finns vidare lagrade i denna bunt. Varje regelklass lagras på ett eget kort och kategorierna utgör överordnade kort. Varje enskild regel (gäller ej ortografi, parenteser och upprepningar) lagras på en rad som fyra element. Element 1 är ett reguljärt uttryck som matchar en exakt regel (detta reguljära uttryck måste innehålla en sekvens av vanliga bokstäver). Element 2 innehåller det felaktiga uttrycket i klartext för presentationsändamål. Element 3 är ett meddelande och eventuella element 4, 5 etc. är tänkbara alternativ till det felaktiga. Med knappen "Ordna" görs sortering och en nödvändig flyttning av sökinformation för alla regler till "Noteringar"-fältet.
OBS! Macintalk fungerar inte felfritt. Denna funktion fungerar t.ex. inte tillsammans med "Bokstavera"-funktionen.