Excluding TeX command parameters from Aspell check

The spellchecker aspell allows to exclude certain TeX commands from spellchecking. This article shortly summarizes the configuration parameters that control this behavior. The following options can either be used on the command-line, as environmental variable ASPELL_CONF, or inside a (personal/global) configuration file.

Adding a rule

The switch for creating a rule is called add-tex-command and it accepts the command name as first parameter and a string of [opOP] as second, which configures which paramters to ignore (o,p) and which ones to check (O,P).

The following switch tells aspell not to skip the first mandatory parameter, to skip second mandatory parameter, to skip first optional parameter, and not to skip second optional paramter

add-tex-command myCommand PpoO
--add-tex-command="myCommand PpoO"

Removing a rule

To remove a filter rule, use the following command:

rem-tex-command myCommand
--rem-tex-command="myCommand"

Check TeX comments

Two special switches enable and disable the checking of TeX comments:

tex-check-comments
dont-tex-check-comments
--tex-check-comments
--dont-tex-check-comments

An example

\documentclass{article} 
%\url{http://tex.stackexchange.com/a/314/86}

\makeatletter
\def\myCommand{\@ifnextchar[{\@with}{\@without}}
\def\@with[#1]#2{Hello #1, have you met #2?}
\def\@without#1{Goodbye #1.}
\makeatother

\begin{document}
\myCommand[KittyX]{the DogX}
\myCommand{my DearX}
\end{document}
  • aspell check –add-tex-command=”myCommand op” dummy.tex
    passes.
  • aspell check –add-tex-command=”myCommand Op” dummy.tex
    marks KittyX as error.
  • aspell check –add-tex-command=”myCommand oP” dummy.tex
    marks DogX and DearX as error.
  • aspell check –add-tex-command=”myCommand OP” dummy.tex
    marks DogX, DearX, and KittyX as errors.

Best practices

Here are some lines from my ~/.aspell.conf:

add-tex-command aspellNoCheck p
add-tex-command citep op
add-tex-command citet op
add-tex-command nomenclature opP # don't check the sort key and the abbreviation
add-tex-command url p

The first command serves as marker for passages that are (for example) in German:

\newcommand{\aspellNoCheck}[1]{#1}

Reference

  • [1] Filtering in Aspell
  • [2] Source for the example

Leave a Reply