checknr

CHECKNR(1)                   General Commands Manual                  CHECKNR(1)

NAME
     checknr – check nroff/troff files

SYNOPSIS
     checknr [-a.x1.y1.x2.y2. ... .xn.yn] [-c.x1.x2.x3 ... .xn] [-s] [-f] file

DESCRIPTION
     The checknr utility 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.

     The following options are available:

     -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.

     The checknr utility 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.

     The checknr utility knows about the ms(7) and me(7) macro packages.

SEE ALSO
     nroff(1), troff(1), me(7), ms(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.

HISTORY
     The checknr command appeared in 4.0BSD.

macOS 12.1                        June 6, 1993                        macOS 12.1