Ole Michael Selberg

18.02.2007

 

 

You can’t win them all!

 

 

 

1. Filen nohyphbx.tex

 

Orddelingsmønsterfilen nohyphbx.tex er en manuelt justert og utvidet versjon av Rune Klevelands nohyphb.tex (som var en stor forbedring i forhold til nohyph.tex og nohyph2.tex). Enkelte mønstre er fjernet og over elleve hundre er lagt til, slik at filen nå inneholder 27160 mønstre, mot 26017 i nohyphb.tex. Den siste versjonen (av 18.02.2007) krever at trie_size er satt til minst 33407 og trie_op_size til minst 819 (de tilsvarende verdier for nohyphb.tex er 31900 og 636). NB! Denne betaversjonen er ikke identisk med versjonen av 07.02.2007, som kan hentes fra CTAN-arkivene.

 

Filen nohyphbx kan synes avskrekkende stor, og den ville da også ha oversteget kapasiteten til eldre implementasjoner av TeX. I dag spiller filstørrelsen antagelig mindre rolle enn orddelingsresultatene. Selv benytter jeg en TeX-implementasjonen (OzTeX 4.1) der trie_size er satt til 65000 (den høyest mulige verdi) og trie_op_size til 2052 (høyest mulige verdi er 16382). Det store antallet mønstre i nohyphbx forhindrer ikke at jeg har god plass til orddeling for ytterligere tre språk (polsk, tysk og engelsk) i de formatfilene jeg normalt genererer («hyphenation trie» er da på 50148, og det brukes «1342 ops out of 2051»).

 

 

2. Hvordan deler nohyphb og nohyphbx ord?

 

Mønstrene i nohyphb og nohyphbx deler, i samsvar med tradisjonen, ord med tilføyd bøyningsendelse eller suffiks slik at siste konsonant går til neste linje: hu-set veg-ge-ne, skor-pe-ne, hes-ter, røy-ker, kjø-per, lig-ger, lig-gen-de, nær-væ-ren-de, of-te-re, væ-rel-se, inne-ha-ver, hop-ping, de-mo-kra-tisk. De åpner vanligvis ikke for deling mellom rot og bøyningsendelse: hus-et, vegg-ene, skorp-ene, hest-er, røyk-er, kjøp-er, ligg-er, ligg-ende, nær-vær-ende, oft-ere, inne-hav-er, hopp-ing, de-mo-krat-isk, selv om en slik deling også er tillatt etter någjeldende regler.

 

Enkelte sammensatte fremmedord av gresk opprinnelse deles etter etymologiske prinsipper, når en slik deling synes innarbeidet: atmo-sfæ-re, di-ftong, hydr-au-lisk, hydr-ok-sid, hydro-graf, mo-no-ftong, pro-blem, sym-ptom. Andre deles uten hensyn til etymologien: hek-tar, he-li-kop-ter, ki-rurg, kry-san-te-mum, mo-nark, pa-no-ra-ma, pa-ral-lell, pe-da-gog, sy-no-nym (en etymologisk deling ville tilsi: hekt-ar, he-li-ko-pter, kir-urg, krys-antemum, mon-ark, pan-orama, par-allell, ped-agog, syn-onym).

 

I sammensetningsfuge med sammentrukket trippelkonsonant (trafikkaos = trafikk-kaos) prøver mønstrene å forhindre gale delinger av typen trafik-kaos. Ingen av disse ordene blir f.eks. feildelt: busstasjon, bussjåfør, byggryn, fjelland, hoffolk, kilowattime, kreppapir, leddyr, oppakning, oppasser, opprioritere, rettenkende, skuddag, stikkontakt, straffange, tollettelser, tolloven, toppunkt, trafikkaos, trafikkonstabel, trykknapp, tørråte, vasskorpe, vasstråle, villede.

 

For å sikre optimal deling av slike ord  trenger man imidlertid en kommandosekvens, f.eks. \_, slik at man kan skrive buss\_sjåfør, bygg\_gryn, fjell\_land (el. fjell\-and, hvis det er det man mener), kilowatt\_time osv.

Definisjonen av  \_ er: \def\_#1{\discretionary {-}{#1}{}}

 

Ved homonymer som deles ulikt, avhengig av betydningen, forhindrer mønstrene visse delinger, slik at man f.eks. får: atten-de, betre, aviser. Andre mulige delinger må angis manuelt (i de anførte eksemplene vil det være: at-tende som ordenstall i bm./rm., att-ende som adverb i nyn.; be-tre som verb i bm./rm., bet-re som komparativ i nyn.; avi-ser som pl. av substantivet avis, av-iser som presens av verbet avise).

 

