Dal�� P�edchoz� Obsah

13. Kontrola �esk�ho pravopisu (spell-checker)

Petr Kol�� [email protected]: 14. 5. 1999; Pavel Jan�k ml. [email protected]: star�� verze

Nejroz���en�j��m programem pro kontrolu pravopisu na unixov�ch syst�mech je GNU ispell (v dob� psan� tohoto textu verze 3.1.20). Vzhledem k jeho schopnostem se sp��e jedn� o pouh� odhalov�n� p�eklep�. Ispell toti� neodhal� syntaktick� ani stylistick� chyby, tak�e ot�epan� "v�ly VYLI v�nce" je podle n�j spr�vn� (jeliko� "vyli" je tak� �esk� slovo).

Soubory s �esk�m slovn�kem pro ispell naleznete na adrese ftp://ftp.vslib.cz/pub/unix/ispell/czech/. Tento slovn�k je pr�b�n� roz�i�ov�n a v kv�tnu 1999 rozpozn�val v�ce ne� 1 300 000 slovn�ch tvar�. Na roz�i�ov�n� slovn�ku se m��e pod�let ka�d�. Sta�� zaslat dosud nezn�m� �esk� slova (obsah souboru $HOME/.ispell_czech nebo v�stup z p��kazu ispell -d czech -l < soubor) na adresu [email protected].

13.1 Pr�ce s ispellem

Ispell je mo�n� pou��vat bu� samostatn� --- pomoc� p��kazu

ispell -d czech soubor

nebo je mo�n� jej volat z r�zn�ch editor�.

A jak ispell funguje? M�me nap��klad soubor, kter� obsahuje n�sleduj�c� text:

Tv�rcem opra�n�ho syt�mu Linux je Linus Torvalds.

P�i kontrole p��kazem ispell -d czech soubor (nebo p�i stisknut� kl�vesy F8 v editoru joe, apod.) ispell "sko��" na slovo "opra�n�ho", proto�e slovo "Tv�rcem" je ve slovn�ku obsa�eno. Slovo "opra�n�ho" bude zv�razn�no, a bude nab�dnuta (v tomto p��pad� jedin�) mo�nost opravy --- 0: opera�n�ho. Sta�� stisknout nulu, a slovo "opra�n�ho" bude opraveno na "opera�n�ho". Chybn� slovo "syt�mu" nech� ispell bez pov�imnut�, proto�e se m��e jednat o t�et� p�d slova "syt�", ale zastav� se na slov� "Linus". Tady nab�dne n�kolik mo�nost�, ale proto�e p�vodn� slovo je spr�vn�, stiskneme kl�vesu mezera nebo "a" (Accept), co� znamen� "ponechat slovo uveden� v textu". Mezera zp�sob�, �e dal�� v�skyt t�ho� slova ve stejn�m souboru bude op�t chybou, zat�mco "a" bude toto slovo p�ipou�t�t a� do konce zpracov�van�ho souboru. Tak� je mo�n� stisknut�m "i" slovo za�adit do u�ivatelsk�ho slovn�ku $HOME/.ispell_czech, tak�e jeho v�skyt v kter�mkoli v budoucnosti kontrolovan�m souboru bude tolerov�n. Pokud je slovo skute�n� �patn�, a ispell nenab�z� spr�vnou opravu, je mo�n� stisknout kl�vesu "r" a zadat spr�vn� slovo.

13.2 Ispell pro Emacs

Milan Zamazal [email protected]; prvn� verze

�esk� ispell je podporov�n bal�kem emacs-czech od verze 3.5 (ve verz�ch 3.5 a 3.6 je drobn� chyba). �esk� slovn�k lze zvolit nap��klad v menu "Edit/Spell/Select Czech". Bli��� informace o pou��v�n� ispellu a volb� slovn�k� naleznete v dokumentaci Emacsu.

13.3 Ispell pro Joe

Podpora anglick� kontroly pravopisu je v editoru joe vestav�na. Kombinac� kl�ves 'CTRL+[ N' kontrolujeme jedno slovo, kl�vesami 'CTRL+[ L' cel� soubor.

�eskou podporu lze jednodu�e nakonfigurovat. Sta�� do souboru ~/.joerc nebo p��mo do souboru /usr/lib/joe/joerc doplnit n�sleduj�c� ��dky:


 Czech spell-check macros

:def czechspellfile filt,"cat >ispell.tmp;\
ispell -d czech ispell.tmp </dev/tty >/dev/tty;cat ispell.tmp;\
/bin/rm ispell.tmp",rtn,retype
:def czechspellword psh,nextword,markk,prevword,markb,filt,\
"cat >ispell.tmp;ispell -d czech ispell.tmp </dev/tty >/dev/tty;\
tr -d <ispell.tmp '\\012';/bin/rm ispell.tmp",rtn,retype,nextword
:def czechspellline psh,eol,markk,bol,markb,filt,"cat >ispell.tmp;\
ispell -d czech ispell.tmp </dev/tty >/dev/tty;\
tr -d <ispell.tmp '\\012';/bin/rm ispell.tmp",rtn,retype,eol

czechspellfile .k8
czechspellword .k9
czechspellline ^k .k9

Tato makra definuj�, �e funk�n� kl�vesa F8 provede kontrolu �esk�ho pravopisu v cel�m souboru, kl�vesa F9 zkontroluje slovo, na kter� stoj� kursor. (POZOR ov�em na to, �e neupraven� joe neum� rozezn�vat �esk� p�smenka ...). Kombinace kl�ves 'CTRL+k F9' provede kontrolu pravopisu na jednom ��dku.


Dal�� P�edchoz� Obsah