HiOn V4.0 on-line dokumentáció


Verhás Péter

1994. május 29. 1995. április konverzió HTML-re


A HiOn magyar szövegek TeX formátumra való hozását teszi lehetővé. A magyar szövegben átalakítja az ékezet jelölést a TeX számára megfelelően, és bejelöli a lehetséges elválasztási helyeket. A program kimenete általában a TeX számára készül. Egy hasonló funkciókat ellátó korábbi program volt az ETEX, amelyet Tóth Gábor írt PASCAL nyelven.

Mire képes a HiOn?

A HiOn átírja a magyar ékezetes magánhangzókat a Prószéki-féle szabvány vagy a Babai-féle jelölésről TeX formára, valamint bejelöli a TeX számára a magyar nyelvtannak megfelelő elválasztási helyeket. A HiOn a bonyolult elválasztási szabályokat is ismeri, így helyesen fogja elválasztani az összes magyar szót. Ismeri, és helyesen választja el a ch, dz, dzs betűket, a hosszú összetett mássalhangzókat (például ssz). Ismeri a leggyakoribb magyar igekötőket, és helyesen választja el az igekötős szavakat. A HiOn helyesen választja el az olyan szavakat is, mint igazság vagy nyolcszor.

Ha mégis rosszul választana el a HiOn valamilyen szót, akkor a szabvány TeX jelöléssel meg lehet adni, hogy hol kell elválasztani az adott szót, vagy a szót fel lehet venni a HiOn kivétel-szótárába, az összetett szavak közé.

A HiOn tiszteletben tartja a TeX program sajátparancsait, és változatlanul hagyja azokat a szavakat, amelyek fordított törtvonal karakterrel kezdődnek. Opcióval kapcsolhatóan felismeri a LaTeX szekvenciáit, így azokat sem kell megvédeni az elválasztástól. Felismeri a TeX nem backslash karakterrel kezdődő kulcsszavait, és ezeket változatlanul hagyja.

A HiOn tiszteletben tartja a TeX matematikai módját és a $ illetve $$ között levő részeket változatlanul hagyja. Az elválasztás bejelölése, illetve az ékezetek átalakítása kapcsolható a szövegben a @ és a | karakterekkel.

A LaTeX opció használatakor a HiOn felismeri a \( \) és \[ \] matematikai módokat.

A HiOn felismeri a PC és a DEC kiterjesztett karakterkészleteit is (CWI, ISO, 852), amit akár keverve a szabvány vagy Babai-féle jelöléssel lehet használni.

A HiOn arra is hajlandó, hogy egy szövegből kiirtsa az ékezeteket, vagy hogy TeX formáról szabvány formára hozza az ékezetek jelölését.

A HiOn konfigurálható, és a működése opciókkal vezérelhető.

A HiOn C nyelven lett megírva és lefordítható UNIX, VMS és MSDOS operációs rendszereken. Valószínűleg egyéb rendszereken is lefordul, de csak ezeken lett eddig kipróbálva.

Mit NEM tud a HiOn?

Fájlok

A HiOn programcsomag a következő fájlokból áll:

Egyes csomagok tartalmazhatnak még más fájlokat, de ezek mind automatikusan generálhatóak a fenti fájlokból:

Hogyan kell fordítani?

A HiOn-t úgy kell lefordítani, mint bármilyen más C programot, így ha ebben nagy gyakorlatod van, akkor ezt a fejezetet átugorhatod. Az 1.7 illetve későbbi verziók MSDOS alatt csak HUGE modellben fordulnak le jól.

UNIX alatt

A cc -o hion hion.c paranccsal lehet lefordítani a programot. Minden hibajelzés nélkül le kell hogy forduljon minden rendszeren. Ezek után puha csatolásokat lehet létrehozni a végrehajtható fájlhoz a

ln -s hion huon ln -s hion huoff ln -s hion numoff parancsokkal. A csatolásokat nem feltétlenül kell létrehozni, a program működését opciókkal is lehet szabályozni. (Lásd a Opciók. fejezetet!)

VMS alatt

A CC HION majd LINK HION parancsokkal hozhatjuk létre az exe fájlt. Ha a C fordító a

%CC-I-NOOPTIMIZATION, Complex control flow caused optimization to be suppressed for procedure or function. "igekötő"

%CC-I-SUMMARY, Completed with 0 error(s), 0 warning(s), and 1 informational messages. At line number 5899 in $USERS2:[VERHAS]HION.C;1.

üzeneteket adja, az nem jó, de nem baj. Egyes rendszereken speciális, a C nyelvhez tartozó könyvtárakat is hozzá kell fűzni a programhoz. Ha a LINK parancs hibajelzést ad, akkor próbáld meg a

LINK HION,SYS$SHARE:VAXCRTL.OLB/LIB

parancsot, és ha ez sem segít, akkor meg kell kérdezni a rendszergazdát, hogy hogyan kell C programot ``linkelni''. Ezek után, azért, hogy a parancssorba argumentumokat lehessen megadni a program számára, ki kell adni a

HION :== "$ $DRIVE[DIRECTORY]HION.EXE" parancsot. A parancsban a DRIVE és a DIRECTORY név rendszerenként más és más. A DRIVE értelemszerűen az a meghajtó, ahol a munkaterületed van, a DIRECTORY pedig az a direktori, ahol a HiOn futtatható kódját el akarod helyezni.

Ha végképp nem tudod, hogy mit kell beírni ennek a két szónak a helyére, akkor add ki a SHOW DEFAULT parancsot. Amit ez a parancs kiír, azt kell a $DRIVE[DIRECTORY] helyére írni.

Mivel az így definiált logikai név csak addig érvényes, amíg ki nem lépünk a rendszerből, ezért ezt a parancssort érdemes a LOGIN.COM fájlban elhelyezni. Ha abban a direktoriban helyezed el a futtatható ``image'' fájlt, amelyikbe a bejelentkezés után kerülsz, akkor a $DRIVE[DIRECTORY] helyett használhatod a SYS$LOGIN: logikai nevet is (és ne hagyd le a végéről a kettőspontot). Ha van a lemezen bőven helyed (ezt a SHOW QUOTA paranccsal ellenőrizheted), akkor az exe fájlt átmásolhatod HUOFF.EXE, HUON.EXE, DICC.EXE és NUMOFF.EXE fájlnevekre, és ezekhez is definiálhatsz logikai nevet. Ez azonban nem szükséges, mert a program működése opciókkal is vezérelhető. (Lásd a Opciók. fejezetet!)

Megtehető az is, hogy a

SET FILE /ENTER=HUOFF.EXE HION.EXE SET FILE /ENTER=NUMOFF.EXE HION.EXE SET FILE /ENTER=HUON.EXE HION.EXE parancsokkal plusz neveket rendelünk a futtatható fájlhoz, és így külön helyfoglalás nélkül (kivéve a direktori bejegyzés helyét) elérhetjük azt, mintha ezekre a nevekre másoltuk volna át a fájlokat. Ezekkel az extra bejegyzésekkel azonban csínján kell bánni, mert a törlésük a SET FILE /REMOVE paranccsal történik, és ha egy fájl összes nevét kitöröltük ezzel a paranccsal, akkor a fájl maga ott marad a lemezen, foglalja a helyet, és kitörölhetetlen. Tehát a törlés során az egyik névvel a DELETE parancsot kell használni. Ha mégis megtörtént a baj, akkor meg kell kérni valakit, aki SYSTEM privilégiumokkal rendelkezik, hogy tegye rendbe a lemezt az ANALYZE /DISK paranccsal.

MS-DOS alatt

Ha a csomagban benne van a hion.exe és a hion2.exe fájl, akkor nem kell lefordítani. Ha AT gépen dolgozol, akkor próbáld meg a hion2.exe fájlt használni.

Bármelyik C fordítóval le kell, hogy forduljon a program. Mivel az 1.7 verzió felett egy nagy szótárat is kezel a program, ezért ajánlatos valamilyen nagy memória modellt, lehetőleg HUGE, használni. Én a Borland cég TURBO C++ fordítójának 1.0 verzióját használtam, valamint MSC 5.0-t, de az MSC-vel fordított változat nem működött. Elvileg le kell, hogy forduljon korábbi TC verziókkal is. Ekkor, mivel a forrásfájl hosszabb, mint 64KB, ezért vagy a TCC.EXE programot kell használni, vagy pedig egy kis egysoros

#include "hion.c" programot kell lefordíttatni a TC.EXE programmal. Én nem próbáltam, de állítólag egy opció használatával rá lehet bírni a TC-t arra, hogy használja a kiterjesztett memóriát, és akkor elbírja a 64KB-nál hosszabb fájlokat is. (Ne felejtsd el, hogy ekkor a keletkezett fájl nem HION.EXE, hanem pl. NONAME.EXE lesz. Ezt másold át a HION.EXE névre, és az eredetit töröld ki.) A programot szerkeszteni például az NE.COM programmal lehet. Ha minden warningot bekapcsolsz, akkor összesen 172 darabot fog generálni a TC 2.0 (HiOn 1.3 verzió). Ha zavar, akkor a következő warningokat kapcsold ki:

Alt-o / Compiler / Errors / Less common errors / F , E Call to function with no prototype No declaration for function 'ident' Alt-o / Compiler / Errors / Common errors / A , B , G Function should return a value Unreachable code Possibly incorrect assignment Ezek után nem szabad, hogy bármiféle hibajelzést adjon a TC 2.0. Ha van elég helyed a lemezen, akkor a programot átmásolhatod a HUOFF.EXE, HUON.EXE és NUMOFF.EXE fájlnevekre. Ez azonban nem szükséges, mert a program működése opciókkal is vezérelhető. (Lásd a Opciók. fejzetet!) MS--DOS alatt nincsen szabványos lehetőség csatolások létrehozására úgy, mint UNIX alatt, és még úgy sem, mint VMS alatt.

A program elindítása

