A szótár leírása



A script indítása:
szotar
(ekkor prompt-ot ad és várja, hogy beírjad a szavakat), vagy
szotar [OPTION]... foo
(ekkor kikeresi a foo szót a ketnyelvű szotárból, az opció a --eng, --ger, --hun-eng vagy --hun-ger kapcsolók valamelyike lehet, amivel azt mondhatod meg, hogy melyik szótárban keresse), vagy
szotar --ekesit, vagy
ekesit
(ekkor standard inputról beolvassa a szöveget és az ékezetek nélküli betűket lecseréli az ékezetes megfelelőjükre ha egyértelmű; az eredmenyt a standard outputra küldi), vagy
szotar -
(és ekkor standard input-ról beolvassa a szót, amit aztán kikeres az angol-magyar szótárból, ezt használja a szotar nevű emacs-lisp függvény is).

Ha úgy indítod, hogy szotar, akkor megjelenik egy help-szöveg, mely az alapvető parancsokat (mode-váltás, leírás előhívása és kilépés) sorolja fel.

A keresési mode-ok:

A keresési mode határozza meg, hogy a beírt szórészletet melyik nyelvű szótárakban keresi a program.
Az english-mode
Ez a default mode és itt a beírt szót az angol-magyar szótárban keresi, és ha nem találta, akkor a szóvégződéseket (pl. többesszám) levágva megkeresi a szótövet. A beírás során használhatod a TAB billentyűt és akkor megmutatja a lehetséges szavakat illetve kiegészíti a beírt szót.

