Ole Michael Selberg

02.07.2020

You can’t win them all!

Norsk orddeling i TeX



1. Filen nohyphbx.tex 

Orddelingsmønsterfilen nohyphbx.tex (eller hyph-no.tex, som den heter med UTF-8-koding) 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). En del mønstre er fjernet eller endret, og mange er lagt til, slik at filen nå inneholder 27541 mønstre, mot 26017 i nohyphb.tex. Den siste versjonen (av 25.06.2020) krever at trie_size er satt til minst 33969 og trie_op_size til minst 913 (de tilsvarende verdier for nohyphb.tex er 31900 og 636).

Den norske mønsterfilen, som skal dekke begge norske målformer, er den nest største av dem som ligger på CTAN (i en tidligere versjon fra 18.05.2012: http://ctan.uib.no/language/hyph-utf8/tex/generic/hyph-utf8/patterns/tex/). Bare den ungarske overgår den i størrelse, og det til gagns.



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, syers-ke, dans-ke, størs-te, ensoms-te. De åpner vanligvis ikke for deling mellom rot og bøynings­endelse/suffiks som begynner på vokal eller konsonant­forbindelse: 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, syer-ske, dan-ske, stør-ste, en-som-ste, selv om også en slik deling er tillatt etter någjeldende regler, og i visse tilfeller (syer-ske, dan-ske, stør-ste, en-som-ste) kanskje ville være å foretrekke.

Det deles imidlertid alltid: 1) foran suffiksene -skap, -inne og -aktig: farskap, lat-skap, venn-skap, læ-rer-inne, ulv-inne, narr-aktig, skap-aktig; 2) mellom ordstamme som ender på vokal, og bøyningsendelse som begynner på vokal: bro-ene, sau-ene, gå-en-de.

Enkelte sammensatte fremmedord av gresk opprinnelse deles etter etymologiske prinsipper, når en slik deling synes innarbeidet: atmo-sfæ-re, di-ftong, eks-odus, hydr-au-lisk, hydr-ok-sid, hydro-graf, mo-no-ftong, pro-blem, sym-ptom, syn-onym. 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 (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, ribbein, ribben, skuddag, stikkontakt, straffange, tollettelser, tolloven, toppunkt, trafikkaos, trafikkonstabel, trykknapp, tørråte, vasskorpe, vasstråle, villede.

For å få slike ord delt riktig i sammensetningsfugen trenger man 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, krepp\_papir 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år: aviser, atten-de (riktig deling avhenger av målform), betre (riktig deling avhenger av målform), treskje (riktig deling avhenger av målform). Andre mulige delinger må angis manuelt (i de anførte eksemplene vil det være: avi-ser som pl. av substantivet avis, av-iser som presens av verbet avise; 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.; tre-skje som substantiv i bm./rm., tres-kje som verb i nn.). Bruker man bare én av målformene, kan man aktivere riktige delinger med hhv. \hyphenation {at-ten-de be-tre tre-skje} og \hyphenation {att-ende bet-re tres-kje}.

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 konsonant­forbindelser 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 moderne 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). I eldre tid var den siste måten å dele på, med overføring av bestemte konsonant­forbindelser til neste linje, den eneste korrekte. Ifølge Jakob Løkkes Modersmaalets Grammatik til Skolebrug (1876) skulle man dele slik: fal-ske, fer-ske, før-ste, an-dre, kan-tre, vil-tre, fæng-sle, æng-ste (men tapre av tapper).

 

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 i begge målformers eldre rettskrivning deles i hovedsak riktig dersom de bruker å istedenfor aa: op-tøi-er, øi-en-læge, ubøie-lig, valg-sprog, fler-sprog-lig, uef-ter-ret-te-lig-het, gjen-nem-ført, mel-lem-værende, upp-løy-sing, upp-moding, fyre-lesa, yver-gang.

Den nyeste versjonen av nohyphbx eliminerer feildelinger av bl.a. aprilettermiddag, benediktinerabbedi, bergender, bevisjuks, bindestreksamerikaner, bindestreksnordmann, blodansamling, bokskalv, brunstenk, dechiffrere, detaljuskarp, doplanger, dusjavlukke, espressokopp, espressomaskin, favorittsted, flytetallsnotasjon, frittstående, furuspinner, førkrigskart, gluten, glutaminsyre, gravand, grumsegrå, guardein, guelfere, gulerle, gåseleverpostei, hardtslående, haugsky, hautrelieff, heisanordning, hesjer, hirsegryn, hjuleike, holdskrue, hordeinstinkt, hvelvnisje, hudorm, hundeleven, hunnelefant, husedderkopp, hønsestige, kakaobønner, krittstykke, kuflokk, knepre, leiegård, læresvenn, machomann, machosamfunn, machoskryt, mandeløyne, mansardetasje, moskusaroma, mobilapp, mørkøyd, okseskalle, opptrekksleketøy, pappskilt, pistasjgrønt, potenspiller, purpurkjortel, riskorn, rødstenk, Røros, rørosing, sauerygg, signetring, skogsnar, statueaktig, stueluften, svarttrampet, svingom, teksteditor, 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, deles nå korrekt (f.eks. bergand, bikake, blodskutt, boslodd, brunskrubb, brushode, bulmeurt, daustokk, detaljskarp, donkosakk, eggesjampo, gjenklebet, ispanser, kakaoplantasje, kvikksølv, kvinnerov, moskusaroma, veggseksjon). I en del sammensetninger unngår TeX å dele galt, men finner ikke det beste delingspunktet: av-fallstre-vir-ke, bred-båndskre-ven-de, in-ves-te-ringstel-ling, ke-ra-mikkor-na-ment, kon-traktskjø-ring, like-stil-lingstret-te, rus-siskar-ran-ger-te, skogsleir, sol-dattre-ning, stam-vegrute, tresviller, ver-densarmé. Kostnaden ved mønstre som sikret en optimal deling, ville i disse tilfellene være uforholdsmessig stor.

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.

Ingen norske ord og egennavn i listen med de 10.000 mest frekvente ordformer i avistekster (http://www.tekstlab.uio.no/frekvensordlister/) deles nå galt.

 

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 grafordene (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.