Annotation of src/usr.bin/checknr/checknr.1, Revision 1.11
1.11 ! aaron 1: .\" $OpenBSD: checknr.1,v 1.10 2000/11/21 13:42:23 aaron Exp $
1.1 deraadt 2: .\" $NetBSD: checknr.1,v 1.5 1995/03/26 04:10:14 glass Exp $
3: .\"
4: .\" Copyright (c) 1980, 1990, 1993
5: .\" The Regents of the University of California. All rights reserved.
6: .\"
7: .\" Redistribution and use in source and binary forms, with or without
8: .\" modification, are permitted provided that the following conditions
9: .\" are met:
10: .\" 1. Redistributions of source code must retain the above copyright
11: .\" notice, this list of conditions and the following disclaimer.
12: .\" 2. Redistributions in binary form must reproduce the above copyright
13: .\" notice, this list of conditions and the following disclaimer in the
14: .\" documentation and/or other materials provided with the distribution.
15: .\" 3. All advertising materials mentioning features or use of this software
16: .\" must display the following acknowledgement:
17: .\" This product includes software developed by the University of
18: .\" California, Berkeley and its contributors.
19: .\" 4. Neither the name of the University nor the names of its contributors
20: .\" may be used to endorse or promote products derived from this software
21: .\" without specific prior written permission.
22: .\"
23: .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24: .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25: .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26: .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27: .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28: .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29: .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30: .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31: .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32: .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33: .\" SUCH DAMAGE.
34: .\"
35: .\" @(#)checknr.1 8.1 (Berkeley) 6/6/93
36: .\"
37: .Dd June 6, 1993
38: .Dt CHECKNR 1
1.5 aaron 39: .Os
1.1 deraadt 40: .Sh NAME
41: .Nm checknr
42: .Nd check nroff/troff files
43: .Sh SYNOPSIS
44: .Nm checknr
1.11 ! aaron 45: .Op Fl fs
1.1 deraadt 46: .Op Fl a Ns Ar \&.x1.y1.x2.y2. ... \&.xn.yn
1.10 aaron 47: .Op Fl c Ns Ar \&.x1.x2.x3. ... \&.xn
48: .Op Ar file
1.1 deraadt 49: .Sh DESCRIPTION
1.6 aaron 50: .Nm
1.1 deraadt 51: checks a list of
52: .Xr nroff 1
53: or
54: .Xr troff 1
55: input files for certain kinds of errors
56: involving mismatched opening and closing delimiters
57: and unknown commands.
58: If no files are specified,
1.6 aaron 59: .Nm
1.1 deraadt 60: checks the standard input.
61: .Pp
1.7 aaron 62: The options are as follows:
1.1 deraadt 63: .Bl -tag -width Ds
64: .It Fl a
65: Add additional pairs of macros to the list of known macros.
66: This must be followed by groups of six characters, each group defining
67: a pair of macros.
68: The six characters are
69: a period,
70: the first macro name,
71: another period,
72: and the second macro name.
73: For example, to define a pair .BS and .ES, use
1.8 aaron 74: .Dq Li \-a.BS.ES
1.1 deraadt 75: .It Fl c
76: Define commands which would otherwise be complained about
77: as undefined.
78: .It Fl f
79: Request
1.6 aaron 80: .Nm
1.1 deraadt 81: to ignore
82: .Ql \ef
83: font changes.
84: .It Fl s
85: Ignore
86: .Ql \es
87: size changes.
88: .El
89: .Pp
90: Delimiters checked are:
91: .Bl -enum
92: .It
93: Font changes using \efx ... \efP.
94: .It
95: Size changes using \esx ... \es0.
96: .It
97: Macros that come in open ... close forms, for example,
98: the .TS and .TE macros which must always come in pairs.
99: .El
100: .Pp
1.6 aaron 101: .Nm
1.1 deraadt 102: is intended for use on documents that are prepared with
1.6 aaron 103: .Nm
1.1 deraadt 104: in mind, much the same as
105: .Xr lint 1 .
106: It expects a certain document writing style for
107: .Ql \ef
108: and
109: .Ql \es
110: commands,
111: in that each
112: .Ql \efx
113: must be terminated with
114: .Ql \efP
115: and
116: each
117: .Ql \esx
118: must be terminated with
119: .Ql \es0 .
120: While it will work to directly go into the next font or explicitly
121: specify the original font or point size,
122: and many existing documents actually do this,
123: such a practice will produce complaints from
124: .Nm checknr .
125: Since it is probably better to use the
126: .Ql \efP
127: and
128: .Ql \es0
129: forms anyway,
130: you should think of this as a contribution to your document
131: preparation style.
132: .Pp
1.6 aaron 133: .Nm
1.1 deraadt 134: knows about the
135: .Xr ms 7
136: and
137: .Xr me 7
138: macro packages.
139: .Sh DIAGNOSTICS
140: .Bd -ragged -compact
141: Complaints about unmatched delimiters.
142: Complaints about unrecognized commands.
143: Various complaints about the syntax of commands.
144: .Ed
1.9 aaron 145: .Sh SEE ALSO
146: .Xr nroff 1 ,
147: .Xr troff 1 ,
148: .Xr me 7 ,
149: .Xr ms 7
150: .Sh HISTORY
151: The
152: .Nm
153: command appeared in
154: .Bx 4.0 .
1.1 deraadt 155: .Sh BUGS
156: There is no way to define a 1 character macro name using
157: .Fl a .
158: .Pp
159: Does not correctly recognize certain reasonable constructs,
160: such as conditionals.