A hun-eng-mode
Ebben a mode-ban magyarul beírt szavakat keres a magyar-angol szótárban, beírhatod ékezetek nélkül és ekkor minden lehetséges ékezettel megpróbálja kiegészíteni (pl. sundiszno). Természetesen beírhatod közvetlenül is az ékezeteket, vagy TeX/LaTeX-es ékezeteket is használhatsz (pl. g\'ep\'\i r\'{o}n\H o).
Repülőékezeteket (pl. ku:lo:nbo:zo", sze'tszaki't, vono'ko:teles kotro') is használhatsz.
Tudnivalók a TAB-ról:
A magyar szavak esetén, ha a " vagy ' repülőékezetek valamelyikét használod, akkor nem működik a kiegészítés. (Ilyen esetben ne használd ezeket ékezeteket, vagy pl. használd a TeX-es ékezeteket). A lehetőségeket a beírt szórészlet ékezeteit figyelembe véve mutatja.

A german-mode
A beírt szót a német-magyar szótárban keresi, a német szavak ékezeteit a magyarhoz hasonlóan lehet beírni, a magyarhoz képesti újdonság:
Az ä betűt repülőékezettel így írhatod: a:, vagy TeX-es ékezettel: \"a. A ß betű helyett egyszerűen írhatsz két s-et (pl. strasse), vagy a TeX-es \ss írásmód is jó.

A hun-ger-mode
Az hun-eng-mode-tól annyiban tér el, hogy a szavakat a magyar-német szótárban keresi.

A mixed-mode
Ebben a mode-ban először keres english-mode-ban, aztán german-mode-ban végül a kétféle hungarian-mode-ban. A régebbi verziójú (1.42.3 vagy korábbi) szotar-nál ezt normal-mode-nak neveztem és ez volt a default.

A match-mode
Ebben a mode-ban a beirt szórészletet keresi az angol és magyar szótárakban (a lehetséges ékezetekkel kiegészítve).

Általános tudnivalók a szavak beírásához:

A beírás (és keresés) nem érzékeny a kis, vagy nagybetűkre, de kiíráskor mindkét típusú betűk előfordulhatnak. (Szerintem célszerű kisbetűkkel beirni a szavakat, de ha azt szeretnéd, hogy egy betűt mégis csak nagyként keressen, tedd [] jelek közé, pl.: [E]skimo, lásd még a regexp-ekről szóló részt).

Az előzőleg beírt szavakat is vissza lehet keresni, a szavak között a fel- és lenyillal lehet mászkálni, és egy ~/.szotar_history nevű file-ba menti őket.

A beíráskor a zsh command-line editorát (a neve: ZLE) használod, mely az emacs nevű editor sok funkcióját ismeri, pl. a ctrl-S-re a parancssorban kereshetsz szórészletet, de a kijelölés és másolás (ctrl-space, ..., esc-w, ..., ctrl-y) is működik. A M-x billentyűkombinációra pedig az editor legtöbb parancsa elérhető, melyeken némi angoltudással és a TAB billentyű nyomogatásával bárki könnyen eligazodhat. Azt, hogy melyik billentyukombináció mit csinál a M-x describe-key-briefly parancssal nézheted meg.

A talált szavakat kiírásához a less nevű programot használja, amelyből a q-betűvel lehet kilépni, vagy ha a szavak végére értél, magától is kilép.

A programbol Q-val lehet kilépni.

Egyéni beállítások:

Egyéni szotarfile-t és a programokat is beállithatsz magadnak a ENGSZOTARFILE, GERSZOTARFILE, SZGREP, SZPAGER, SZSORT, SZTR, SZCUT és SZWC változókban. (Exportálni kell őket, ha a login-shelled tcsh, vagy csh, akkor a
setenv VALTOZO ertek
ha zsh, ksh, vagy sh, akkor pedig a
VALTOZO=ertek; export VALTOZO
parancssal). Ha nincsenek beallítva, akkor a program default beallításokat használ.
A szotar-hoz írt emacs-lisp függvények:

szotar: ez a szónak az elejétől a kurzor pozíciójáig terjedő részét keresi ki az angol-magyar szótárból.

szotar-region: a kijelölt részt (Ctrl+space ...) keresi ki az angol-magyar szótárból.

Ezeknek beallítottam global-set-key-vel egy-egy billentyűt (F12 és F11), nem biztos, hogy más is pont ezeket a billentyűket akarja erre a célra használni.

Hogy még kényelmesebb legyen az emacs-os szótárhasználat, írtam egy nézegető mode-ot, amely a buffer-t read-only mode-ba teszi és az enter-re keresi ki a szót, a nyilakkal szavanként mozog, és az insert/delete a másik ablakot (a szotar ablakát) scroll-ozza.
Ekkor lehet szógyűjteményt is csinálni:
TAB-ra átmegy a másik ablakba (általaban a *Shell Command Output* bufferbe, ahol a szójelentések talalhatók), ahol az egyes sorokat a + billentyűvel hozzáírja a szógyűjtemény-filehoz, a - billentyűvel kitörli a sort ahol állsz, de ez sajnos nem mindig működik jól (nézd meg a BUGS_and_TODO file-t).
Ezt a 3 billentyűt (TAB,+,-) globálisan (és lokalisan is) átdefiniálja a nézegető-mode, ha ez zavar, akkor addig ne szerkessz más buffert, amíg a nézegető-mode-ot ki nem kapcsoltad.
Az SZWORDSFILE változó beallításával és exportálásával a userek saját szógyűjtemény-file-t is használhatnak, különben a program a Makefile-ban fordítás előtt meghatározott file-t (mint pl. ~/.szotar-words) használja.
Ezek is egyéni beallitások, de szerintem, ha szöveget akar olvasgatni az ember ez igy kényelmesebb.
A toggle-nezegeto függvénnyel lehet be-ki kapcsolgatni (kikapcsoláskor a read-only-ságot úgy állitja vissza, ahogy eredetileg volt.) (Ennek is beállítottam valami billentyűt (F10).)


Ha mindezt rendszeresen használni akarod, akkor írd be a .emacs-odba a következő sort:
(load-library "szotar.elc")
Interaktívan a M-x load-library-vel lehet betölteni a szotar.el-t.
Parancssorból az emacs -l /usr/lib/emacs/site-lisp/szotar.el utasítással lehet elérni a szotar.el-t.

Kiegészítés haladóknak:

Beíráskor használhatsz regular expression-öket is, pl. h[aoiu]z , *print.*(ed|irc) , stb...
Más példa: [eqwrtypsdfghjklzxcvbnm]*$ megmutatja az összes eszperente szót, hungarian-mode-ban a magyar eszperentéket, english-mode-ban pedig az angolokat, mixed-mode-ban pedig mindkétfélét.

A regular expression-ök használatához hasznos ismerni a szotarfile szerkezetét: Ilyen sorokbol áll a file:
^"angol szó" = "magyar szó"$
A ^ és $ értelmezése:
hungarian-mode-ban a ^-ot figyelmen kívül hagyja, az english-mode-ban pedig a $ a " ="-t jelenti és a szó utána levő részét figyelmen kívül hagyja és "^PATTERN.* =" helyett a "^PATTERN ="-t keresi.

Persze regexpeknél nem működik a TAB...

Információk az ELTE Compsci-network felhasználóinak:

Sokak már megszokták a turan nevű gépre felinstallált régi szótárprogramot, annak lényegében a match-mode felel meg, de ott a magyar szavakat repülőékezetekkel kellett beírni.
A szotar legújabb verzióját a következő gépekre installálom fel: bolyai, neumann, turan, konig. Ezek közül a leginkább a neumann-on érdemes futtatni, a turan-on viszont furcsán viselkedik a szotar, ezért amíg rá nem jövök miért, addig ezt a gépet nem ajánlom. A többi gépen (pl. labor<->) is van valami régebbi verziójú szótár, de azoknak nem minden funkciója működik úgy, mint ahogy ebben a leírásban olvasható.
A szavak beírásakor az F1 és F2 billentyűket érdemes kipróbálni, ezek a historyban keresik előre, illetve hátrafele a beírt szórészletet. A ZLE editor describe-key-briefly parancsa pedig az F8 billentyuvel érhető el gyorsabban.

Ribárik Gábor
(ribarik@cs.elte.hu)