Mønstrene gir visse ureglementerte delinger, av typen lem-ster, lem-stre, ma-krell. Noen av disse er endret i siste versjon av nohyphbx (i stedet for re-gi-stre-re, fru-stre-re, ham-stre, il-lu-stre-re, kas-tre-re får man nå re-gist-re-re, frust-re-re, hamst-re, il-lust-re-re, kast-re-re). Andre, som ad-mi-ni-stre-re, ad-mi-ni-stra-sjon, de-mon-stre-re, de-mon-stra-sjon osv., har jeg med velberådd hu latt stå, fordi jeg mener de norske reglene med fordel kunne gjøres noe romsligere, etter forbilde av dansk, hvor kombinasjoner av vokal pluss konsonantgruppe pluss vokal i usammensatte ord kan deles enten foran den siste konsonanten i gruppen eller foran slike konsonantforbindelser som kan opptre først i et ord: ord-re el. or-dre, kas-te el. ka-ste, førs-te el. før-ste. Knesatte man en lignende regel i norsk, ville skribenter og satsprodusenter få litt større frihet «in diesem Bereich, der an sich geringere Bedeutung hat» (Österreichisches Wörterbuch, 2001, s. 812).

 

 

3. Hva er endret i nohyphbx?

 

Justeringene i nohyphbx korrigerer en del gale orddelinger i nohyphb. De prøver dessuten å ta hensyn til utbredte ortografiske varianter som faller utenfor offisiell rettskrivning (f.eks. rygghvirvler), og gir bl.a. riktig deling av sammenskrevne tallord både etter gammel og ny tellemåte (syvogtyve, femognitti o.l.). Også tekster skrevet med 1917-rettskrivning deles i hovedsak riktig.

 

De nyeste versjonene av nohyphbx eliminerer feildelinger av bl.a. aprilettermiddag, benediktinerabbedi, bergender, blodansamling, bokskalv, brunstenk, dechiffrere, detaljuskarp, dusjavlukke, espressokopp, espressomaskin, flytetallsnotasjon, furuspinner, førkrigskart, gluten, glutaminsyre, gravand, grumsegrå, guardein, guelfere, gulerle, gåseleverpostei, hardtslående, haugsky, hautrelieff, hesjer, hirsegryn, hjuleike, holdskrue, hordeinstinkt, hvelvnisje, hudorm, hundeleven, hunnelefant, husedderkopp, hønsestige, kakaobønner, kuflokk, knepre, leiegård, machomann, machosamfunn, machoskryt, mandeløyne, mansardetasje, moskusaroma, mørkøyd, okseskalle, opptrekksleketøy, pappskilt, pistasjgrønt, purpurkjortel, riskorn, rødstenk, Røros, rørosing, sauerygg, signetring, statueaktig, stueluften, svarttrampet, svingom, telefonautomat, trassigpomp, trerønne, utoverdrysset, veigrøft, vesperandakt. Ingen av ordene i orddelingstesten på http://www.huftis.org/sprak/orddeling-stoppen deles nå galt.

 

Et antall ord som de opprinnelige mønstrene unnlot å dele, eller delte ufullstendig, blir nå delt korrekt (f.eks. bergand, bikake, blodskutt, boslodd, brunskrubb, brushode, bulmeurt, daustokk, detaljskarp, donkosakk, eggesjampo, gjenklebet, ispanser, kakaoplantasje, kvikksølv, kvinnerov, moskusaroma, veggseksjon).

 

Sekvensen gravend… deles med den nye versjonen alltid grav-end... Dette forebygger feildelinger av flertall av gravand (gra-vender, gra-vendene), men forhindrer samtidig at presens partisipp gravende blir delt etter regelen om at én konsonant skal gå til neste linje (gra-vende). Siden deling mellom rot og avledningsendelse (grav-ende) også er korrekt i norsk, burde dette være en akseptabel løsning.

 

Delingen av system med avledninger er endret fra sy-stem til sys-tem, delingen av bestialsk, bestialitet o.l. fra be-sti… til bes-ti…, delingen av fibrom, fibromyalgi o.l. fra fi-bro… til fib-ro…, delingen av ekstase, ekstatisk fra eks-tase, eks-tatisk til ek-stase, ek-statisk.

 

