- Supports over 40 warnings. Warnings include:
- Commands terminated with space. Ignores ``
\
tt'', etc.
- Space in front of references instead of ``~''.
- Forgetting to group parenthesis characters when
sub-/superscripting.
- Italic correction (``
\
/'') mistakes (double,
missing, unnecessary).
- Parenthesis and environment matching.
- Ellipsis detection; also checks whether to use
``
\
dots'', ``\
cdots'' or ``\
ldots''.
- Enforcement of normal space after abbreviation. Detects
most abbreviations automagically.
- Enforcement of end-of-sentence space when the last
sentence ended with capital letter.
- Math-mode on/off detection.
- Quote checking, both wrong types (``"'') and wrong
direction.
- Recommends splitting three quotes in a row.
- Searching for user patterns.
- Displays comments.
- Space in front of ``
\
label'' and similar commands.
- Use of ``x'' instead of ``$
\
times$'' between numbers.
- Multiple spaces in input which will be rendered as one
space (or multiple spaces, where that is undesirable).
- Warns about text which may be ignored.
- Mathematical operators typeset as variables.
- No space in front of/after parenthesis.
- Demands a consistent quote style.
- Punctuation inside inner math mode/outside display math
mode.
- Use of TEX primitives where LATEX equivalents are
available.
- Space in front of footnotes.
- Bogus characters following commands.
- Fully customizable. Intelligent resource format makes it
possible to make ChkTeX respect your LATEX setup. Even
command-line options may be specified globally in the ``chktexrc'' file.
- Supports ``
\
input'' command; both TEX and LATEX version.
Actually includes the files. ``TEXINPUTS''-equivalent search path.
- Intelligent warning/error handling. The user may promote/mute
warnings to suit his preferences. You may also mute warnings in the
header of a file; thus killing much unwanted garbage.
- Scripts included for checking CWEB files written in LATEX.
(Requires perl v5).
- Supports both LATEX 2.09 and LATEX2e.
- Flexible output handling. Has some predefined formats and lets
the user specify his own format. Uses a ``printf()'' similar
syntax. ``lacheck'' compatible mode included for interfacing with
the AUC-TEX Emacs mode.
- Written in ANSI C. ``configure'' script included for easy
setup and installation on UNIX systems.
Still, it is important to realize that the output from ChkTeX is
only intended as a guide to fixing faults. However, it is by
no means always correct. This means that correct LATEX code may
produce errors in ChkTeX, and vice versa: Incorrect LATEX code may pass
silently through.
Baruch Even
2005-01-01