Als je vanuit Emacs je document op spelling wilt controleren, kun je daarvoor het Ispell-package gebruiken in de Emacs mode.
Je kunt Emacs zo instelen, dat het bij het laden van een bestand, automatisch woordenboeken selecteert (je kunt er verscheidene gebruiken). De eerste, zeker de belangrijkste, is het hoofdwoordenboek, dat met Ispell wordt gedistribueerd. Je kunt tussen verscheidene talen kiezen. De tweede is je persoonlijke woordenboek, waarin Ispell die woorden zal zetten die het niet in het hoofdwoordenboek kon vinden maar waarvan je aangaf dat ze moesten worden `onthouden'.
Als je het Franse woordenboek dat met Ispell wordt meegeleverd, wilt gebruiken
als standaard-woordenboek en als je het bestand
.ispell-dico-perso
in je home-directory als een persoonlijk
woordenboek wilt gebruiken, zet dan de volgende regels in het bestand
.emacs
:
(setq sgml-mode-hook
'(lambda () "Standaardwaarde voor SGML mode."
(setq ispell-personal-dictionary "~/.ispell-dico-perso")
(ispell-change-dictionary "francais")
))
Het kan een probleem zijn als je de spelling in je documenten niet altijd in dezelfde taal wilt controleren. Als je documenten vertaalt, is het zeer waarschijnlijk dat je vaak van taal (en woordenboeken) verwisselt.
Ik weet niet hoe je op enige Lisp-wijze, ofwel automatisch of met een enkele muisklik, het hoofdwoordenboek en persoonlijke woordenboeken geassocieerd met de taal die op dat moment wordt gebruikt, kunt selecteren. (Als je dit wel weet, laat me dit dan alsjeblieft weten!)
Het is echter mogelijk om aan het einde van het bestand aan te geven, welke woordenlijsten je voor het huidige bestand (en slechts deze) wilt gebruiken. Het volstaat om ze als commentaar toe te voegen, zodat Ispell ze bij het opstarten van de spellingscontrole kan inlezen:
<!-- Local IspellDict: english --> <!-- Local IspellPersDict: ~/emacs/.ispell-english -->
Als je voorheen, in het bestand .emacs
, hebt opgegeven dat
je standaard-woordenboeken de Franse woordenboeken zijn, dan kun
je deze regels aan het einde van ieder bestand in 't
Engels toevoegen.
Om je gehele document op spelling te controleren, gebruik je vanuit een
willekeurige plaats in het document het commando
Meta-x ispell-buffer
. Je kunt ook slechts de spelling van een
deel van je document controleren:
Ctrl-Spc
(mark-set-command),Meta-x ispell-region
.Emacs start dan vervolgens Ispell op. Zodra het een onbekend woord tegenkomt, wordt het woord getoond (meestal benadrukt) en wacht tot je één van de volgende toetsen indrukt:
Meta-x ispell-continue
intikt,Als ispell één of meerdere woorden vindt, die het onbekende woord benaderen, zal het ze in een klein venster tonen, waarbij ieder woord wordt voorafgegaan door een cijfer. Typ gewoon dit cijfer in om het onjuist gespelde woord te vervangen door het corresponderende woord.
Met de i toets kun je een woord invoegen in je persoonlijke woordenboek, en met A kun je een woord invoegen in het lokale woordenboekbestand.
Het lokale woordenboekbestand bestaat uit een reeks woorden die aan het einde van het bestand als commentaar worden ingevoegd, en iedere keer dat Ispell met dit bestand wordt opgestart, opnieuw worden ingelezen. Op deze manier, kun je een aantal woorden accepteren, die in dit bestand, maar niet noodzakelijk in andere bestanden zijn toegestaan.
Wat mezelf betreft, denk ik dat het beter is dat het persoonlijke woordenboek gereserveerd moet zijn voor woorden die niet in het hoofdwoordenboek staan maar die wel aan de taal toebehoren (zoals afgebroken woorden), plus een aantal algemene woorden zoals proper nouns of anderen (zoals Linux), alz ze niet te veel op een echt woord uit het hoofdwoordenboek lijken; het toevoegen van te veel woorden in het persoonlijke woordenboek zoals voornamen, kan risico's met zich meebrengen omdat ze op een woord uit de werkelijke taal kunnen lijken (je kunt je voorstellen dat Ispell door het volgende wordt gefopt: `When the going gets tof, the tof get going
Tof is een Franse afkorting voor de voornaam Christophe!').
Ispell kan je bestand tijdens het typen op spelling controleren.
Hiervoor moet je de ispell-minor-mode gebruiken.
Om het te starten of te stoppen, tik je in:
Meta-x ispell-minor-mode
. Ispell zal iedere keer dat je
een woord intikt en het niet kent een beep produceren.
Als die beeps je irriteren (of je kamergenoot doet een dutje),
kun je die hinderlijke beeps vervangen door
een flits op het scherm, met het commando
Meta-x set-variable RET visible-bell RET t RET
. Je kunt
de volgende regel aan je bestand .emacs
toevoegen om Emacs voorgoed
tot zwijgen brengen:
(setq visible-bell t)