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 match-mode közvetlenül a PATTERN-t (=beírt kifejezést) keresi.
- A hungarian-mode (többek között) az "= PATTERN"-t keresi.
- Az english-mode (többek között) a "^PATTERN.* ="-t keresi.
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)