Ha a programot lefordítottad, és az operációs rendszernek megfelelően módosítottad a LOGIN.COM fájlt, illetve átmásoltad a programot, vagy létrehoztad a puha csatolásokat, akkor elindítása a nevének (hion) beírásával történik. A program megnézi a nulladik argumentumot (ami a fájl neve), és innen tudja, hogy mit kell tennie. Ha nem készítettünk annyi másolatot az exe fájlból, mint ahány funkció van, akkor a /FUNCTION opcióval irányíthatjuk a konverziót. Opciót - vagy / karakter előz meg. Opciók a parancssorban bárhol elhelyezkedhetnek. Opciókat össze is írhatunk, tehát nem kell feltétlenül /SILENT /LATEX-t írni, hanem írhatunk egyszerűen /SILENT/LATEX-t. Azokat az argumentumokat, amelyeket nem előz meg - illetve / a program fájlnévnek tekinti. Fájlnevek sem egymással, sem pedig opciókkal nem írhatók egybe. Első a bemeneti fájl neve. Ha nincs megadva kiterjesztés, .hun, .txt vagy .tex kiterjesztést kap a fájl. Második paraméter a kimeneti fájl neve. Ezt nem kell megadni. Ha nem adjuk meg, akkor a program ugyanazt a nevet használja, mint a bemeneti fájl neve, de a konverzió irányától függően .txt vagy .tex kiterjesztéssel. Ha a másodikként megadott fájlnév első karaktere pont, akkor ezt úgy értelmezi a program, hogy a kimeneti fájlnévnek csak a kiterjesztését adjuk meg, és ekkor maga a név ugyanaz lesz, mint a bemeneti fájl neve, természetesen a megadott kiterjesztéssel.

Ha a kimeneti és a bemeneti fájl neve megegyezik, akkor a program, a VMS változatok kivételével, leáll. VMS alatt ekkor a kimeneti fájl neve ugyanaz lesz, mint a bemeneti fájlnév, megegyeznek a kiterjesztések is, és a fájl egy újabb verziója jön létre. Ez nem okoz helyrehozhatatlan hibát. MSDOS és UNIX rendszer alatt azonban a kimeneti fájl megnyitása egyben törölné a bemeneti fájlt, és egyrészt nem működne a program bemenet híján, másrészt megsemmisül egy nehezen reprodukálható fájl. Egyébként ez a fajta használat VMS alatt is csak ritkán indokolt, ezért VMS alatt is egy figyelmeztetést ad a program.

A program használata

A program forrásszövegét tartsd biztonságos helyen, például egy WORM lemezen a páncélszekrényben, 20 méterre a föld alatt. Ha ez nincs, akkor egy direktori is megteszi. A lefordított változatot tedd abba a direktoriba, ahol a magyar TeX fájlok vannak, vagy oda, ahova az egyéb utility programokat szoktad tenni. A magyar TeX fájloknak add a .hun kiterjesztést, és írd őket az 123 jelöléssel, vagy a CWI ékezetes karaktereivel, vagy bármely más ékezetekkel, gusztusod, és lehetőségeid szerint. Ezekben a fájlokban végezz minden javítást, és a generált TeX fájlokat csak mint közbenső fájlokat használd.

Ne tarts angol nyelvű, .tex kiterjesztésű fájlokat abban a direktoriban, ahol a .hun fájlok vannak, mert menthetetlenül le fogod egyszer őket törölni egy rm *.tex vagy jobb esetben csak egy reverzibilisebb DOS DEL *.TEX paranccsal. Akkor majd gondolj arra, hogy én szóltam, és ne engem okolj. Mit gondolsz, én ezt honnan tudom?

Opciók

A HiOn működését opciókkal lehet vezérelni. Az opciókat a parancssorba a program neve után kell írni. Opciók és be- illetve kimeneti fájlnevek keveredhetnek, az opcióknak nem feltétlenül kell megelőzniük a fájlneveket. Az opciókat a program balról jobbra dolgozza fel, és a későbbi opciók felülbírálhatják a korábbi opciókat.

Minden opciót egy - vagy / jel vezet be. UNIX alatt egy fájl neve kezdődhet / jellel, ezért ott csak a - jel használható. Minden opció egy szó, amelyet esetenként rövidíteni lehet. Ha egy opcióhoz érték is tartozik, akkor azt az opció után, egyenlőségjellel vagy ~ (tilde) karakterrel elválasztva az opciótól, de szóköz nélkül kell írni.
Például:

hion -FUNC=HiOn

Itt a FUNCTION opcióhoz, amely a program működési funkcióját határozza meg, a HION értéket rendeltük.

