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.