# Man Pages

lacheck(1) - phpMan lacheck(1) - phpMan

Command: man perldoc info search(apropos)

LaCheck(1)                                                          LaCheck(1)

NAME
lacheck - A consistency checker for LaTeX documents.

SYNOPSIS
lacheck filename [ .tex ]

DESCRIPTION
LaCheck  is  a general purpose consistency checker for LaTeX documents.  It reads a LaTeX document and displays
warning messages, if it finds bad sequences. It should be noted, that the badness is very subjective.   LaCheck
is designed to help find common mistakes in LaTeX documents, especially those made by beginners.

The things checked are:

Mismatched  groups (braces), environments and math mode delimiters.  When a mismatch is found, line numbers for
both start and end of the mismatch is given. The error messages comes in pairs, one for the end match  and  one
for the beginning, marked with <-? and ->? respectively.

Bad  spacing  including  missing  a  \ ? after an abbreviation, missing an \@? before a punctuation mark in a
paragraph that is ended by an capital letter, double spaces like   ?, bad usage of ellipsis  (like  using  ...
instead  of  \ldots,  or  using \ldots where \cdots should be used), missing   before a \cite or \ref commands,
space before footnotes, italic corrections before comma, point, or italic text, italic correction after  normal
text, missing italic correction when switching from italic to normal text, and double italic correction.

Badly placed punctuation marks around end of math mode delimiters. This is, punctuation placed right after dis-
play math end or punctuation placed right before text math end.  Sequences of whitespace followed  by  punctua-
tion marks are also caught.

Bad  use  of  quotation  characters, i.e. constructs like "?word" or "word" are warned about, tabs in verbatim
environments are caught, certain TeX primitives are frowned upon, attempts to give  font  specifiers  arguments
such as \em{text} are noted, and use of @ in LaTeX macros are reported.

LaCheck will read files that are input using \input or \include.  Files with suffix .sty? are omitted, as they
probably will cause LaCheck to crash.

LaCheck may be invoked from within Emacs(1) using compile:

To run: M-x compile RET lacheck RET , and then C-x ' to parse the messages

OUTPUT
The output is UNIX-error like, and may be parsed using Emacs(1) compile mode. Here is a sample:

lacheck compiler
"/usr/mef/compiler.tex", line 34: missing \\\\ ? after "etc."
"/usr/mef/compiler.tex", line 179: double space at " ~"
"/usr/mef/compiler.tex", line 186: <- unmatched "}"
"/usr/mef/compiler.tex", line 181: -> unmatched ""

A control space \ ? should be inserted at line 34, to prevent an end-of-sentence space.  Also,  at  line  179,
the  first  space of the sequence " ~" should probably be deleted.  The last two lines is an example, where the
user mistyped, and probably inserted an extra "}" somewhere.

DIAGNOSTICS
Some special cases should be explained. In cases where a sentence ends with something that LaCheck thinks is an
abbreviation an missing \ ? error may also occur, if the following sentence begins with a lowercase letter.

A  mismatch  error  may cause more to follow, due to the chosen algorithm. In such cases just correct the first
error and run LaCheck again

Braces, environments and math mode must be balanced within a file.

LaCheck may be confused by unmatched stuff placed inside verbatim-like environments called something else  than
exactly verbatim?.

FILES
lacheck

tex(1), emacs(1), latex(1)

BUGS
LaCheck  gets  confused by advanced macros, is fooled by simple macros, can't figure out if you use a non-stan-
dard way to switch italic on or off, does not like TeX at all, does not provide any options to  turn  off  spe-
cific warnings, and is at best a crude approximation.

Ideas  for  improvements  and  bug reports are very welcome.  Such should be directed to the maintainers, their
`