CHECKNR(1) BSD CHECKNR(1)
NAME
checknr - check nroff/troff files
SYNOPSIS
checknr [ -s ] [ -f ] [ -a.x1.y1.x2.y2. ... .xn.yn ] [ -c.x1.x2.x3 ...
.xn ] [ file ... ]
DESCRIPTION
checknr checks a list of nroff(1) or troff(1) input files for certain
kinds of errors involving mismatched opening and closing delimiters and
unknown commands. If you don't specify any files, checknr checks the
standard input. The following delimiters are checked:
⊕ Font changes using \fx ... \fP.
⊕ Size changes using \sx ... \s0.
⊕ Macros that come in open ... close forms; for example, the .TS and .TE
macros, which must always come in pairs
checknr knows about the ms(7) and me(7) macro packages.
checknr is intended for use on documents prepared with checknr in mind,
much the same as lint(1). It expects a certain document writing style
for \f and \s commands. Each \fx must be terminated with \fP and each \sx
must be terminated with \s0. While you may go directly into the next
font, or explicitly specify the original font or point size (many
existing documents actually do this), this practice produces complaints
from checknr. Since it is probably better to use the \fP and \s0 forms
anyway, you should think of this as a contribution to your document
preparation style.
OPTIONS
-a Add pairs of macros to the list. This option must be followed
by groups of six characters, each group defining a pair of
macros. The six characters are a period, the first macro name,
another period, and the second macro name. For example, to
define a pair .BS and .ES, use -a.BS.ES
-c Define commands which checknr would otherwise complain about as
undefined.
-f Ignore \f font changes.
-s Ignore \s size changes.
DIAGNOSTICS
Complaints about unmatched delimiters
Complaints about unrecognized commands
Various complaints about the syntax of commands
BUGS
There is no way to define a one-character macro name using -a.
checknr does not correctly recognize certain reasonable constructs, such
as conditionals.
SEE ALSO
nroff(1), troff(1), checkeq(1), ms(7), me(7)