# FreeBSD 11.0 - man page for checknr (freebsd section 1)

```CHECKNR(1)						    BSD 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 docu-
ments 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.

DIAGNOSTICS