1
.TH "LaCheck" "1" "%%LACHECKDATE%%" "%%LACHECKREV%%"
3
lacheck - A consistency checker for LaTeX documents.
11
LaCheck is a general purpose consistency checker for LaTeX documents.
12
It reads a LaTeX document and displays warning messages, if it finds
13
bad sequences. It should be noted, that the badness is
15
subjective. LaCheck is designed to help find common mistakes in LaTeX
16
documents, especially those made by beginners.
18
The things checked are:
20
Mismatched groups (braces), environments and math mode
21
delimiters. When a mismatch is found, line numbers for
23
start and end of the mismatch is given. The error messages comes in
24
pairs, one for the end match and one for the beginning, marked with
25
\`<-\' and \`->\' respectively.
27
Bad spacing including missing a \`\\ \' after an abbreviation, missing
28
an \`\\@\' before a punctuation mark in a paragraph that is ended by
29
an capital letter, double spaces like \` \~\', bad usage of ellipsis
30
(like using ... instead of \\ldots, or using \\ldots where \\cdots
31
should be used), missing \~ before a \\cite or \\ref commands, space
32
before footnotes, italic corrections before comma, point, or italic
33
text, italic correction after normal text, missing italic correction
34
when switching from italic to normal text, and double italic
37
Badly placed punctuation marks around end of math mode
38
delimiters. This is, punctuation placed right after display math end
39
or punctuation placed right before text math end. Sequences of
40
whitespace followed by punctuation marks are also caught.
42
Bad use of quotation characters, i.e. constructs like "\'word" or
43
"word\`" are warned about, tabs in verbatim environments are caught,
44
certain TeX primitives are frowned upon, attempts to give font
45
specifiers arguments such as \\em{text} are noted, and use of @ in
46
LaTeX macros are reported.
48
LaCheck will read files that are input using \\input or \\include.
49
Files with suffix \`.sty\' are omitted, as they probably will cause
52
LaCheck may be invoked from within Emacs(1) using compile:
55
.B "M-x compile RET lacheck RET"
61
The output is UNIX-error like, and may be parsed using Emacs(1)
62
compile mode. Here is a sample:
67
"/usr/mef/compiler.tex", line 34: missing \`\\\\\\\\ \' after "etc."
69
"/usr/mef/compiler.tex", line 179: double space at " ~"
71
"/usr/mef/compiler.tex", line 186: <- unmatched "}"
73
"/usr/mef/compiler.tex", line 181: -> unmatched "$$"
76
A control space \`\\ \' should be inserted at line 34, to prevent an
77
end-of-sentence space.
78
Also, at line 179, the first space of the sequence " ~" should
80
The last two lines is an example, where the user mistyped, and
81
probably inserted an extra "}" somewhere.
84
Some special cases should be explained. In cases where a sentence ends
85
with something that LaCheck thinks is an abbreviation an missing \`\\
86
\' error may also occur, if the following sentence begins with a
89
A mismatch error may cause more to follow, due to the chosen
90
algorithm. In such cases just correct the
92
error and run LaCheck again
94
Braces, environments and math mode must be balanced within a file.
96
LaCheck may be confused by unmatched stuff placed inside verbatim-like
97
environments called something else than exactly \`verbatim\'.
101
tex(1), emacs(1), latex(1)
103
LaCheck gets confused by advanced macros, is fooled by simple macros,
104
can't figure out if you use a non-standard way to switch italic on or
105
off, does not like TeX at all, does not provide any options to turn
106
off specific warnings, and is at best a crude approximation.
108
Ideas for improvements and bug reports are very welcome. Such
109
should be directed to the maintainers, their email address is
110
<auc-tex_mgr@sunsite.auc.dk>.
112
Kresten Krab Thorup with modifications by Per Abrahamsen.