1 .\" Copyright (c) 1995, Sun Microsystems, Inc.
   2 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
   3 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
   4 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
   5 .Dd "Jul 19, 2014"
   6 .Dt MAN 5
   7 .Os
   8 .Sh NAME
   9 .Nm man
  10 .Nd macros to format Reference Manual pages
  11 .Sh SYNOPSIS
  12 .Nm mandoc
  13 .Fl T Ar man
  14 .Ar
  15 .Nm nroff
  16 .Fl man
  17 .Ar
  18 .Nm troff
  19 .Fl man
  20 .Ar
  21 .Sh DESCRIPTION
  22 These macros are used to lay out the reference pages in this manual. Note: if
  23 .Ar file
  24 contains format input for a preprocessor, the commands shown
  25 above must be piped through the appropriate preprocessor. This is handled
  26 automatically by the
  27 .Xr man 1
  28 command. See the
  29 .Sx Conventions
  30 section.
  31 .Lp
  32 Any text argument
  33 .Ar t
  34 may be zero to six words. Quotes may be used to
  35 include SPACE characters in a
  36 .Qq word .
  37 If
  38 .Ar text
  39 is empty, the special
  40 treatment is applied to the next input line with text to be printed. In this
  41 way
  42 .Nm \&.I
  43 may be used to italicize a whole line, or
  44 .Nm \&.SB
  45 may be used to make small bold letters.
  46 .Lp
  47 A prevailing indent distance is remembered between successive indented
  48 paragraphs, and is reset to default value upon reaching a non-indented
  49 paragraph.  Default units for indents
  50 .Nm i
  51 are ens.
  52 .Lp
  53 Type font and size are reset to default values before each paragraph, and after
  54 processing font and size setting macros.
  55 .Pp
  56 These strings are predefined by
  57 .Nm -man :
  58 .Bl -tag -width Ds
  59 .It Nm \e*R
  60 .Sq \(rg ,
  61 .Sq (Reg)
  62 in
  63 .Nm nroff .
  64 .It Nm \e*S
  65 Change to default type size.
  66 .El
  67 .Sh "Requests"
  68 * n.t.l. = next text line; p.i. = prevailing indent
  69 .Bl -column ".TH n s d f m" "Cause " "t=n.t.l.*" "Explanation " -offset Ds
  70 .It Sy Request  Sy Cause        Sy "If No"      Sy Explanation
  71 .It ""  Sy Break        Sy "Argument"   ""
  72 .It Nm \&.B Ar "t"  no      Ar t Ns =n.t.l.*        Text is in bold font.
  73 .It Nm \&.BI Ar t   no      Ar t Ns =n.t.l. Join words, alternating bold and italic.
  74 .It Nm \&.BR Ar t   no      Ar t Ns =n.t.l. Join words, alternating bold and roman.
  75 .It Nm \&.DT        no      Li \&.5i 1i...      Restore default tabs.
  76 .It Nm \&.HP Ar i   yes     Ar i Ns =p.i.*  "Begin paragraph with hanging indent. Set prevailing indent to" Ar i .
  77 .It Nm \&.I Ar t    no      Ar t Ns =n.t.l. Text is italic.
  78 .It Nm \&.IB Ar t   no      Ar t Ns =n.t.l. Join words, altenrating italic and bold.
  79 .It Nm \&.IP Ar x Ar i      yes     Ar x Ns =""     Same as
  80 .Nm \&.TP
  81 with tag
  82 .Ar x .
  83 .It Nm \&.IR Ar t   no      Ar t Ns =n.t.l. Join words, alternating italic and roman.
  84 .It Nm \&.IX Ar t   no      -       Index macro, not used (obsolete).
  85 .It Nm \&.LP        yes     -       Begin left-aligned paragraph. Set prevailing indent to .5i.
  86 .It Nm \&.P yes     -       Same as
  87 .Nm \&.LP .
  88 .It Nm \&.PD Ar d   no      Ar d Ns =.4v    Set vertical distance between paragraphs.
  89 .It Nm \&.PP        yes     -       Same as
  90 .Nm \&.LP .
  91 .It Nm \&.RE        yes     -       End of relative indent. Restores prevailing indent.
  92 .It Nm \&.RB Ar t   no      Ar t Ns =n.t.l. Join words, alternating roman and bold.
  93 .It Nm \&.RI Ar t   no      Ar t Ns =n.t.l. Join words, alternating roman and italic.
  94 .It Nm \&.RS Ar i   yes     Ar i Ns =p.i.   Start relative indent, increase indent by Ar i .
  95 Sets prevailing indent to .5i for nested indents.
  96 .It Nm \&.SB Ar t   no      -       Reduce size of text by 1 point, make text bold.
  97 .It Nm \&.SH Ar t   yes     -       Section Heading.
  98 .It Nm \&.SM Ar t   no      Ar t Ns =n.t.l. Reduce size of text by 1 point.
  99 .It Nm \&.SS Ar t   yes     Ar t Ns =n.t.l. Section Subheading.
 100 .It Nm \&.TH Ar n s d f m   yes     -       Begin reference page Ar n , No of section Ar s ; Ar d No is the date of the most recent change.  If present, Ar f No is the left page footer; Ar m No is the main page (center) header.  Sets prevailing indent and tabs to .5i.
 101 .It Nm \&.TP Ar i   yes     Ar i Ns =p.i.   Begin indented paragraph, with the tag given on the next text line. Set prevailing indent to
 102 .Ar i .
 103 .It Nm \&.TX Ar t p no      -       Resolve the title abbreviation Ar t ; No join to punctuation mark (or text) Ar p .
 104 .El
 105 .Ss "Conventions"
 106 When formatting a manual page,
 107 .Nm
 108 examines the first line to determine
 109 whether it requires special processing. For example a first line consisting of:
 110 .Lp
 111 .Dl \&'\e" t
 112 .Lp
 113 indicates that the manual page must be run through the
 114 .Xr tbl 1
 115 preprocessor.
 116 .Lp
 117 A typical manual page for a command or function is laid out as follows:
 118 .Bl -tag -width ".SH RETURN VALUES"
 119 .
 120 .It Nm \&.TH Ar title Op "1-9"
 121 .
 122 The name of the command or function, which serves as the title of the manual
 123 page. This is followed by the number of the section in which it appears.
 124 .
 125 .It Nm SH NAME
 126 .
 127 The name, or list of names, by which the command is called, followed by a dash
 128 and then a one-line summary of the action performed. All in roman font, this
 129 section contains no
 130 .Xr troff 1
 131 commands or escapes, and no macro requests.
 132 It is used to generate the database used by the
 133 .Xr whatis 1
 134 command.
 135 .
 136 .It Nm SH SYNOPSIS
 137 .Bl -tag -width "Functions:"
 138 .It Sy Commands:
 139 The syntax of the command and its arguments, as typed on the command line.
 140 When in boldface, a word must be typed exactly as printed.  When in italics, a
 141 word can be replaced with an argument that you supply. References to bold or
 142 italicized items are not capitalized in other sections, even when they begin a
 143 sentence.
 144 .Lp
 145 Syntactic symbols appear in roman face:
 146 .Bl -tag -width "   "
 147 .It Op " "
 148 An argument, when surrounded by brackets is optional.
 149 .It |
 150 Arguments separated by a vertical bar are exclusive. You can supply only one
 151 item from such a list.
 152 .It \&.\|.\|.
 153 Arguments followed by an ellipsis can be repeated. When an ellipsis follows a
 154 bracketed set, the expression within the brackets can be repeated.
 155 .El
 156 .It Sy Functions:
 157 If required, the data declaration, or
 158 .Li #include
 159 directive, is shown first,
 160 followed by the  function declaration. Otherwise, the function declaration is
 161 shown.
 162 .El
 163 .
 164 .It Nm \&.SH DESCRIPTION
 165 .
 166 A narrative overview of the command or function's external behavior. This
 167 includes how it interacts with files or data, and how it handles the standard
 168 input, standard output and standard error. Internals and implementation details
 169 are normally omitted. This section attempts to provide a succinct overview in
 170 answer to the question, "what does it do?"
 171 .Lp
 172 Literal text from the synopsis appears in constant width, as do literal
 173 filenames and references to items that appear elsewhere in the  reference
 174 manuals. Arguments are italicized.
 175 .Lp
 176 If a command interprets either subcommands or an input grammar, its command
 177 interface or input grammar is normally described in a
 178 .Nm USAGE
 179 section, which follows the
 180 .Nm OPTIONS
 181 section.  The
 182 .Nm DESCRIPTION
 183 section only
 184 describes the behavior of the command itself, not that of subcommands.
 185 .
 186 .It Nm \&.SH OPTIONS
 187 .
 188 The list of options along with a description of how each affects the command's
 189 operation.
 190 .
 191 .It Nm \&.SH RETURN VALUES
 192 .
 193 A list of the values the library routine will return to the calling  program
 194 and the conditions that cause these values to be returned.
 195 .
 196 .It Nm \&.SH EXIT STATUS
 197 .
 198 A list of the values the utility will return to the calling  program or shell,
 199 and the conditions that cause these values to be  returned.
 200 .
 201 .It Nm \&.SH FILES
 202 .
 203 A list of files associated with the command or function.
 204 .
 205 .It Nm \&.SH SEE ALSO
 206 .
 207 A comma-separated list of related manual pages, followed by references to other
 208 published materials.
 209 .
 210 .It Nm \&.SH DIAGNOSTICS
 211 .
 212 A list of diagnostic messages and an explanation of each.
 213 .
 214 .It Nm \&.SH BUGS
 215 .
 216 A description of limitations, known defects, and possible problems associated
 217 with the command or function.
 218 .El
 219 .Sh FILES
 220 .Pa /usr/share/man/whatis
 221 .Sh NOTES
 222 The
 223 .Nm
 224 package should not be used for new documentation.  The
 225 .Xr mdoc 5 ,
 226 package is preferred, as it uses semantic markup rather than physical markup.
 227 .Sh CODE SET INDEPENDENCE
 228 When processed with
 229 .Xr mandoc 1 ,
 230 this package is Code Set Independent. However, when processed with
 231 legacy tools such as
 232 .Xr nroff 1
 233 and
 234 .Xr troff 1 ,
 235 the use of multi-byte characters may not be supported.
 236 .Sh INTERFACE STABILITY
 237 .Nm Obsolete Committed .
 238 The
 239 .Xr mdoc 5
 240 package should be used instead.
 241 .Sh SEE ALSO
 242 .Xr eqn 1 ,
 243 .Xr man 1 ,
 244 .Xr mandoc 1 ,
 245 .Xr nroff 1 ,
 246 .Xr troff 1 ,
 247 .Xr tbl 1 ,
 248 .Xr whatis 1 ,
 249 .Xr mdoc 5 ,
 250 .Rs
 251 .%A Dale Dougherty and Tim O'Reilly
 252 .%B Unix Text Processing
 253 .Re