# Spell Checking

### Introduction

Since version 1.4.0 spell checking is implemented in TeXlipse using the Jazzy library. No additional external program is needed.

Furthermore there is still the possibility to use Aspell as external spell checker. This feature is likely to be removed in a future version.

### Setting up spell checking

In the preferences dialog you have to set the directories where your standard and user dictionaries are. If you decide to add a word to the spell checker, it will be added in your user dictionary. The name of the main dictionaries must be `<language code>.dict` where language code is the two-letter ISO standard language code. If not existent, the user dictionary will be created automatically if you add a word to it. The name is `<language code>_user.dict`.

### Choosing language

Not all documents are written in English, so the language of the spell checker can be changed by changing the language code field from the project properties. This is a text field where you can type the language code of the project.

Some common language codes:

- English: en
- German: de
- French: fr
- Spanish: es
- Finnish: fi

### Using spell checker

The spell checker checks the text while you type. Beware that spell checking is only performed if a main dictionary for the language was found.

Possible spelling errors are marked in the text by a curly underline. You can use Eclipse's Quick Fix feature (standard shortkey: Ctrl+1) to get correction proposals and the option to add the word to your user dictionary or ignore it for the rest of the session.

### Ignored words

LaTeX has a very special syntax and this is appreciated by the spell checker. It ignores all command strings, i.e., strings that start with a backslash. Furthermore words with less than three letters are ignored also. Some commands have arguments that normally are not a word in a language, e.g., `\label, \ref, \begin, \end, \usepackage, ...` . The arguments of these commands are also ignored by the spell checker.

### Dictionaries

The dictionaries are UTF-8 encoded plain text word lists. They can be downloaded at various places on the internet. You find some dictionaries on our homepage.

### Known problems

In this version, the spell checker is not capable of correctly detecting words where `"` is used, e.g., H"auser.

# Setting up Aspell

If possible use the build-in spell checker and not Aspell. This feature is likely to be removed in a future version of TeXlipse.

First, Aspell needs to be installed. This usually means installing the Aspell core program and one or more dictionaries. There are instructions to this in the Aspell website.

Next, TeXlipse needs to be configured to use Aspell. There is a preference page titled Spell Checker under TeXlipse preferences, where the program path can be specified. The default arguments should work with at least Aspell version 0.5. Older versions could also be compatible.

### Running spell checker

Once the setup is complete, the spell checker can be run by for the currently open LaTeX document by selecting Latex > Check spelling from the menu. If all goes well, the incorrectly spelt words in the document should get a yellow line under them (only the misspelled words!). By default, Aspell will skip the words appearing to be LaTeX commands. (This is controlled by the argument `-t`.)

The spelling errors should also appear to the problems log. If the problems log is not visible, it can be opened from Window > Show view > Problems. If the spelling errors aren't visible in the problems log, they are currently filtered out. The filters can be changed by clicking the filter-button on the upper right corner of the problems log (the one with a yellow arrow on it). Select `TeXlipse spelling error` from the list under "Show errors of type:".

The individual misspelled words can be easily corrected by selecting a spelling error entry from the problems log and choosing Quick Fix from the menu that opens by clicking right mouse button. Another way is to click once on a misspelled word, so that the cursor moves there, then open a list of corrections by pressing `Ctrl+space` (or what ever is the auto-completion hot key).

NOTE: the spell-checker is still of experimental nature and thus contains some features which don't work as the user would expect. One is that after correcting many spelling errors, the markers go out of sync and further correction might not be possible unless the document is saved and re-checked.

### Choosing language

Not all documents are written in English, so the language of the spell checker can be changed by changing the language code field from the project properties. This is a text field where you can type the language code of the project.

NOTE: what you type into this text box is passed as is to Aspell as the language argument. Therefore, make sure you type the correct code and have installed the corresponding Aspell dictionary. The language codes Aspell uses are two-letter ISO standard language codes (some are three-letter). These codes are listed in the Aspell's supported languages page. The language code is also part of the Aspell dictionary package filename. For example, the Aspell German dictionary package might be called `aspell-de-0.50-2.tar.bz2`.