V etom razdele ya opishu nastrojku razlichnyh programm dlya raboty s kirillicheskimi tekstami. |tot razdel ne ohvatyvaet tekstovye processory, nastrojka kotoryh opisyvaetsya pozzhe (smotri razdel Tekstovye processory)
Dlya proverki pravopisaniya ya ispol'zuyu programmu GNU ispell
.
Ona imeet ochen' gibkie nastrojki i vozmozhnosti dlya rasshireniya.
Ee mozhno ispol'zovat' pri proverki pravopisaniya tekstov,
napisannyh na yazykah, otlichnyh ot anglijskogo, putem dobavleniya
novyh slovarej.
Konstantin Knizhnik sozdal ochen' horoshij russkij slovar' dlya
ispell
. Vy mozhete najti ego na
domashnej stranichke K.Knizhnika.
V postavku slovarya vklyuchen poleznyj skript, obespechivayushchij
inkrementnyj rezhim proverki pravopisaniya slov dlya emacs
;
V ideal'nom sluchae, kogda vash ispell
ustanovlen pravil'no, vam
nado tol'ko sozdat' slovar', ispol'zuya komandy, obespechivaemye
fajlom Makefile
iz distributiva. Odnako s nekoj dolej veroyatnosti
u vas vozniknut problemy s ispell
, kotoryj otkazhetsya ponimat'
8-mi bitnye dannye. |to oznachaet, chto v vashej sisteme ispell
skompilirovan bez podderzhki 8-mi bitnyh simvolov. V etom sluchae vam
ne udastsya izbezhat' perekompilyacii paketa ispell
.
Esli u vas vse normal'no, to mozhete iniciirovat' proverku
pravopisaniya dlya russkih tekstov putem vyzova programmy ispell
s opciej '-d russian'
Esli vy ispol'zuete Emacs (podrobnee v razdele Emacs), to, veroyatno, vy ne protiv dobavit' punkt v menyu dlya proverki s russkim slovarem.
Konstantin Knizhnik sovetuet vypolnit' sleduyushchie dejstviya:
CHtoby imet' vozmozhnost' pereklyuchit'
zapuskaemyj EMACS'om ISPELL na ispol'zovanie russkogo slovarya, mozhno
poprobovat' dobavit' v .emacs
sleduyushchie stroki
(setq ispell-dictionary-alist (cons '("russian" ; make russian selectable "[\xc0-\xdf\xe0-\xff]" "[^\xc0-\xdf\xe0-\xff]" "[']" nil ("-B" "-d" "russian") nil) ispell-dictionary-alist)) (setq ispell-menu-map-needed t) (setq ispell-menu-map nil) (load "ispell") ; reload ISPELL
Neobhodimye dejstviya uzhe soderzhatsya vcyrconf.el
v direktorii emacs, poetomu v sluchae ispol'zovanie nizhesleduyushchego vklyuchat' ih v.emacs
ne nuzhno.
Bolee pravil'nym (s tochki zreniya sposoba sozdaniya) chem slovar' Knizhnika yavlyaetsya "Slovar' russkogo yazyka dlya ispell" Aleksandra Lebedeva
Slovar' postoyanno sovershenstvuetsya, dopolnyaetsya i korrektiruetsya. Poslednyuyu versiyu slovarya mozhno najti na servere: mch5.chem.msu.su
YA ispol'zuyu imenno etot slovar'.
Est' dve versii redaktora Emacs - GNU Emacs
i XEmacs
.
Oni obespechivayut bolee ili menee shodnyj nabor funkcij
i vozmozhnostej, no pri etom realizaciya nekotoryh detalej rashoditsya
dovol'no sil'no.
Nastrojka kirillicy trebuet nekogo nizko-urovnevogo (v duhe Emacs Lispa)
"haka" i nemnogo otlichaetsya dlya etih dvuh realizacij.
Minimal'naya podderzhka kirillicy v GNU emacs
(vam ne nuzhno
etogo delat' pri nastrojke XEmacs
) obespechivaetsya pri
vypolnenii sleduyushchih vyzovov, dobavlennyh v .emacs
(pri uslovii,
chto podderzhka simvolov kirillicy ustanovlena dlya konsoli ili dlya
X Window sootvetstvenno):
(standard-display-european t) (let ((m (current-input-mode))) (set-input-mode (car m) (nth 1 m) 1))
|to pozvolit vam videt' i vvodit' simvoly, nahodyashchiesya v verhnej chasti ASCII tablicy.
Odnako, etogo ne dostatochno. Emacs obrabatyvaet kirillicheskie simvoly kak special'nye i, kak sledstvie, ne raspoznaet granicy russkih slov i ne delaet razlichiya mezhdu strochnymi i zaglavnymi bukvami. CHtoby obojti eto, vam sleduet neskol'ko modificirovat' tablicy sintaksisa i registra emacs:
(require 'case-table) (let* ((ruc "\341\342\367\347\344\345\263\366\372\351\352\353\354\355\356\357\360\362\363\364\365\346\350\343\376\373\375\370\371\377\374\340\361") (rlc "\301\302\327\307\304\305\243\326\332\311\312\313\314\315\316\317\320\322\323\324\325\306\310\303\336\333\335\330\331\337\334\300\321") (i 0) (len (length ruc))) (while (< i len) (modify-syntax-entry (elt ruc i) "w ") (modify-syntax-entry (elt rlc i) "w ") (set-case-syntax-pair (elt ruc i) (elt rlc i) (standard-case-table)) (setq i (+ i 1))))
Dlya etogo byl sozdan fajl rusup.el
, kotoryj soderzhit eti komandy,
takzhe kak i paru drugih udobnyh funkcii. Vy dolzhny vyzvat' ego v
vashem ~/.emacs
.
Obratite vnimanie na paket
russian.el, sozdannyj Valeriem Alekseevym (valery@math.uga.edu
),
pozvolyaet pol'zovatelyu pereklyuchat'sya mezhdu kirillicheskim i
standartnym modami vvoda i preobrazovyvat' tekstovyj bufer iz
odnoj russkoj kodirovki v druguyu (eto ochen' polezno dlya chteniya tekstov,
importirovannyh iz MS-DOS ili Windows).
VNIMANIE:Pomimo nastrojki, opisannoj vyshe, sushchestvuet
al'ternativnyj put' obucheniya oboih versij emacs kirillice. Dlya
etogo ispol'zuetsya MULE
(MULtilanguage Emacs support).
Dlya nastrojki kirillicy cherez MULE
berem iso8859-5
shrifty
(sm. razdel
Gde vzyat' shrifty dlya X-window?,
podklyuchaem ih k iksam, i vybiraem v menyu Mule
nuzhnuyu kodirovku.
|tot sposob yavlyaetsya bolee "ideologicheski" pravil'nym.
Sovet:Pri rabote s X-window dlya Emacs, veroyatno, luchshe
vsego podojdut shrifty lucidatypewriter
iz kollekcii shriftov Bolhovityanova
(Sm. razdel
Cyr-RFX).
Redaktor vi
(po krajnej mere, ego klon vim
, prisutstvuyushchij
v bol'shinstve distributivov Linux) znaet o sushchestvovanii 8-mi bitnyh
simvolov. |to daet vam vozmozhnost' vvodit' kirillicheskie bukvy. Redaktor
pravil'no raspoznaet granicy slov. YA nichego ne znayu po povodu pravil
preobrazovaniya iz strochnyh v zaglavnye i obratno, tak kak ya ne chasto
rabotayu v vi
. Esli vy znaete chto-libo ob etom, to,
pozhalujsta, soobshchite mne
Vse problemy joe mozhno reshit' pravil'no nastroiv locale (Sm. razdel Nastrojka lokali (esli on pravil'nym obrazom "propatchen"). Esli u vas nichego ne poluchilos', to poprobujte recept opisannyj nizhe.
Dlya togo chtoby raspoznavat' 8-mi bitnye simvoly, joe
trebuet
special'nuyu opciyu -asis
. Vy mozhete ukazat' ee v komandnoj
stroke ili vstavit' v fajl ~/.joerc
dlya lichnogo pol'zovaniya
ili v /usr/lib/joerc
dlya nastrojki vsej sistemy.
Odnako, joe
ne raspoznaet granicy russkih slov. YA predpolagayu,
chto tozhe samoe proishodit i s perekodirovkoj iz verhnego registra
v nizhnij i obratno.