What's the best strategy for spell checking LaTeX documents?
It sort of depends on the system you're working on.
I'm using GNU/Linux and here
aspell does a good job. For instance, to check
test.tex in Danish, I would do like this from the terminal:
aspell -c -t test.tex -d da
aspell to check the file,
-t puts it in TeX mode, and
-d gives the base name of the main dictionary to use.
On Ubuntu/Debian, this can be installed using:
sudo aptitude install aspell
Aspell is also available as a Windows executable. It can but run from the command line or from any good text-editor (i.e. one that supports macros to run external programs).
There's a reasonable on-line spell-checker at Micro Spell.
You might want to have a look at the spelling package. Though not yet matured, it already works reasonably well. The spelling package requires the LuaTeX engine. Main features of the package are:
- Text is extracted during typesetting and written to a file that can be checked by your favourite spell-checker application.
- Spelling errors can be highlighted in PDF output.
(The maintainer of the spelling package.)
Old question but I figured I'd throw in my two cents. An approach that I use, following a careful read-through to make sure that I catch as much as I can, is to first convert the latex document to RTF (using the latex2rtf package), and then open it up in Word. The figures tend to be ignored, however the wording and grammar at least can be handled by Word's excellent spelling and grammar checker.
I use a mac and I have cocoaspell, which works for the whole computer. As I use Aquamacs, I then enable flyspell (spell check on the fly), and it is all done!
It depends not only on the packages suggested but also on the language that you are using and on the front-end you edit your text. If you are a Windows user, I recommend WinEdt which is a paid front-end for LaTeX. It has dictionaries for many languages and underlines in red the words which are written incorrectly. A right click on an underlined word shows alternatives for it. If you write in different languages, you can also combine different dictionaries.
If you problem is hyphenation, however, remember to configure MiKTeX and your document for the language considered. There may be problems still, but you can correct them manually with
A second option that some of my colleagues practice is to copy'n'paste the pdf output to Word. This may sound cumbersome and probably is, but the time you will/should take to proof read your document will exceed the time amount for the copy and paste by order of magnitudes.
As it hasn't been mentioned, note also Texmaker:
Cross-platform (on Linux I use 4.1.1 as it is the last static build available for download, otherwise my OS is too old), apparently it has it's own spell-check dictionaries (program directory contains e.g.
en_GB.dic - not sure if these use
aspell or standalone engine); comments are skipped (I like), commands are skipped (I like), filecontents with bibliography entries are skipped (surprised at this, like), math is skipped (like) -- though some packages/arguments are still checked/underlined, and
\cite arguments too (see Make spellchecker ignore contents of certain commands in TexMaker). In any case, this looks quite good to me...
Although this is an old question, here is what I have found to work well if you have access to Word. It is similar to the suggestion of espais.
pdflatex the document and then open the PDF in Word (which Word 2013 can do).
When proof-reading a document what I am looking for are not just spelling mistakes but more broadly typos; for example repeated words (e.g., "the the"). Word is actually quite good at catching these mistakes.
The only minor problem I have found is that certain types of formatting can confuse Word's conversion from PDF. For instance watermarks caused problems (but in my case they were easy to turn off).
- Ignores the contents of commands which don't print, for example the contents of
\labels and cite commands, which hunspell spuriously raises as possible spelling errors. You can also add commands whose contents will be ignored.
The ability to add words to the dictionary on a document-by-document basis, by adding
% add_to_dictionary: stackexchangeto the preamble.
The ability to fail on certain words, to maintain consistency
% stop_if_present: organize
The ability to detect acronyms and add them automatically to the dictionary, so the following will pass.
The Quebec Xylophone Enterprise Foundation (QXEF) is fictional.
Author names in the bibliography are automatically added (with a note).
Valid English contractions are not considered spelling errors.
The contents of
\includefiles are checked recursively.
Due to an oversight, I check against the
en_GB dictionary and don't provide the user to select a dictionary. In the next version, I'll allow any hunspell dictionary. (It's trivial to update this: just don't want to pester CRAN.)
It seems that the best tool on the market is GNU aspell and it supports TeX. However, it's very difficult to configure it right. I made my own texsc tool to simplify the usage of aspell. You just do this and your LaTeX documents will be checked:
gem install texsc texsc --ignore=citet,citep,verbatim book.tex chapter1.tex chapter2.tex
You can also specify your own additional vocabulary:
texsc --pws=vocab.pws book.tex