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