Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


CHECKNR(1)                  General Commands Manual                 CHECKNR(1)

NAME
     checknr - check nroff/troff files

SYNOPSIS
     checknr [-fs] [-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.

     Recognized options are:
           -a   Add additional pairs of macros to the list of known macros.
                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'.
           -c   Define commands which would otherwise be complained about as
                undefined.
           -f   Request checknr to ignore `\f' font changes.
           -s   Ignore `\s' size changes.

     Delimiters checked are:
           1.   Font changes using \fx ... \fP.
           2.   Size changes using \sx ... \s0.
           3.   Macros that come in open ... close forms, for example, the .TS
                and .TE macros which must always come in pairs.

     checknr is intended for use on documents that are prepared with checknr
     in mind, much the same as lint(1).  It expects a certain document writing
     style for `\f' and `\s' commands, in that each `\fx' must be terminated
     with `\fP' and each `\sx' must be terminated with `\s0'.  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 `\fP' and `\s0' forms anyway, you should think of this
     as a contribution to your document preparation style.

     checknr knows about the ms(7) and me(7) macro packages, as well as the
     macros from mdoc(7).

DIAGNOSTICS
     Complaints about unmatched delimiters.  Complaints about unrecognized
     commands.  Various complaints about the syntax of commands.

SEE ALSO
     nroff(1), troff(1), mdoc(7), me(7), ms(7)

HISTORY
     The checknr command appeared in 4.0BSD.  Basic mdoc(7) support appeared
     in NetBSD 1.6.

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

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

     mdoc(7) macros that are not at the beginning of the line are not
     recognized.  Among others, this results in too many `Unmatched Zz'
     errors.

NetBSD 10.99                   January 21, 2002                   NetBSD 10.99