1LaCheck(1) General Commands Manual LaCheck(1)
2
3
4
6 lacheck - a consistency checker for LaTeX documents
7
9 lacheck filename[.tex]
10
12 LaCheck is a general purpose consistency checker for LaTeX documents.
13 It reads a LaTeX document and displays warning messages, if it finds
14 bad sequences. It should be noted, that the badness is very subjective.
15 LaCheck is designed to help find common mistakes in LaTeX documents,
16 especially those made by beginners.
17
18 The things checked are:
19
20 Mismatched groups (braces), environments and math mode delimiters.
21 When a mismatch is found, line numbers for both start and end of the
22 mismatch is given. The error messages comes in pairs, one for the end
23 match and one for the beginning, marked with `<-´ and `->´ respec‐
24 tively.
25
26 Bad spacing including missing a `\ ´ after an abbreviation, missing an
27 `\@´ before a punctuation mark in a paragraph that is ended by an capi‐
28 tal letter, double spaces like ` ´, bad usage of ellipsis (like using
29 ... instead of \ldots, or using \ldots where \cdots should be used),
30 missing before a \cite or \ref commands, space before footnotes,
31 italic corrections before comma, point, or italic text, italic correc‐
32 tion after normal text, missing italic correction when switching from
33 italic to normal text, and double italic correction.
34
35 Badly placed punctuation marks around end of math mode delimiters. This
36 is, punctuation placed right after display math end or punctuation
37 placed right before text math end. Sequences of whitespace followed by
38 punctuation marks are also caught.
39
40 Bad use of quotation characters, i.e. constructs like "´word" or
41 "word`" are warned about, tabs in verbatim environments are caught,
42 certain TeX primitives are frowned upon, attempts to give font speci‐
43 fiers arguments such as \em{text} are noted, and use of @ in LaTeX
44 macros are reported.
45
46 LaCheck will read files that are input using \input or \include. Files
47 with suffix `.sty´ are omitted, as they probably will cause LaCheck to
48 crash.
49
50 LaCheck may be invoked from within emacs(1) using M-x compile. To run:
51 M-x compile RET lacheck RET , and then C-x ` to parse the messages
52
53
55 The output is UNIX-error like, and may be parsed using Emacs(1) compile
56 mode. Here is a sample:
57
58 lacheck compiler
59 "/usr/mef/compiler.tex", line 34: missing `\\\\ ´ after "etc."
60 "/usr/mef/compiler.tex", line 179: double space at " ~"
61 "/usr/mef/compiler.tex", line 186: <- unmatched "}"
62 "/usr/mef/compiler.tex", line 181: -> unmatched "$$"
63
64 A control space `\ ´ should be inserted at line 34, to prevent an end-
65 of-sentence space. Also, at line 179, the first space of the sequence
66 " ~" should probably be deleted. The last two lines is an example,
67 where the user mistyped, and probably inserted an extra "}" somewhere.
68
69
71 Some special cases should be explained. In cases where a sentence ends
72 with something that LaCheck thinks is an abbreviation an missing `\ ´
73 error may also occur, if the following sentence begins with a lowercase
74 letter.
75
76 A mismatch error may cause more to follow, due to the lack of good
77 error recovery. In such cases, just correct the first error and run
78 LaCheck again.
79
80 Braces, environments and math mode must be balanced within a file.
81
82 LaCheck may be confused by unmatched stuff placed inside verbatim-like
83 environments called something else than exactly `verbatim´.
84
86 tex(1), emacs(1), latex(1)
87
89 LaCheck gets confused by advanced macros, is fooled by simple macros,
90 can't figure out if you use a non-standard way to switch italic on or
91 off, does not like TeX at all, does not provide any options to turn off
92 specific warnings, and is at best a crude approximation.
93
94 Ideas for improvements and bug reports are very welcome. Such should
95 be directed to the maintainers; please email tex-live@tug.org.
96
98 Kresten Krab Thorup with modifications by Per Abrahamsen. Currently
99 maintained as part of TeX Live (https://tug.org/texlive).
100
101
102
103Release 1.29 (TeX Live) 2019-07-09 LaCheck(1)