Az opciókban a kis- és nagybetűk egyenértékűek. Az opciókhoz rendelt értékeket (amennyiben azok karakterfüzérek) a HiOn nagybetűsre konvertálja. Amennyiben szükség van a kisbetűk megőrzésére, akkor a karakterfüzért idézőjelek (") vagy aposztrófok (') közé kell zárni.

Az egyes opciókat általában szóköz választja el, de opciókat egybe is lehet írni. Így helyes a

hion /MAKE/BAR file.txt

parancssor éppúgy, mint a

hion /MAKE /BAR file.txt

A bemeneti és kimeneti fájlneveket egy vagy több szóköz kell, hogy elválassza egymástól és az opcióktól. Ezek alapján a

hion mfa1jl/MAKE /BAR

parancssor hibás.

A következőkben ismertetésre kerülnek az egyes opciók. Az opciók definíciójában az első betűk nagybetűvel vannak írva, a továbbiak kisbetűvel. A bevezető nagybetűk képezik az opció azon részét, amelyet mindenképpen be kell gépelni az opció használatakor. A további karakterek opcionálisak, de ha szerepelnek, nem térhetnek el a megadott karakterektől. Igy a FUNCTION opció definíciója FUNction ami azt jelenti, hogy ez az opció 5 féleképpen rövidíthető, mégpedig:

FUN FUNC FUNCT FUNCTI FUNCTIO

módokon. Természetesen rövidítés nélkül FUNCTION-nak is írható az opció.

A definíciókban szerepelhetnek [ és ] karakterek. Ezek általában a NO vagy a DONT szót zárják közre. Ennek jelentése, hogy az adott opciót a NO vagy DONT szóval is lehet használni, természetesen ellentétes értelemmel.


FUNCTION

FUNction=HION,HUON,HUOFF,NUMOFF,DICC

Ez az opció meghatározza a program alapvető működését. A lehetséges értékeknél:

HION
Az elvégzendő funkció HiOn, azaz az ékezetes betűk TeX formára hozása, valamint az elválasztások bejelölése.

HUON
Az elvégzendő konverzió HUON, azaz numerikus ékezetekről TeX formára hozás. Ez a konverzió nem jelöli be az elválasztási helyeket, csak az ékezeteket írja át TeX, vagy egyéb formára. Nem veszi figyelembe a matematikai módokat, vagy a megjegyzéseket. Mindent átalakít.

HUOFF
Az elvégzendő konverzió HUOFF, azaz TeX formáról numerikus ékezetekre hozás.

NUMOFF
Az elvégzendő funkció NUMOFF, azaz a numerikus ékezetek kiirtása, és a szöveg barbár formára hozása. Ennél a konverziónál a program nem vesz ki minden számjegyet a szövegből, csak azokat, amelyek ékezetként szerepelnek.

DICC
Az elvégzendő funkció DICC, azaz a hion.dct text formátumú szótár fájl átalakítása a hion.dcb bináris formátumra.

Alapértelmezés: /FUNCTION=HION


MAKE vs. BUILD

MAKe BUIld

MAKE

Ezt az opciót használva a HiOn, mielőtt nekiállna dolgozni megvizsgálja, hogy a generálandó fájl létezik-e már, és ha igen, akkor nem újabb-e, mint a forrásfájl. Ekkor ugyanis az esetek többségében nem kell újrafordítani a hun fájlt tex formátumra. Ez a funkció a UNIX make vagy a VMS mms-hez hasonló funkciót adhat a HiOn-nak. Ha több forrásfájlból áll egy szöveg, akkor mindegyiket le kell fordítani a HiOn-nal. Ehhez használható egy DOS BAT, VMS COM vagy UNIX shell fájl. Ez viszont minden egyes fájlt újrafordít, akkor is, ha egy fájl nem lett változtatva. Az opció használatával ez az újrafordítás elkerülhető.

BUILD

A MAKE opció ellentéte. Akár létezik már a generálandó fájl, akár nem, függetlenül a keletkezési idejétől a fordítást a program elvégzi.

Alapértelmezés: /BUILD.


BARS

[NO]BARs

Ha a HiOn-t valaki csak az ékezetek konvertálására akarja használni, akkor kellemetlen, hogy a program a | és @ jeleket kiveszi a szövegből. A BARS opció használatával ez elkerülhető, a program ilyenkor belerakja ezeket a jeleket is a kimenő szövegbe.

Alapértelmezés: NOBARS


ICHARSET

ICHarset=BABAI,[NO]123,[NO]CWI,[NO]ISO_latin2,[NO]852, fájlnév

A .hun fájlban használt karakterkészlet megadása lehetséges ennek az opciónak a segítségével. Ha a 852 kódlapot használjuk, akkor a /ICHARSET=852 opciót kell megadnunk. Ha a CWI karakterkészletet használjuk, akkor a /ICHARSET=CWI opciót lehet, illetve kell megadni. Az ISO Latin 2 karakter kód használatához az /ICHARSET=ISO_LATIN2 opció használható. Ha a magánhangzók után írt 123 ékezeteket akarjuk használni, akkor a /ICHARSET=123 opció használható. Az 123 és a 852, CWI, ISO ékezetes karakterjelölés egyszerre is használható, ezért, ha azt akarjuk, hogy a HiOn ne ismerje fel az 123 ékezeteket, akkor használni kell a /NO{123} opciót. A ISO és CWI opció argumentumok egyenértékűek, mert ez a két karakter készlet nem üti egymást, és ezért egyszerre is figyelembe vehetők. Ha nem akarjuk, hogy a program figyelembe vegye a 127-nél nagyobb kódú karaktereket, akkor a /ICH=NOISO, /ICH=NOCWI vagy /ICH=NO852 opciók valamelyikét kell alkalmazni. Ezek egyenértékűek.

Ha nem adunk meg semmilyen opciót, akkor a HiOn a CWI, ISO latin 2 valamint az 123 ékezeteket veszi figyelembe.

Ha saját, külső karaktertáblázatot akarunk használni, akkor annak a fájlnak a nevét kell megadni a /ICHARSET opcióhoz, amely a karaktertáblázatot tartalmazza. A karaktertáblázat formátumát a IBM--PC, DEC International karakterek . fejezet írja le.

Alapértelmezés: /ICH=ISO/ICH=CWI/ICH=123


NOHYPHEN

NOHYPhen

Az elválasztási funkció teljes kikapcsolása. Ha ezt az opciót használjuk, akkor a HiOn nem fog semmilyen elválasztást bejelölni a kimeneten. Ennek az opciónak a használata általában akkor szokás, ha csak karakterkonverziót akarunk végezni.


GENERATE

GENerate=ASCii,BINary

A DICC funkció a beolvasott, általában hion.dct fájlt átalakítja egy olyan szerkezetre, amelyben gyorsan lehet keresni, és ezt az átalakított struktúrát írja ki a hion.dcb fájlba. A keletkezett fájlt a HiOn csak akkor tudja beolvasni, ha bináris formátumú, azonban, ha valaki kíváncsi rá, hogy milyen struktúrában helyezkednek el a szavak a szótárfájlban, akkor lehetőség van a struktúra olvasható formában való kiírására. A

hion /FUNCTION=DICC /GENERATE=BINARY

parancssor egy olyan hion.dcb fájlt állít elő a hion.dct fájlból, amelyet azután a program a későbbiekben be tud olvasni és fel tud használni. Ugyanakkor a

hion /FUNCTION=DICC /GENERATE=ASCII

parancssor hatására olyan olvasható formátumú fájl lesz a hion.dcb, amelyet ki lehet nyomtatni, meg lehet vizsgálni, de a HiOn számára a későbbiek során fogyaszthatatlan.

Alapértelmezés: /GENERATE=BINARY


DICTIONARY

DICTionary=fájlnév

A kivételszótárat tartalmazó bináris formátumú fájlt lehet megadni a HiOn-nak. Ha nem használjuk ezt az opciót, akkor a HiOn a hion.dcb fájlt fogja használni kivételszótárként. Ezt a fájlt először az aktuális könyvtárban (direktori-ban) keresi. Ha itt nem találja, akkor abban a könyvtárban, ahol a HiOn futtatható fájl van. Ha itt sem találja, akkor UNIX alatt a ~, /usr/dict, /usr/user/dict és /usr/bin könyvtárakkal próbálkozik. VMS alatt a HION$DIRECTORY: könyvtárat nézi meg. Ha sehol sem találja a kivételszótárat, akkor a HiOn egy figyelmeztetést ad, és a kivételszótár nélkül dolgozik.


OCHARSET

OCHarset=MATEX,CWI,ISO_latin2,123,TEX

A kimenő karakterkészlet megadása az ékezetes magyar betűk számára. Ez lehet a MATEX kódkiosztás, CWI, ISO_LATIN 2, 123 vagy TeX ékezetjelölés. Az 123 ékezetjelölésnél alaphelyzet szerint a HiOn az 1, 2 és 3 karaktereket fogja használni a magánhangzók után az ékezet jelölésére, de ez a bemeneti repülő ékezetek átdefiniálásával együtt megváltozik, azaz az APOSTROPHE, UMLAUT, HUMLAUT opciókkal változtatható. A TeX ékezetek bejelölése függ a BRACKETS opciótól is.

Alapértelmezés: /OCHARSET=TEX


FILTER

[NO]FILTer

Ennek az opciónak a használatakor a HiOn bemenete és kimenete is standard. Ez azt jelenti, hogy a billentyűzetről olvas, és a képernyőre ír.

Alapértelmezés: /NOFILTER


LIGATURES

[NO]LIGatures

A TeX szedőrendszer figyel az olyan nyomdai finomságokra, mint a ligatúrák. A ligatúrák olyan betűpárok, vagy betűcsoportok, amelyek helyett egy összetett betűképet használ a nyomda. Ilyenek például az ff, fl, fi, ffl, ffi. Ha egy szóban szerepel egy ilyen betűcsoport, és ezeken belül van egy lehetséges elválasztási hely, akkor ha oda a HiOn beteszi a \- jelet, akkor ezzel megzavarja a TeX működését, és az nem fogja felismerni a ligatúrát. Így effektív helyett ef fektív-et fog szedni a program. Ennek elkerülésére a HiOn a lehetséges ligatúrákon belüli elválasztások helyeit a TeX \discretionary makrójával jelöli be. Így a TeX figyelembe tudja venni a ligatúrákat, és ha mégsem kell elválasztani a ligatúrán belül a szót, akkor a sorközben helyes lesz a szedési kép.

Példa:

$ hion /filt/och=123/ich=123/lig/sil
effektív
e\discretionary{f-}{f}{ff}ek\-tív
^Z
$ hion /filt/och=123/ich=123/nolig/sil
effektív
ef\-fek\-tív
^Z

Alapértelmezés: /LIGATURES


HELP

HELP

Ennek az opciónak a hatására a HiOn egy rövid emlékeztetőt ír ki a képernyőre, és leáll.

Példa:

$ hion /help
hion [[-|/]opcio] [bemenő_fájl] [kimenő_fájl]
Opciók:
/FUNction=HION,HUON,HUOFF,NUMOFF,DICC
/MAKE/BUILD /[NO]BARS
/ICHarset=BABAI,[NO]123,[NO]CWI,[NO]ISO_latin2,[NO]852
/NOHYPhen /GENerate=ASCii,BINary /DICTionary
/OCHarset=MATEX,CWI,ISO_latin2,123,TEX,852
/[NO]FILTer /[NO]LIGatures /INput/OUTput=STANdard,FILE
/[H]UMLAUT/APOStrophe=char
/[NO]LATex /[NO]IGEkoto /[NO]SAG/[NO]SEG
/[NO]POSTHyphen /[NO]PROTection /[NO]STATistics
/[DONT_]USE_dictionary
/DISCRetionary=FULL,UNIque,NOne
/[NO]1letter /[NO]WARNings /[NO]BRACkets
/SILent /SCReen=CWI,ISO_latin2,852,RAW


INPUT

INput=STANdard,FILE

Ezzel az opcióval lehet megadni, hogy a HiOn honnan vegye a bemenő fájlt. Ha az /INPUT=STANDARD opciót használjuk, akkor a HiOn a bemenetét a billentyűzetről fogja olvasni, hacsak a szabványos bemenet át nem lett irányítva. Ez főleg UNIX operációs rendszer alatt szokásos, de DOS alatt is megtehető.

Ha a /INPUT=STANDARD/OUTPUT=STANDARD opciókat használjuk, akkor a HiOn a bementeként és a kimeneteként is a szabványos csatornákat használja, és így UNIX alatt szokásos szűrő működést lehet megvalósítani. Ehhez lehet használni a /FILTER opciót is.

Alapértelmezés: /INPUT=FILE


OUTPUT

OUTput=STANdard,FILE

Ezzel az opcióval lehet megadni, hogy a HiOn hova írja a kimenetét. Ha a /OUTPUT=STANDARD opciót használjuk, akkor a kimenet a képernyőre fog kerülni, hacsak át nem lett irányítva. Ez főleg UNIX alatt szokásos, de DOS alatt is meg lehet tenni.

Alapértelmezés: /OUTPUT=FILE


UMLAUT

UMlaut=karakter

Ezzel az opcióval lehet megadni, hogy repülő ékezetek használata esetén melyik legyen az a karakter, amelyet a HiOn a megfelelő magánhangzók után umlaut jelölésnek tekint. Ez alaphelyzetben a 2 karakter.

Vigyázni kell arra, hogy sok olyan karaktert, amelyet szívesen használnak emberek repülőékezet jelölésére, az operációs rendszer parancsértelmezője megpróbál értelmezni.

Alapértelmezés: /UMLAUT=2


HUMLAUT

HUMlaut=karakter

Ezzel az opcióval lehet megadni, hogy repülő ékezetek használata esetén melyik legyen az a karakter, amelyet a HiOn a megfelelő magánhangzók után magyar umlaut, azaz dupla vesszőként értelmez. Ez alaphelyzetben a 3 karakter.

Vigyázni kell arra, hogy sok olyan karaktert, amelyet szívesen használnak emberek repülőékezet jelölésére, az operációs rendszer parancsértelmezője megpróbál értelmezni.

Alapértelmezés: /HUMLAUT=3


APOSTROPHE

APOStrophe=karakter Ezzel az opcióval lehet megadni, hogy repülő ékezetek használata esetén melyik legyen az a karakter, amelyet a HiOn a megfelelő magánhangzók után vesszőként értelmez. Ez alaphelyzetben a 1 karakter.

Alapértelmezés: /APOSTROPHE=1


LATEX

[NO]LATex

Ezzel az opcióval lehet megmondani a HiOn-nak, hogy az a fájl, amelyet fel kívánunk dolgozni, a LaTeX makró csomagnak megfelelő szintaktikájú. Ebben az esetben a HiOn tiszteletben tartja azokat a vezérlő szekvenciákat, amelyek speciálisan a LaTeX-ben fordulnak csak elő. Ilyen például a \begin vezérlési szerkezet, amelynek van egy argumentuma. Ha nem használjuk a /LATEX opciót, akkor a HiOn ezekben a szavakban is bejelöli a lehetséges elválasztási helyeket, és ezt a LaTeX makrócsomag nem viseli el.

Példa:

$ hion /filt/och=123/ich=123/sil
\begin{document}
\begin{do\-cu\-ment}
^Z
$ hion /filt/och=123/ich=123/sil/latex
\begin{document}
\begin{document}
^Z
Alapértelmezés: /NOLATEX


IGEKOTO

[NO]IGEKOTO

Ezzel az opcióval lehet a HiOn-t megkérni arra, hogy ne vegye figyelembe az igekötőket. A HiOn alaphelyzetben kivételszótár nélkül is figyelembe tudja venni az igekötőket.

Példa:

$ hion /filt/och=123/ich=123/sil
megettem
meg\-et\-tem
^Z
$ hion /filt/och=123/ich=123/sil/noige
megettem
me\-get\-tem
^Z

Alapértelmezés: /IGEKOTO


SAG, SEG

[NO]SAG, [NO]SEG

A HiOn külön odafigyel azokra a szavakra, amelyek ság, ség végűek, és így helyesen választja el az olyan szavakat, mint a malacság, vagy igazság. Ezzel az opcióval lehet rávenni a HiOn-t arra, hogy a ság, ség vegű szavakra ne figyeljen oda, és bután válasszon el. A két opció teljesen egyenértékű.

Példa:

$ hion /filt/och=123/ich=123/sil
malacság
ma\-lac\-ság
^Z
$ hion /filt/och=123/ich=123/sil/nosag
malacság
ma\-la\-cság
^Z

Alapértelmezés: /SAG


POSTHYPHEN

[NO]POSTHyphen

A TeX minden olyan szót a saját elválasztási táblája szerint próbál elválasztani, amelyben nincs a \- vezérlőszekvenciával bejelölve az elválasztás. Ez pedig előfordul néhány egyszótagos szóval. Így megtörténhet az, h-
ogy a TeX maga elválasztja a szót. Ha az ilyen szavak végére egy \- jelet teszünk, akkor a TeX úgy tekinti, hogy az összes lehetséges elválasztás be van jelölve. Ez az opció néhány esetben hibásan működik, ezért bár létezik, de nem támogatott.

Példa:

$ hion /filt/och=123/ich=123/sil/posth
Hogy vagy?
Hogy\- vagy?\-
^Z
$ hion /filt/och=123/ich=123/sil/noposth
Hogy vagy?
Hogy vagy?
^Z

Alapértelmezés: /NOPOSTHYPHEN


PROTECTION

[NO]PROTection

Ez az opció be-, illetve kikapcsolja az olyan TeX kulcsszavak védelmét, amelyek nem \ karakterrel kezdődnek. Ha ezt az védelmet kikapcsoljuk a /NOPROTECTION opcióval, akkor a szövegben | és @ karakterekkel kell gondoskodni az olyan szavak védelméről, mint scaled. Ugyanakkor a HiOn csak akkor ismeri fel ezeket a kulcsszavakat, ha azokra nem írjuk rá a következő szót. Ha scaled1200-at írunk, akkor a HiOn el fogja választani a TeX kulcsszót, mert a számokkal együtt egy szónak tekinti a scaled1200 karaktersorozatot. Viszont írhatunk scaled\magstep-et, mert a \ karakter lezárja a szót.

Példa:

$ hion /filt/och=123/ich=123/sil
scaled
scaled
^Z
$ hion /filt/och=123/ich=123/sil/noprot
scaled
sca\-led
^Z

Alapértelmezés: /PROTECTION


STATISTICS

[NO]STATistics

Ezzel az opcióval lehet be-, illetve kikapcsolni a futás során a statisztikai adatgyűjtést, valamint a program végén annak kiírását. A statisztikai adatok érdekesek lehetnek és információt adhatnak a szöveg stílusáról, ugyanakkor zavaró is lehet a program végén kiírt sok szöveg.

A /SILENT opcióval a statisztika mellett az egyéb kiírásokat is ki lehet kapcsolni.

Példa: a következő oldalon.

$ hion /filter
hion konverziós program V2.5 22/01/94 VMS TeX preprocesszor.
A hion.dcb fájlt nem lehet megnyitni.
A szótár nem lett beolvasva.
^Z

HiOn jelentés

0 TeX karaktert írtam ki. 0 szó volt, ebből 0 vezérlő szó. 0 bonyolult, discretionary elválasztás volt. 0 alkalommal merült fel ligatúra védelem, és ebből 0 alkalommal kellett discretionary formulát alkalmaznom. 0 alkalommal vizsgáltam igekötő kezdetű szavakat és 0 alkalommal találtam is. 0 alkalommal vizsgáltam meg a szó többi részét is, 0 alkalommal találtam valódi igekötőt. 0 alkalommal kerestem ság ség képzőt, és 0 alkalommal találtam. 0 alkalommal kerestem összetett szavakat, 0 alkalommal találtam, és 0 külön elválasztást helyeztem el.

Szívesen máskor is. $ hion /filter/nostat hion konverziós program V2.5 22/01/94 VMS TeX preprocesszor. A hion.dcb fájlt nem lehet megnyitni. A szótár nem lett beolvasva. ^Z

Alapértelmezés: /STATISTICS


USE_DICTIONARY

[DONT_]USE_dictionary

Ezt az opciót használva a HiOn megpróbálja betölteni a kivételszótárat, hogy az összetett szavakat is jól tudja elválasztani. Amennyiben a DONT_USE_DICTIONARY formát használjuk, akkor a HiOn nem próbálja meg betölteni az összetett szavak kivételszótárát, és az összetett szavak egy részét rosszul választja el, viszont valamivel gyorsabban dolgozik.

Példa:

$ hion /filt/och=123/ich=123/nostat
hion konverziós program V2.5 22/01/94 VMS TeX preprocesszor.
A táblázat olvasása folyamatban...
Kivételszótár beolvasva.
vasutas
vas\-u\-tas
^Z
$ hion /filt/och=123/ich=123/nostat/dont_use
hion konverziós program V2.5 22/01/94 VMS TeX preprocesszor.
vasutas
va\-su\-tas
^Z

Alapértelmezés: /USE_DICTIONARY


DISCRETIONARY

DISCRetionary=FULL,UNIque,TOTal,NOne

Ezzel az opcióval lehet szabályozni, hogy a HiOn hogyan hajtsa végre a \discretionary elválasztásokat.

Példa:

$ hion /filt/och=123/ich=123/sil/discr=tot
gyönyörű processzor
gyö\-nyö\-rű pro\-ce\discretionary{sz-}{sz}{ssz}or
^Z
$ hion /filt/och=123/ich=123/sil/discr=uni
gyönyörű processzor
gyönyörű proce\discretionary{sz-}{sz}{ssz}or
^Z
$ hion /filt/och=123/ich=123/sil/discr=full
gyönyörű processzor
gyö\-nyö\-rű pro\-ce\discretionary{sz-}{sz}{ssz}or
^Z
$ hion /filt/och=123/ich=123/sil/discr=no
gyönyörű processzor
gyö\-nyö\-rű pro\-cesszor
^Z

Alapértelmezés: /DISCRETIONARY=FULL


1LETTER

[NO]1letter

Ezzel az opcióval lehet engedélyezni a HiOn számára, hogy az olyan elválasztási helyeket is bejelölje, amelyek fattyú szótagokat, azaz a sor elején, vagy a sor végén álló egybetűs szótagokat eredményezhetnek.

Példa:

$ hion /filt/och=123/ich=123/sil
auto
au\-to
^Z
$ hion /filt/och=123/ich=123/sil/1LETTER
auto
a\-u\-to
^

Alapértelmezés: /NO{}1LETTER


WARNINGS

[NO]WARNings

Figyelmeztető üzenetek be-, illetve kikapcsolása. A program akkor küld ilyen üzenetet, ha például egy a3 vagy i3 betűvel találkozik. Akkor is figyelmeztet a HiOn, ha eléri a feldolgozandó fájlvéget kikapcsolt állapotban, vagy matematikai módban. Ezek az esetek majdnem mindig valamilyen elkövetett hibára utalnak, amelyek így a fordítás korai stádiumában fellelhetők.

Alapértelmezés: /WARNINGS


BRACKETS

[NO]BRACkets

Ezzel az opcióval arra lehet rávenni a HiOn-t, hogy az ékezetes karakterek köré rakjon { és } jeleket. Ennek akkor van értelme, ha a HiOn-nal egy különleges makrókat használó szöveget akarunk processzálni, és a makró számára az ékezetes karakternek egy input egységnek kell maradniuk. A hétköznapi gyakorlatban előforduló ilyen eset, ha a LaTeX csomaghoz BiBTeX programmal akarunk irodalomjegyzéket készíteni.

Példa:

$ hion /filt/ich=123/sil/BRAC
almás rétes
al\-m{\'a}s r{\'e}\-tes
^Z
$ hion /filt/ich=123/sil
almás rétes
al\-m\'as r\'e\-tes
^Z

Alapértelmezés: /NOBRACKETS


SILENT

[NO]SILent

Ezzel az opcióval lehet kikapcsolni mindenféle hiba- és egyéb üzenetet, amelyet a HiOn a képernyőre küldene.

Alapértelmezés: NOSILENT


SCREEN

SCReen=CWI,ISO_latin2,852,RAW

Ezzel az opcióval lehet megadni, hogy a HiOn a képernyőre küldött üzeneteit milyen karakterkészlettel írja ki. Alaphelyzetben a HiOn az 123 ékezeteket használja, de lehetőség van arra, hogy PC-n a CWI vagy 852, VMS és UNIX operációs rendszerek alatt az ISO latin 2 karakterkészletet használja.

Alapértelmezés: RAW


Környezeti változók

A HiOn egyetlen környezeti változót vizsgál, amelynek a neve hion_opt. Ennek a változónak az értékét, ami egy karakterfüzér, a program ugyanúgy dolgozza fel, mintha parancssor argumentum lenne. Olyan opciókat érdemes ebbe a változóba berakni, amiket mindig használunk. Ha valaki csak LaTeX fájlokhoz használja a programot, akkor érdemes a /LATEX opciót belerakni. Csak egy opció, vagy egybeírt opciók lehetnek a környezeti változóban, azaz ha több opció is szerepel a változóban, akkor azokat egybe kell írni.

A környezeti változók beállítása operációsrendszer-függő.

UNIX alatt

UNIX alatt egy környezeti változó beállításának szintaktikája függ a használt shell-től. Egy lehetséges út a következő:

setenv hion_opt=-lat

Mivel ez a változó csak addig él, amíg ki nem kapcsoljuk, vagy nem inicializáljuk a gépet, illetve amíg ki nem jelentkezünk, ezért ezt a parancsot érdemes minden bekapcsolás, illetve inicializálás után kiadni. Ennek kényelmes módja, ha befűzzük a .profile fájl parancsai közé.

MS-DOS alatt

MS-DOS alatt egy környezeti változó beállításának szintaktikája a következő:

set hion_opt=-LATEX

Mivel ez a változó csak addig él, amíg ki nem kapcsoljuk, vagy nem inicializáljuk a gépet, ezért ezt a parancsot érdemes minden bekapcsolás, illetve inicializálás után kiadni. Ennek kényelmes módja, ha befűzzük az AUTOEXEC.BAT fájl parancsai közé. A kikapcsolás a

set hion_opt=

paranccsal történik.

VMS alatt

VMS alatt egy környezeti változó beállításának szintaktikája a következő:

$ DEFINE HION_OPT "/LATEX"

Mivel ez a változó csak addig él, amíg a bejelentkezés tart, ezért ezt a parancsot érdemes minden bejelentkezéskor kiadni. Ennek kényelmes módja, ha befűzzük a LOGIN.COM fájl parancsai közé.

Elválasztás

Ha a '/FUNCTION=HION' opciót megadjuk, vagy a program neve hion akkor a program a működése során szótagolja a szavakat a magyar helyesírásnak megfelelően. Egy szót el lehet választani két magánhangzó között, vagy egy mássalhangzó előtt, ha azt magánhangzó követi, és a legutolsó elválasztás óta, illetve ha ilyen még nem volt, akkor a szó eleje óta szerepelt magánhangzó. Ez az általános szabály. (Lehet, hogy a magyar nyelvtan nem egészen ez, de a program ezt csinálja.) Egy elválasztással keletkező szótag szó elején vagy végén nem állhat egy betűből, vagyis az 'akarat' szó helyes elválasztása: aka-rat. Ez nem nyelvtani szabály, hanem nyomdai. Ha egy ilyen szótag új sorba kerül, vagy a megelőző sor végére, akkor azt a nyomdászok fattyúszótagnak nevezik (ebből is látszik, hogy mennyire kívánatos). Néha, főleg, ha a szedett szöveg nagyon rövid sorokba lesz tördelve, szükség lehet rá, hogy megengedjük az ilyen egybetűs szótagokat. Ha a /1LETTER opciót használjuk, akkor az elválasztás a-ka-rat lesz. Hacsak a /NOIGEKOTO opcióval ki nem kapcsoljuk a funkciót, a program felismeri a leggyakoribb igekötőket, és így a felismeri szó elválasztása fel-is-me-ri nem pedig fe-lis-me-ri. Az ismert igekötők:

Megjegyzendő, hogy azon igekötők, amelyek nem mássalhangzóra végződnek, az elemi elválasztási szabályok szerint is helyesen lesznek elválasztva, és ezért nem kell őket külön figyelni.

Néhány esetben, amikor egy ige két mássalhangzóval kezdődik, mint srófol, akkor az olyan igekötők is külön figyelmet kívánnak, amelyek magánhangzóra végződnek. Így a besrófol igét az egyszerű elválasztási szabály bes-rófol--nak választaná el. Ezeket az eseteket a kivételszótárral vesszük figyelembe, úgy, mint az összetett szavakat.

A program nem csupán azt nézi meg, hogy a szó elején áll-e igekötő, hanem a szó további részét is figyelembe véve megpróbálja eldönteni, hogy a szó elején álló betűk igekötőként értelmezhetők-e. Így például az elefánt szóból a program nem csinál el-efántot. Vannak olyan szavak, amelyek elválasztása nem egyértelmű. Ilyen például a felejt. Ha arról van szó, hogy valamit elfelejtünk, akkor az elválasztás fe-lejt. Ha viszont valamit felfelé ejtünk, akkor az elválasztás fel-ejt. Mivel felfelé ritkán szoktunk dolgokat ejteni, ezért a program ebben az esetben úgy dönt, hogy a fel szócska itt nem igekötő. Ha mégis, akkor be kell a szövegben jelölni az elválasztást. Ezt a problémát csak mondatelemző algoritmussal lehetne megoldani, ami nagyon lelassítaná a működést. Léteznek szóelemzésen alapuló elválasztó programok is, és ezek is jóval lasabbak, mint a HiOn.

A program feltételezi, hogy helyesen írt magyar szavak szerepelnek a szövegben, így ha valamit elgépelünk, akkor lehet, hogy az elválasztás is rossz lesz. Igy például, ha azt írjuk, hogy eladdó, akkor az elválasztás elad-dó lesz.

A program figyel olyan kvázi-igekötőket is, mint meggy, vagy leggy, ezért a leggyakrabb, illetve a meggyúrni szavakat is helyesen választja el.

A program minden olyan cs illetve zs betűt, amely után ág, vagy ég betűk következnek c és s illetve z és s betűnek tekint, azaz nem tekinti dupla betűnek őket, és így az olyan szavakat, mint igazság, vagy malacság is helyesen választ el.

Szó nem tartalmazhat { és } karaktereket, valamint szóközt. Egy szót lezár egy vezérlő karakter, vagy vezérlő szó (tehát valamilyen \-sel kezdődő karaktersorozat), ha az nem az elválasztást jelöli be, azaz nem \-. A \- vezérlő karakter része lehet egy szónak.

Magyar szövegben elég ritkán fordul elő, de néha azért előfordul, hogy f és l vagy két f vagy f és i betűk között kell elválasztani. Ha itt egyszerűen \- jelet tennénk a két karakter közé, akkor a TeX nem ismerné fel a ligatúrát, és például ff helyett f f jelenne meg a nyomtatott szövegben. A HiOn ezt az esetet figyelembe véve olyan szekvenciát generál, amelyik nem akadályozza meg a TeX ligatúra felismerését. Ha ezt valamiért ki kellene kapcsolni, akkor a /NOLIG opciót kell használni.

Összetett szavak

A HiOn 1.7-es verziójától kezdve képes arra, hogy az összetett szavakat is helyesen szótagolja. Mivel a HiOn nem elemzi a szavakat, ezért ezt csak egy kivételszótárral lehet megoldani. A programcsomag kell, hogy tartalmazza a hion.dct kivétel szótárat, amely karakteres formában tartalmazza az összes olyan szót, amelyet a HiOn korábbi verziói rosszul választottak el.

Ez a szótár úgy készült, hogy a Magyar Értelmező Kéziszótár címszavainak a jegyzékére ráengedtük a HiOn-t, és az eredményt egy programmal összehasonlítottuk egy másik, szóelemzésen alapuló szótagoló program hasonló eredményével. Ahol a két elválasztás azonos volt, ott feltehetően jó az elválasztás. Ahol különbözött, ott vagy az egyik, vagy a másik, vagy mindkét elválasztás rossz volt. Ezt a fájlt néztük végig, és szövegszerkesztővel, kézzel állítottuk elő a hion.dct fájlt. Így lehetnek benne hibák. Ezeknek a hibáknak a kezelésére ugyanúgy vonatkozik a Karbantartás. fejezet, mint a programhibákéra.

A hion.dct fájl karakteres formátum, amit a HiOn csak lassan tudna használni, ezért ezt át kell alakítani bináris formátumra. Ezt a dicc vagy a hion /FUNCTION=DICC paranccsal lehet megtenni. A keletkező fájl hion.dcb, amely egy táblázatban, gyorsan feldolgozható formában tartalmazza a kivételszótárat.

Ha nem használjuk a /DONT_USE_... opciót akkor a HiOn elindulása után megpróbálja az aktuális könyvtárból beolvasni a hion.dcb fájlt. Ha ez nem létezik, akkor megpróbálja a hion.dcb fájlt megnyitni abban a direktoriban, ahol a végrehajtható fájl van. Ha ez sem sikerül, akkor operációs rendszertől függően viselkedik a program.

MS-DOS alatt nem próbálkozik tovább.

UNIX alatt megpróbálkozik a ~/, a /usr/dict, a /usr/user/dict/, majd végül utolsó kísérletként a /usr/bin/ direktoriban megnyitni a fájlt.

VMS alatt a HION$DIRECTORY: direktorit nézi meg.

Ha sehol sem sikerül megtalálni a hion.dcb fájlt, nincs elég memória, sérült a fájl, vagy esetleg a HiOn egy olyan későbbi verziójával készült, amelynek DCB formátumát az adott verzió nem tudja feldolgozni, akkor egy hibajelzés után (amit a /NOWARNINGS opcióval el lehet nyomni) a program enélkül folytatja a működését.

A DCT-ről DCB formátumra való átalakításhoz több memória kell, mint a DCB fájl beolvasásához, és használatához. Így ha nincs elég memória a szótár átalakításához, akkor meg lehet próbálni az átalakítást egy másik gépen, akár másik operációs rendszer alatt is. A különböző operációs rendszerek alatt készített fájlok megegyeznek.

Úgy is lehet használni a kivételszótárat, hogy csak azokat a szavakat tartjuk a hion.dct fájlban, amelyek az éppen fordítani kívánt anyagban előfordulnak. Ekkor lényegesen kisebb lesz a hion.dcb fájl, a szükséges memória, és minimális sebességnövekedés is elérhető.

A hion.dct formátuma

A hion.dct fájl karakteres formában tartalmazza a kivételszótárat. A csomaghoz tartozó fájl az alábbi kritériumoknak eleget tesz. Ha mégsem, akkor az programhibának tekintendő.

A hion.dct fájl összetett szavakat tartalmaz, amelyben azon elválasztási helyek vannak megjelölve, amelyeket kivételként figyelembe kell venni. Ha ennél több elválasztási hely is be van jelölve, az memória- és sebességveszteséget okoz, de a működést egyébként nem befolyásolja. Két szót szóköz, vagy új sor választ el.

Egy szóban maximum 15 elválasztási hely lehet megjelölve.

A fájl tartalmazhat üres sorokat. Minden ', vagy % jel utáni karaktersorozat a sor végéig megjegyzés, a program figyelmen kívül hagyja.

A szótárban a szavak sorrendje tetszőleges, és a szavak sorrendjétől nem függ a keletkező bináris fájl, a következő kivételtől eltekintve:

Ha egy A szó prefixe egy másik B szónak, azaz B eleje megegyezik A betűivel például almás prefixe az almásrétes szónak., akkor A-nak a szótárban előbb kell szerepelnie, mint B. Ellenkező esetben a szótár átalakítása során a program egy figyelmeztetést ad, és A nem kerül bele a szótárba.

Csak akkor van értelme, hogy B is bekerüljön a szótárba, ha benne az A utáni részen is van kivételes elválasztás, vagy ha B-t egészen másképp kell elválasztani, mint A-t. Ellenkező esetben ugyanis B-t a szótárból való elhagyásával is helyesen fogja elválasztani a program. Így elegendő, ha a szótárban szerepel a vas-út bejegyzés, nem kell, hogy szerepeljen a vas-úton szó, ugyanakkor a vas-út-állomás bejegyzésnek később kell szerepelnie, mint a vas-út bejegyzés. Ilyen esetekben is figyelmeztet a program.

Egy szót a program akkor ismer fel, ha szerepel a szótárban, vagy ha a szótárban szerepel valamelyik prefixe.

A szótárban használhatók az 123 ékezetek, vagy a kiterjesztett karakterkészletű betűk ugyanúgy, mint a .hun fájlokban. A csomagban levő hion.dct fájl a hordozhatóság miatt az 123 ékezetekkel szerepel.

Egy szó csak betűket, az ékezeteket jelölő jeleket és elválasztó jelet tartalmazhat.

A fájl végét a fájl fizikai vége jelzi, vagy egy sor, amely a \eof jelet tartalmazza, azaz egy fordított törtvonalat, és az e, o és f kisbetűket.

A hion.dcb fájl formátuma

A hion.dcb fájl formátuma bináris. Tartalmaz bájtos, szavas (2 bájt), és hosszúszavas (3 bájt) bejegyzéseket. A szavas bejegyzéseknél mindig a kisebb helyiértékű bájt szerepel először, és a nagyobb helyiértékű a következő bájton. A hosszúszavas bejegyzéseknél először mindig a legkisebb helyiértékű bájt szerepel, utána a középső, majd pedig a legnagyobb helyiértékű bájt. Ez a sorrend megfelel az Intel bájt sorrendnek, és pont az ellenkezője, mint a MOTOROLA bájt sorrend.

A fájl egy fejlécből, és egy táblázatból áll.

A fejléc első három bájtja rendre 68, 67, 66, ami a DCB karakter sorozatnak felel meg az ASCII kódtáblában. A következő két bájt tartalmazza hexadecimális ASCII formában a HiOn azon verzió számát, amelyik a bináris fájlt generálta, majd pedig hasonló módon a következő két bájt azt a verziót, amelyik minimálisan szükséges a fájl beolvasásához. A verzióknál a magas érték szerepel először, és az alacsony másodszor. Ezután 3 bájton ugyancsak hexadecimális ASCII formában a generáló HiOn dátuma nap, hónap, év sorrendben. Az év az évszázadok elhagyásával, és 66-tal csökkentve jelenik meg. A dátum utáni bájt értéke 26. Ez IBM PC gépeken text fájlokban EOF jel, és így egy type DOS parancs nem dobja ki a fájl igazán bináris részét a képernyőre.

A fejléc utolsó nyolc bájtja a fájl maradék részének a hossza 4 bájton, valamint az első rekordra mutató pointer szintén 4 bájton. A bájtok sorrendje itt is a legkisebb helyiértéktől a legnagyobb helyiértékig halad.

A fájlban szerepelnek mutatók, amelyek rekordokra mutatnak. Ezek fizikailag hosszúszavak. Ezek értéke bájt eltolási érték a táblázat elejétől számítva, azaz, ha a fájlon belül akarjuk őket értelmezni, akkor a fejléc hosszát az értékhez hozzá kell adni, hogy a seek vagy lseek C könyvtári függvénynek megfelelő értéket kapjunk.

A fájl további része rekordok sorozata. Az egyes rekordok mérete nem állandó, hanem függ a rekord tartalmától. Minden egyes rekord tartalmazza a véges automata egy állapotát és az onnan kiinduló átmeneteket.

Egy rekord szerkezete

Egy rekord első bájtja tartalmazza az állapotból kiinduló átmenetek számát (n). A következő bájt értéke, a lehetséges elválasztások száma (h). Az ezután következő h darab bájt tartalmazza az elválasztások lehetséges helyeit szigorúan növekedő sorrendben. Ha h értéke nulla, akkor ez a rész hiányzik, vagy másszavakkal nulla darab bájt szerepel. Innen kezdve a rekord végéig 4n bájton szerepelnek az állapotból kiinduló átmenetek. Ezek mindegyike 4 bájtot foglal el, amelynek első bájtja az átmenet karaktere, a maradék három bájt pedig az új állapotnak megfelelő rekordra mutató pointer.

IBM--PC, DEC International karakterek

A HiOn program képes arra, hogy IBM--PC-n, VAX gépeken és UNIX-okon felismerje és kezelje a 127-nél nagyobb kódú karaktereket. A programban van több beépített táblázat. Mivel az IBM PC CWI és a DEC Multinational Character Set ékezetes karaktertáblázat nem üti egymást, ezért a táblázat egyszerre tartalmazza mind a kettőt. A /ICHARSET opcióval ennek a táblázatnak a tartalma átírható. Vigyázat! Ez a táblázat kiosztás az 1.2 verzióban megváltozott.

IBM PC DEC Int.  
Kód Kód Karakter
129 252 ü
130 233 é
140 236 Í
141 nincs Í
143 197 Á
144 201 É
147 244 ő
148 246 ö
149 242 Ó
150 251 ű
151 249 Ú
152 253 Ű
153 214 Ö
154 220 Ü
160 225 á
161 237 í
162 243 ó
163 250 ú
167 186 Ő

IBM PC és DEC karakterek táblázata

A /ICHARSET opcióban paraméterként meg kell adni annak a fájlnak a nevét, amelyik a mi táblázatunkat tartalmazza. Ennek a fájlnak minden egyes sora egy karaktert kell, hogy definiáljon. Egy sor három számból áll. Az első a karakter kódja, amit fel kell, hogy ismerjen a program. A második és harmadik szám a betű kétkarakteres kódját kell, hogy adja. Az első kód csak 127-nél nagyobb lehet, ennél kisebb kódú karakterekre ugyanis a program nem vizsgálja a táblázatot. A második két szám csak 128-nál kisebb szám lehet, mert a program egy konvertált érték alapján már nem nézi át még egyszer a táblázatot, és a kimenetbe 127-nél nagyobb kódú karakter fog kerülni. A számokat szóközök kell, hogy elválasszák. A decimális számok helyett megadhatunk karaktereket is, ezek a saját ASCII kódjukat jelentik. Ha egy számjegy karaktert, szóközt vagy backslasht akarunk megadni, akkor egy backslash kell, hogy megelőzze a karaktert.

Üzemmódok

Mind a két funkciót (elválasztás és ékezetek átalakítása), ki és be lehet kapcsolni a szövegben elhelyezett | és @ karakterekkel. A | karakter kikapcsolja az elválasztások bejelölését, és a @ jel kapcsolja be. Ha közvetlenül egymás után két | jelet írunk, akkor az kikapcsolja mind az elválasztások bejelölését, mind pedig az ékezetek TeX formára hozását. A bekapcsolást ekkor a @@ karakterek végzik, azaz két @ karakter közvetlenül egymás után. Mind az elválasztást, mind pedig az ékezetek átalakítását kikapcsolja a TeX matematikai módja, amelyet egy vagy két $ jel vezet be, és ugyanannyi $ jel zár le. A /LATEX opció használatakor a \[, \], \(, \) jeleket is felismeri a program.

Ilyen módon a HiOn négy üzemmódban tud dolgozni.

  1. 1 Mind az elválasztás, mind pedig az ékezetek bejelölése be van kapcsolva. Ez az az állapot, ahogy a HiOn a fájl elején indul. Ilyenkor a HiOn a @ karaktereket közönséges karakterként kezeli.
  2. Az elválasztás bejelölése ki van kapcsolva, de az ékezetek átalakítása TeX formára be van kapcsolva. Erre az üzemmódra egy | karakterrel lehet átkapcsolni, amely után nem áll egy másik ugyanolyan karakter. Ebben az üzemmódban a HiOn a | karaktereket közönséges karakterként kezeli, de az első @ karakterre visszakapcsol az 1 üzemmódba. A bekapcsoló, illetve kikapcsoló karakterek nem kerülnek bele az átkonvertált fájlba.
  3. Mind az elválasztások bejelölése, mind pedig az ékezetek átalakítása ki van kapcsolva. Ezt az üzemmódot a || jellel lehet bekapcsolni. A két | jel között nem lehet semmilyen más karakter, még szóköz sem. Ebben az üzemmódban a HiOn a | karaktert közönséges karakterként kezeli, és közönséges karakterként kezel egy @ karaktert is, ha nem áll közvetlenül utána egy másik @ karakter. Az üzemmódot kikapcsolni két @ karakterrel lehet, amelyeknek közvetlenül egymás után kell állniok. A bekapcsoló, illetve kikapcsoló jelek nem kerülnek bele az átkonvertált fájlba. Ez a leggyorsabb üzemmód, így ha egy fájl elején sok makró definíció van--amelyet a HiOn ugyan nem bántana--, azért érdemes bekapcsolni ezt az üzemmódot a gyorsabb működés kedvéért.
  4. Matematikai mód, amelyet a TeX $ vagy $$ jele vezet be, és amelyet ugyancsak egy $ vagy $$ jel zár le. Ebben az üzemmódban a HiOn minden $-tól különböző karaktert közönséges karakterként kezel. A bekapcsoló, illetve kikapcsoló jelek bekerülnek a konvertált fájlba is, hiszen azok a TeX számára is értelmezendőek. A HiOn nem kapcsol át matematikai módba, ha a $ jelet egy backslash előzi meg.
Ha a szövegbe | jelet akarsz írni, akkor először ki kell kapcsolni az elválasztást és az ékezetek átalakítását két | jellel, majd begépelni a | jelet, majd pedig visszakapcsolni az 1 üzemmódra két @ jellel. Így a végső karaktersorozat |@@ lesz. (Feladat: hogyan kell leírni ezt a karaktersorozatot?)

A 2 és 3 üzemmódok között nem lehet csak az 1 üzemmódon keresztül átkapcsolni. Matematikai mód előfordulhat a 1 és a 2 üzemmódon belül. Ilyenkor a matematikai mód, azaz a 4 üzemmód lezárása után a körülvevő üzemmódba kerül vissza a HiOn.

Statisztika

A HiOn a munka befejeztével egy statisztikát ír ki a képernyőre arról, hogy mit is csinált. A hion.hun fájl fordításakor például a következőt írta ki:

 HiOn report

40577 TeX karaktert írtam ki. 7039 szó volt, ebből 664 vezérlő szó. 47 bonyolult, discretionary elválasztás volt. 665 alkalommal merült fel ligatúra védelem, és ebből 1 alkalommal kellet discretionary formulát alkalmaznom. 5454 alkalommal vizsgáltam igekötő kezdetű szavakat és 304 alkalommal találtam is. 122 alkalommal vizsgáltam meg a szó többi részét is, 66 alkalommal találtam valódi igekötőt. 6374 alkalommal kerestem ság ség képzőt, és 8 alkalommal találtam.

Szívesen máskor is.

Ez azt jelenti, hogy körülbelül 40577 darab karakter került a TeX fájlba. Összesen 7039 szót dolgozott fel a HiOn és ebből 664 alkalommal a szó vezérlő szó volt. 47 alkalommal talált olyan szót a HiOn amelyikben hosszú összetett mássalhangzó volt.

665 olyan betűpárost, vagy betűhármast talált a program, amelyet ligatúraként szed ki a TeX, azonban csak 1 alkalommal szerepeltek ezek a karakterek olyan helyen, hogy közöttük a magyar nyelv elválasztási szabályai szerint elválasztást kellett volna megengedni. Általában magyar szövegben csak akkor fordulnak elő elválasztandó ligatúrát tartalmazó szavak, ha az szakszöveg, és olyan szavakat tartalmaz, mint effektív. Egyébként a dokumentációban ez az a szó, amit a HiOn megtalált.

5454 alkalommal vizsgálta meg a HiOn a szavak elejét, hogy nem igekötő-e a prefixük. Ebből 304 alkalommal találta úgy, hogy formailag a szó kezdete igekötő, és ebből 182 alkalommal olyan igekötőről volt szó, amely mindig igekötőként jelenik meg a szó elején, és így nem kellett megvizsgálni a szó további részét. 122 olyan alkalom volt, amikor csupán a szó elejének a vizsgálata nem döntötte el, hogy a kezdet igekötő, és meg kellett vizsgálni a szó további részét is. Ebből 66 alkalommal talált a HiOn igazi igekötőt.

6374 alkalommal nézte meg a HiOn, hogy a szóban szerepel-e a cság, cség vagy a zság illetve zség karakter sorozat. 8 alkalommal volt.

A /NOSTATISTICS vagy a /SILENT opciókkal lehet megkérni a HiOn-t arra, hogy ne írjon ki statisztikát.

Karbantartás

Mint minden program, valószínűleg a HiOn sem hibamentes. Szinte biztos, hogy maradtak benne hibák.

A HiOn működésének, illetve a segédfájlok tartalmának meg kell felelnie az ebben a leírásban szereplő állításoknak. Minden másfajta működés hibának számít.

Egyes helyeken a program olyan feltételeket is ellenőriz, amelyeknek nem szabad előfordulniok. Ha a feltétel mégis előfordul, akkor egy hibajelzést generál, ami valahogy így néz ki:

HION INTERNAL ERROR
STATE=xxx
PHASE=yyy
MESAG=ssssss
Please contact:
h3309ver@ella.hu
Ha ezt produkálja a program, akkor írd meg, a két xxx és yyy számot, a ssssss szöveget, a HiOn verzió számát, a kibocsátási dátumát (ez a verzió szám mellett jelenik meg az 1.6 verzió egyes példányainál és a felett), egy olyan bemenő szöveget, amire ezt produkálta a program, az opciókat, amit használtál, az operációs rendszer és a C fordító típusát és verzió számát.Ha lehet, akkor a lehető legrövidebb olyan szöveget küldd, ami ezt produkálja.

Ha a program egyszerűen meghal (ez PC-n fordulhat elő) vagy Segmentation fault hibajelzést ad (ez inkább UNIX-ra jellemző), vagy egy hosszabb szöveget ír ki (pl. VMS rendszer alatt) akkor hasonló dolgokat írjál, mint fent, és írd meg, hogy mit írt ki az operációs rendszer.

Ha a program valamit rosszul választ el, és így készít el egy efántot, és biztos, hogy rosszul választ el, akkor írd meg, hogy mit választ el rosszul. Vigyázz! Ha a kinyomtatott szövegben valami rosszul van elválasztva, akkor még mindig lehet, hogy a TeX választott el rosszul egy olyan helyen, ahol a HiOn nem jelölt be elválasztást. Nézdd meg a generált TeX szöveget, hogy be van-e jelölve az elválasztás!

Ha nem fogadja el a TeX vagy a LaTeX a generált szöveget, akkor valószínűleg már az eredeti .hun szöveg sem volt jó. Ilyesmi miatt csak akkor írjál, ha nagyon nagyon nagyon nagyon nagyon nagyon nagyon nagyon nagyon biztos vagy benne, hogy a HiOn tolja el a dolgot. Ha LaTeX-et használsz, akkor ellenőrizd le, hogy nem felejtetted-e el a /LATEX opciót.

Ha a generált fájl nem egyezik meg azzal, mint amit te várnál a HiOn-tól, akkor gondold végig, hogy nem te értettél-e félre valamit a leírásból. Ha úgy gondolod, hogy nem, és a HiOn hibázik, akkor írd meg nekem, és akkor még mindig lehet, hogy azt fogom válaszolni, hogy amit találtál, az nem hiba, hanem így kell, hogy legyen.

Ha bármi egyéb gondod van, akkor csak írjál nyugodtan. Eddigi életemre és szokásaimra visszatekintve azt mondhatom, hogy eMail-re általában még aznap szoktam válaszolni. Ez nem igaz, mióta az ELLA rendszerhez volt szerencsém., levélre egy éven belül. Az eMail címem megtalálható a programban. Ha nem tudsz eMailen keresztül elérni, akkor írjál egy közönséges levelet a következő címre:

Verhás Péter
Patyolat utca 4.
Budapest XV. kerület
1155

Ugye nem kell mondani, hogy HUNGARY illetve EUROPE ha Magyarországon kívülről írnád a levelet.

Nagyon fontos, hogy ha levelet írsz, és van, akkor írd meg az eMail címedet.

Ha ebben a dokumentációban, vagy bármely más fájlban helyesírási hibát találsz, akkor arra kérlek, hogy azt rajtam kívül ne áruld el senkinek. A szövegben mindenhol a szabványos írásmódot használtam, azaz fájl és bájt nem pedig file vagy byte. Lehet szeretni, utálni, de ez a helyes.

Történelem

Gyakran Ismételt Kérdések, azaz GYIK

A HiOn sohasem fog tökéletesen működni. Ezt úgy kell érteni, hogy a HiOn bármely verziójához lehetett, és lehet majd generálni olyan hun fájlt, amire a HiOn nem azt a kimenetet produkálja, amit a felhasználó elvárna. Ennek a legegyszerűbb példája az, hogyha a \ karakter kód osztályát átállítjuk, és valamely más karaktert használunk escape karakternek, a HiOn akkor is a \ karakterrel kezdődő szavakat fogja békénhagyni.

Ha minden lehetőséget figyelembe akarnánk venni, akkor egy olyan programot kellene írni, aminek a bonyolultsága legalább akkora lenne, mint a TeX rendszeré, akkor pedig már egyszerűbb egy magyar TeX-et készíteni. Van is valami ilyen, a MaTeX, kérdés, hogy akkor miért létez a HiOn. Próbáld ki a MaTeX-et, és megtudod. A HiOn célja az volt, hogy egy olyan preprocesszor legyen, amelyik egyszerű, rövid, hordozható. Ezért van az is, hogy a HiOn egyetlenegy C programfájlban került terjesztésre. Így mindenkinek le kell tudnia fordítani, nem vesznek el fájlok a másolás közben, nem kell makefile-okkal bíbelődni.

A program fejlődik, újabb verziók látnak napvilágot, és a felhasználók kéréseit is figyelembe véve fejlődik a program. Ugyanakkor időről időre vannak olyan kívánságok, amelyeknek a teljesítése nem reális, a megvalósítás túl bonyolult lenne, ugyanakkor a használat könnyebbsége ezt nem ellensúlyozná. Egy ilyen kérés volt az, hogy a HiOn ismerje fel matematikai módon belül a nem matematikai módban levő részeket. Ehhez a HiOn-nak elemeznie kellene a matematikai módban írt szöveget, és egy olyan funkciót valósítana meg, amire csak ritkán van szükség, és megfelelő használattal kikerülhető.

Persze mit jelent a megfelelő használat? Van, amikor a válasz egyszerű, és van, amikor nem magától értetődő. Az ilyen kérdésekre szeretnék választ adni ebben a fejezetben.

Hogyan írjak egy | jelet?

A dolog rendkívül egyszerű. Ki kell kapcsolni a HiOn működését két | jellel, azaz be kell írni: ||. Ezután be kell Írni a | jelet, és vissza kell kapcsolni két @ jellel, azaz be kell írni: @@. Így a végső karaktersorozat, ami a kimeneti TeX fájlban meg fog jelenni: |. Most már csak az a kérdés, hogy ezt a karaktersorozatot hogyan kell kiszedni.

Hogyan írjak egy @ jelet?

A HiOn bekapcsolt állapotában a @ jel ugyanolyan karakter, mint bármely más betű. Egyszerűen be kell gépelni Általában a SHIFT és a 2 gombok együttes lenyomásával érhető el, vagy magyar Windows billentyűzet esetén az Alt Gr és V gombokkal.

Bekapcsolás matematikai módban

Matematikai módban is lehet olyan szöveg, amely nem képlet. Ilyen lehet egy \hbox , vagy egy \footnote argumentuma. Azt szeretnénk, hogy a HiOn ezekre a szövegekre is működjön, hogyan lehet bekapcsolni?

Nem szabad engedni, hogy a HiOn kikapcsoljon a matematikai mód kezdetét jelző $ jelnél, ezt pedig úgy lehet elérni, ha már kikapcsolt állapotban van. Így a $ jel helyett ||$-t kell írni, illetve $$ helyett ||$$ jelsorozatot és a matematikai mód végét jelző $ vagy $$ helyett $@@ és $$@@ jeleket. Így a HiOn a matematikai módon belül ugyanúgy kikapcsolt állapotban lesz, mintha a $ vagy $$ jel kapcsolta volna ki, de a @@ jelekkel bármikor bekapcsolhatjuk, és a || jelekkel bármikor ismét kikapcsolhatjuk a működését. Egy dologra kell odafigyelni: A matematikai mód végén a HiOn legyen kikapcsolt állapotban, ellenkező esetben a matematikai módot kikapcsoló $ vagy $$ jelet matematikai mód kezdetének fogja tekinteni, és felborul.

A HiOn tönkreteszi a tabular környezetet

Igen. Ezt úgy lehet elkerülni, hogy a \begin{tabular} előtt két | jellel kikapcsoljuk a HiOn-t, és utána visszkapcsoljuk két @ jellel. Ez tipikusan egy olyan probléma, amelynek a figyelembe vétele a HiOn-tól túl nagy erőfeszítést igényelne.

Szt-ring és szt-racsatella...

Az 1.5 verzió előtt volt a HiOn-ban egy algoritmus hiba és ezt a két szót rosszul választotta el. Használj 1.5 vagy annál magasabb verziót.

Malac-ság

A HiOn a -ság -ség képzőket figyelembe veszi. Ezekkel a képzőkkel csak akkor kell foglalkozni, ha előttük c vagy z betű áll, mert ilyenkor az algoritmus cs-nek vagy zs-nek tekinti a képző előtti utolsó és a képző első betűjét. Így a malacságszót a program ma-la-cság-ként választaná el. Az 1.5 verzió a szavakban a cság, cség, zság és zség karaktersorozatokban a a dupla betűket felbontja és így azok helyesen választódnak el. Ha valamiért akadna olyan szó, amely ezen karaktersorozatok közül bármelyiket tartalmazza, és mégsem -ság -ség képzős, akkor a szót a | és @ jelek közé kell zárni, és kézzel beírni az elválasztást. Én nem tudok ilyen szóról, így csak egy rossz példaként, ha a malacság szót rosszul akarjuk elválasztani, akkor ma\-la\-cság az írásmód.

Használhatom a HiOn-t csak karakterkonverzióra?

Igen. Ehhez ki kell kapcsolni a különböző elválasztásokat, azaz alkalmazni kell a /NOHYPHEN opciót. Ekkor csak az ékezetek bejelölése történik, ami alap\-értelmezésben TeX, de a /OCHARSET opcióval átkapcsolható. A HiOn ilyenkor sem konvertálja át a % jel után álló TeX megjegyzéseket. Ha tényleg mindent át kell konvertálni, akkor a huon funkciót kell használni, vagy a DRTC programot, ami CWI, 852 és ISO Latin 2 kódkészlet között konvertál text és MicroSoft RTF formátumú fájlokat.

Milyen gyors a HiOn?

A korábbi verziókhoz képest az 1.4 és méginkább az 1.5 verziók meg lettek gyorsítva, így a HiOn elegendően gyors. Egy 386AT 33MHz gépen a hion.hun fájl fordítása alig több mint 19 másodperc. Ugyanakkor a program felépítése olyan, hogy a bonyolult funkciók, mint az igekötők figyelése, vagy a ligatúra védelem kikapcsolása nem gyorsítja meg lényegesen a futást, ezért csak sebességi okok miatt ezeket nem érdemes kikapcsolni.

A kivételszótár beolvasása elég sok időt vesz igénybe, ezért néha érdemes lehet a /DONT_USE_DICTIONARY opcióval az összetett szavak figyelését kikapcsolni.

H-ogy és társai

A TeX alaphelyzetben inkább túl hosszú sorokat csinál, mint rosszul választ el, vagy túl nagy szóközöket hagy. Ilyenkor egyes sorok túllógnak a bal oldali margón. Ha ez gondot okoz, pl. nagyon rövid sorok esetén, akkor használni lehet a \sloppy parancsot. Ekkor viszont, amellett, hogy nagyobbak lesznek a szóközök, a TeX lazábban veszi az elválasztást is, és elválszt olyan helyen is, ahol nem lett bejelölve. Ilyenkor keletkeznek az olyan elválasztások, mint h-ogy. Ezt úgy lehet elkerülni, hogy az ilyen szavakat felsoroljuk egy \hyphenation parancsban, amely megmondja a TeX-nek, hogy az adott szavakat hogyan kell elválasztani. Jelen esetben azt mondja meg, hogy sehogy sem kell ezeket a szavakat elválasztani.

A HiOn 1.7 verziójától kezdve lehetőség van arra, hogy a HiOn-t rávegyük, hogy az ilyen szavak után egy \- jelet írjon. (/POSTHYPHEN opció) Ilyenkor a két karakternél hosszabb szavak után a HiOn egy \- jelet tesz. Ez a TeX számára azt jelenti, hogy a szót mi választjuk el, és azokat a szavakat, amelyekben akár \-, akár discretionary elválasztás szerepel, nem választja el, csak a megadott helyeken. Így a TeX nem fogja elválasztani ezeket a szavakat sem.

Nem jó a szótár?

Ha a szótár fordításakor a hion /FUNCTION=DICC parancs kiadása után egy csomó hibaüzenet jelenik meg a képernyőn, melyek szerint szavak feleslegesek, vagy lefagy a program, akkor valószínűleg MS-DOS alatt dolgozol, és rossz memóriamodellben lett lefordítva a HiOn. Csak a HUGE módban lefordított program működése garantált (az is csak annyira, mint a Jogok és Garanciák. fejezetben írva vagyon).

A jövő útja

Mivel az összetett szavak szótárának beolvasása aránylag sok időt vesz időbe, ezért fontolom, hogy a HiOn vezérelhető legyen egy programfájllal, és egy elindítással több fájlt is átkonvertáljon. Ekkor csak egyszer kell beolvasni a kivételfájlt.

Jogok és garanciák

Az ebben a fejezetben foglaltak kizárólag a program 4.0 verziójára érvényesek.

A HiOn program GPL licence alatt használható. A korábbi 3.0 változatig érvényes saját licence a 4.0-tól kezdődően GPL, a következő kiterjesztéssel: Semmilyen felelősséggel nem tartozom azon nyomtatványok tartalmát illetően, amelyek a HiOn-nal készültek, még abban az esetben sem, ha az adott nyomtatvány elkészítéséhez a HiOn használati jogát megvették. A HiOn használatának engedélyezése, vagy használati jogának eladása egy adott, vagy több, előre meg nem határozott kiadványhoz nem jelenti azt, hogy a kiadvány tartalmával egyetértek, vagy azt ismerem. A kiadvány bárminemű, kiadói, szerzői vagy egyéb jogot sértő tartalmáért a kiadvány kiadója és szerzője az egyedüli felelős. A HiOn-t csak ennek tudomásulvételével lehet használni.

Semmiképpen nem használható a HiOn olyan anyagok készítésére, amelyek készítése vagy terjesztése törvénybe ütközik, így különösen nem használható olyan szövegek kezelésére, amelyek alkalmasak gyűlöletkeltésre, megfélemlítésre.

Nem volt értelme a korábbi speciális licence-nek. A program első verziójakor nem létezett még GNU, de gyakorlatilag mindenkit magasról nem érdekelt a licence, és lopta a programot. Egy meglehetősen nagy újságkiadó cég informatikusa még fel is hívott, és segítséget kért, hogy a szedési rendszerükbe hogyan lehetne beilleszteni, de fizetni eszébe sem jutott, én meg nem akartam pereskedni. Nem fogom megmondani, még személyesen sem, hogy melyik cég, mert neki esetleg eszébe jutni pereskedni.

A program 3.0 és 4.0 verziója között technikai, fejlesztési különbség nincs, csak a licence.

Köszönetnyilvánítások

Mindenk\'eppen meg kell, hogy említsem Tóth Gábort, hiszen ő írta az ETEX programot. Amikor az ETEX megjelent, a HiOn első változata már kész volt, ez a változat azonban nem jelölte be az elválasztások helyét. Mivel akkor az ETEX többet tudott, mint a HiOn 1.0 ezért a HiOn nem került a nyilvánosság elé. Később azért fejlesztettem tovább a HiOn-t, mert az ETEX-nek volt néhány hiányossága, amin nem tudtam magamat túltenni. Egy magyar nyelvű LaTeX szöveg szerkesztése közben a címkéknek is magyar nevet adtam, és az ETEX az ékezeteket kicserélte TeX jelölésre, amit ebben az esetben nem kellett volna, hogy tegyen. Az ETEX pedig az ékezetek beírását nem hajlandó kikapcsolni, csak az elválasztást.

Köszönet illeti Hollósi Józsefet, aki az XMAIL rendszer létrehozója, és aki hajlandó volt felvenni a HiOn-t a lekérdezhető dokumentumok listájába.

Köszönet illeti Kornai Andrást. LaTeXen keresztül küldött nekem egy magyar gyakorisági szótárból [2] egy kivonatot, amelynek alapján az igekötők felismerését végző programrészt tudtam megírni.

Köszönettel említem Tihanyi László és Prószéki Gábor nevét, akik felhívták a figyelmemet az olyan szavak, mint kilencszer, valamint igazság létezésére. Ők voltak azok, akik egy olyan szótárat bocsátottak a rendelkezésemre, amelyben magyar szavak elválasztva szerepeltek, és amelynek a segítségével elő tudtam állítani a hion.dct fájlt. (Lásd még a Összetett szavak. fejezetet!)

A HiOn két legaktívabb felhasználója Poppe András és Kocsis Tamás. Igen sok apró és kevésbé apró hibát, hiányosságot derítettek ki a HiOn használata során, és ezek most mind benne lennének a programban, ha nem veszik a fáradságot, hogy figyelmeztessenek. De vették, amikor pedig nem (ha volt ilyen), arról nem tudok.

Irodalom

[1] Donald E. Knuth, The TeX book, Addison Wesley Publishing Company, (1986)

[2] András Kornai, Szótári adatbázis az akadémiai nagyszámítógépen, Műhelymunkák a nyelvészet és társtudományai köréből, 2. MTA Nyelvtudományi Intézet, Budapest, 65-79, (1986)

[3] Leslie Lamport, LaTeX A Document Preparation System, Addison Wesley Publishing Company, (1986)