xref: /original-bsd/usr.bin/checknr/checknr.1 (revision 30d60fbe)
Copyright (c) 1980 Regents of the University of California.
All rights reserved. The Berkeley software License Agreement
specifies the terms and conditions for redistribution.

@(#)checknr.1 6.2 (Berkeley) 05/07/86

CHECKNR 1 ""
C 4
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 no files are specified, checknr checks the standard input. Delimiters checked are:
(1)
Font changes using \efx ... \efP.
(2)
Size changes using \esx ... \es0.
(3)
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.

Additional pairs of macros can be added to the list using the -a option. This 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

The -c option defines commands which would otherwise be complained about as undefined.

The -f option requests checknr to ignore \ef font changes.

The -s option requests checknr to ignore \es size changes.

Checknr is intended to be used on documents that are prepared with checknr in mind, much the same as lint. It expects a certain document writing style for \ef and \es commands, in that each \efx must be terminated with \efP and each \esx must be terminated with \es0. While it will work to directly go into the next font or explicitly specify the original font or point size, and many existing documents actually do this, such a practice will produce complaints from checknr. Since it is probably better to use the \efP and \es0 forms anyway, you should think of this as a contribution to your document preparation style.

SEE ALSO
nroff(1), troff(1), checkeq(1), ms(7), me(7)
DIAGNOSTICS
Complaints about unmatched delimiters.

Complaints about unrecognized commands.

Various complaints about the syntax of commands.

BUGS
There is no way to define a 1 character macro name using -a .

Does not correctly recognize certain reasonable constructs, such as conditionals.