Siste versjon eliminerer gale delinger av typen hes-je, hys-je, kras-je (siden sj her står for én lyd, er riktig deling: he-sje, hy-sje, kra-sje). Den korrigerer også inkonsekvente og gale delinger i enkelte bøyde former av substantiver på –øy. I stedet for ab-le-gøy-er : ab-le-gøye-ne, trøy-er,  trøy-e-rs (!) : trøye-ne får man nå ab-le-gøy-er, ab-le-gøy-ene, trøy-er, trøy-ers, trøy-ene. Dessuten korrigerer den feildelinger i en lang rekke sammensatte ord (en del av disse finner du her).

 

 

4. TeXs orddelingsalgoritme

 

Når TeX skal prøve å dele et ord, f.eks. imidlertid, utvider det først ordet med en markør i hver ende (heretter betegnet med et punktum): .imidlertid. Det utvidede ordet omfatter delord  av lengde 1:. i m i d l e r t i d .; delord av lengde 2: .i im mi id dl le er rt ti id d.; delord av lengde 3: .im imi mid idl dle ler ert rti tid id. osv. (Hvis man lurer på hvor mange mulige delord som inngår i et bestemt ord, så vel totalt som av lengde > 1, kan man  bruke disse makroene for å finne det ut.)

 

Hvert delord av lengde k er et mønster som definerer k+1 heltallsverdier i intervallet [0—9], relatert til ønskeligheten av bindestrek foran eller bak delordet, eller mellom dets elementer. Disse verdiene er lik null for alle delord som ikke forekommer i den mønsterordlisten INITEX leser inn når det lager et format.

 

TeX finner den maksimale mellomverdi mellom ordets enkelte elementer på grunnlag av verdiene i de av ordets delord som opptrer i mønsterordlisten. For imidlertid  blir dette med norske delingsmønstre: 1mi d1l 1ler r1ti 3tid (0 er utelatt), hvilket gir i1mid1ler3tid som resultat av maksimeringen.

 

Deling mellom to bokstaver anses som akseptabel hvis mellomverdien mellom dem er et ulike tall. Med \lefthyphenmin=2 kan imidlertid altså deles på to steder: imid-ler-tid  (med amerikanske orddelingsmønstre vil de tillatte delinger bli: imi-dler-tid)

 

Mønstrene genereres som regel maskinelt av programmet Patgen, på grunnlag av en ordliste som viser alle mulige delingspunkter i de ordene (bokstavsekvensene) som inngår i den. Brukeren angir den maksimale lengde av de delord som skal undersøkes ved beregningen av mønstrene. Størrelsen på denne parameteren er et kompromiss mellom to kryssende hensyn: behovet for å holde antall mønstre så lavt som mulig, og ønsket om å finne flest mulig av de tillatte orddelinger i en tekst.

 

 

5. Et  eksempel på manuell justering av mønstrene

 

Ordet stamhusbesitter blir av nohyphb delt stam-hu-s-be-sit-ter, til tross for at et norsk ord umulig kan begynne eller slutte på sb. For å forhindre enhver deling foran sb ble 4s5b2 først endret til 6s5b2, og dernest — da det ikke hjalp — til 8s5b2. Men selv med 8s5b2 fortsatte TeX å dele «stamhusbesitter» galt. Årsaken til dette viste seg å være delordet amhu9. Da amhu9 ble forandret til amhu7, fungerte alt som det skulle.

 

Mønsteret amhu9 forutsetter 1) at det i den ordlisten som ligger til grunn for mønstrene, eksisterer et ord hvor bokstavsekvensen amhu inngår; 2) at en orddeling mellom denne bokstavsekvensen og det som følger etter, anses som så ønskelig at ikke noe skal kunne forhindre den. Et norsk ord som oppfyller begge disse kravene, kan vanskelig tenkes. Sannsynligvis er amhu9 kommet inn på grunn av en feil i den ordlisten som ble brukt av Patgen ved genereringen av mønstrene.

 

I nohyphb inngår det også andre mønstre som åpenbart strider mot reglene for norsk stavelsesstruktur — f.eks. vk5le., hvis eneste funksjon synes å være å gi av-k-le, eller d6kaf og d6kai (selv om de to siste forhindrer deling, hvilket er mindre radikalt enn å tillate det). Besynderlig virker også .re8do9b8las, som gjør at man på nynorsk får inn-sat-sen kan redo-blast, i motsetning til inn-sat-sen kan re-dob-les.

 

En mer utførlig oversikt over TeXs orddeling og hvordan brukeren kan styre den, finner du her.