[Tex/LaTex] How to perform advanced spell checking of latex documents


I'm looking for a way to integrate something like After the Deadline or a similarly sophisticated spell checking tool into writing LaTeX documents. I don't mind it hitting the network each time. I already use flyspell-mode in AucTeX.


After the deadline is a webapp service which checks text for spell checking, grammar and style. In some ways it is similar to Microsfot Word spell-checking, more specifically green underline suggestions. After the deadline is used on wordpress.com and there are firefox/chromium/openoffice plugins for it. I was wondering if anyone managed to get this or any other similar spell checker to work with LaTeX documents to check grammar and style. I'm asking for something which will parse the whole sentences, and not just words.

Best Answer

You can use the detex tool to strip LaTeX commands. If you do detex file.tex, it will output to stdout. Then, you can use the diction tool to analyse your text, and suggest improvements. Putting it all together:

detex file.tex | diction -bs

This will strip the LaTeX, and pipe it into diction with suggestions and "beginner mistakes" enabled.

For Debian/Ubuntu:

sudo apt-get install diction texlive-extra-utils

This will install detex and diction, as well as several other useful tools.

Since you mentioned that you're using Emacs, there is also diction.el which provides diction integration with Emacs. You can do M-x diction-buffer, and it will take care of detexing/dehtmling and show the diction results in a separate buffer. You can even hit enter on the individual results to be taken to approximately where the phrase is.

(If you do use diction.el, my version of detex didn't have the -C flag. I'm not sure of what it was meant to do, but if you search for 'detex -C' in the file, you can add other command line options if you want. Also, I recommend replacing 'diction -L' with 'diction -bsL')