Spelling checkers for work with TeX
Most approaches to the problem (of checking your spelling) are
designed to work with a plain text file; in our case, this is (La)TeX
source. For the user, this is a simple-to-understand way to do the
job; but for the spell-checker programmer, it requires heuristic (and
hence fallible) analysis of (La)TeX macros and so on. The
alternative, of viewing the text after (La)TeX has processed
the results, is covered below.
For Unix, ispell was long the program of choice; it is well
integrated with emacs, and deals with some TeX syntax.
However, it has more-or-less been replaced everywhere, by
aspell, which was designed as a successor, and certainly
performs better on most metrics; there remains some question as to its
performance with (La)TeX sources.
For Windows, there is a good spell checker incorporated into many of
the shell/editor combinations that are available.
The spell checker from the (now defunct) 4AllTeX shell remains
available as a separate package, 4spell.
For the Macintosh, Excalibur has long been used; its
distribution comes with dictionaries for several languages.
The VMS Pascal program spell makes special cases of
some important features of LaTeX syntax.
For MSDOS, there are several programs. Amspell can be
called from within an editor, and jspell is an extended
version of ispell.
An alternative approach takes (La)TeX output, and checks that. A
straightforward approach is to produce PDF output, and process
it with pdftotext, using any plain text checker on the
result (the checkers listed above all work in this rôle). For this
to work reasonably well, the user should disable hyphenation before
making the PDF output.
The (experimental) LuaTeX/LaTeX package spelling goes
one step further: it uses lua code to extract words
while typesetting is going on, but before hyphenation is
applied. Each word is looked up in a list of known bad spellings, and
the word highlighted if it appears there. In parallel, a text file is
created, which can be processed by a ‘normal’ spelling checker to
produce a revised “bad spelling” list. (The package documentation
shows the end result; it includes words such as ‘spellling’, which are
duly highlighted.)
- 4spell
- support/4spell (or browse the directory); catalogue entry
- amspell
- support/amspell (or browse the directory)
- aspell
- Browse support/aspell; catalogue entry — choose just those language
dictionaries (under subdirectory dict/) that you need.
- excalibur
- systems/mac/support/excalibur/Excalibur-4.0.2.sit.hqx; catalogue entry
- ispell
- support/ispell/ispell-3.2.06.tar.gz; catalogue entry
- jspell
- support/jspell (or browse the directory); catalogue entry
- spelling.sty
- macros/luatex/latex/spelling (or browse the directory); catalogue entry
- VMS spell
-
support/vmspell (or browse the directory); catalogue entry
- winedt
- systems/win32/winedt; catalogue entry
This answer last edited: 2013-02-21
This question on the Web: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=spell