Is there a spell check package for LaTeX?

It seems unreasonable to implement spell checking as a LaTeX package when there are excellent spell checkers for the terminal that can be incorporated into the compilation process. Before you compile you can do

aspell -t -c file.tex

or

ispell -t file.tex

Either lets you interactively spell check the whole file. The -t option is to tell the spell checker that the file is in TeX or LaTeX format so that it will ignore macros.

To combine this with the compilation process you can invoke them after each other such as

aspell -t -c file.tex && pdflatex file.tex

or you could make an alias to shorten the command you need to write. If you use latexmk you could make it run aspell or ispell for each compilation by a using a technique similar to what is described in https://tex.stackexchange.com/a/42166/5701.

If you prefer to simply get a list of misspelled words non-interactively, you can run:

cat file.tex | aspell list -t | sort | uniq

You can let TeX (rather luaTeX) do the spell checking for you! For example, in ConTeXt MkIV, you can use

\loadspellchecklist[en][wordlist.txt]
\setupspellchecking[state=start]

where en is the current language (you can set different word lists for different languages), and wordlist.txt is a sorted list of correct words. For a complete example, see the ConTeXt wiki


Not an interactive solution, but you might want to have a look at the spelling package. The package requires the LuaTeX engine. Only the LaTeX format is supported, but support for other formats shouldn't be too hard to implement. Contributions are welcome!