groff_mdoc(7) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

groff_mdoc(7)

The  GNU implementation of the macro package is part of the docu‐
ment formatting system.  is a structurally- and semantically-ori‐
ented package for writing manual pages with Its predecessor,  the
package,  primarily addressed page layout and presentational con‐
cerns, leaving the selection of fonts and other  typesetting  de‐
tails  to  the individual author.  This discretion has led to di‐
vergent styling practices among authors using it.  organizes  its
macros  into  The lays out the page and comprises titles, section
headings, displays, and lists.  The supplies macros to  quote  or
style  text,  or  to interpolate common noun phrases.  The offers
semantic macros corresponding to the terminology used by  practi‐
tioners  in  discussion of commands, routines, and files.  Manual
domain macros distinguish  command-line  arguments  and  options,
function  names, function parameters, pathnames, variables, cross
references to other manual pages, and so  on.   These  terms  are
meaningful  both  to the author and the readers of a manual page.
It is hoped that the resulting increased consistency of  the  man
page  corpus  will enable easier translation to future documenta‐
tion tools.  Throughout documentation, a manual entry is referred
to simply as a regardless of its length, without gendered  impli‐
cation,  and  irrespective  of the macro package selected for its
composition.  The package attempts to simplify man  page  author‐
ship  and  maintenance without requiring mastery of the language.
This document presents only essential  facts  about  For  further
background,  including  a  discussion of basic typographical con‐
cepts like and see Specialized units of measurement  also  arise,
namely  ens,  vees,  inches,  and points, abbreviated and respec‐
tively; see section of For brief examples, we employ an arrow no‐
tation illustrating a transformation of input on the left to ren‐
dered output on the right.  Consider  the  macro,  which  double-
quotes  its arguments.  → An is by placing the control character,
(dot) at the beginning of a line followed by its name.   In  this
document,  we often discuss a macro name with this leading dot to
identify it clearly, but the dot is part of its name.   Space  or
tab  characters  can separate the dot from the macro name.  Argu‐
ments may follow, separated from the macro name and each other by
spaces, but tabs.  The dot at the beginning of the line  prepares
the formatter to expect a macro name.  A dot followed immediately
by  a  newline  is  ignored; this is called the To begin an input
line with a dot (or a neutral apostrophe in  some  context  other
than a macro call, precede it with the escape sequence; this is a
dummy  character, not formatted for output.  The backslash is the
escape character; it can appear anywhere and it  always  followed
by  at  least  one more character.  If followed by a newline, the
backslash escapes the input line break; you can thus  keep  input
lines  to a reasonable length without affecting their interpreta‐
tion.  Macros in GNU accept an unlimited number of arguments,  in
contrast  to  other  that  often can't handle more than nine.  In
limited cases, arguments may be continued or extended on the next
input line without resort to the escape sequence; see  subsection
below.  Neutral double quotes can be used to group multiple words
into an argument; see subsection below.  Most of general text and
manual  domain macros their argument lists for macro names.  This
means that an argument in the list matching  a  general  text  or
manual  domain  macro  name  (and defined to be callable) will be
called with the remaining arguments when it is  encountered.   In
such  cases,  the  argument, although the name of a macro, is not
preceded by a dot.  Macro calls can thus  be  nested.   This  ap‐
proach to macro argument processing is a unique characteristic of
the  package,  not a general feature of syntax.  For example, the
option macro, may call the flag and argument macros, and to spec‐
ify an optional flag with an argument.  → To prevent a word  from
being  interpreted  as  a  macro  name, precede it with the dummy
character.  → In this document, macros whose argument  lists  are
parsed  for  callable arguments are referred to as and those that
may be called from an argument list are referred to as This usage
is a technical since all macros are in fact  interpreted  (unless
prevented  with  but  as  it is cumbersome to constantly refer to
macros as we employ the term instead.   Except  where  explicitly
stated, all macros are parsed and callable.  In the following, we
term an macro that starts a line (with a leading dot) a if a dis‐
tinction  from  those  appearing  as arguments of other macros is
necessary.  Sometimes it is desirable to give a macro an argument
containing one or more space characters, for instance to  specify
a particular arrangement of arguments demanded by the macro.  Ad‐
ditionally,  quoting  multi-word arguments that are to be treated
the same makes work faster; macros that  parse  arguments  do  so
once  (at  most) for each.  For example, the function command ex‐
pects its first argument to be the name of a function and any re‐
maining arguments to be function parameters.  Because C  language
standards mandate the inclusion of types identifiers in the para‐
meter  lists  of  function  definitions, each parameter after the
first will be at least two words in length, as in There are a few
ways to embed a space in a macro argument.  One is to use the un‐
adjustable space escape sequence The formatter treats this escape
sequence as if it were any other printable  character,  and  will
not  break  a line there as it would a word space when the output
line is full.  This method is useful for macro arguments that are
not expected to straddle an output line boundary, but has a draw‐
back: this space does not adjust as others  do  when  the  output
line  is  formatted.   An  alternative  is to use the unbreakable
space escape sequence, which cannot break but does adjust.   This
extension  is  widely but not perfectly portable.  Another method
is to enclose the string in double quotes.  → → → If  the  before
the  space in the first example or the double quotes in the third
example were omitted, would see three arguments, and  the  result
would  contain an undesired comma.  → It is wise to remove trail‐
ing spaces from the ends of input lines.  Should the  need  arise
to  put  a formattable space at the end of a line, do so with the
unadjustable or unbreakable space  escape  sequences.   When  you
need  the  escape  character  to appear in the output, use or in‐
stead.  Technically, formats the  current  escape  character;  it
works  reliably as long as no request is used to change it, which
should never happen in man pages.  is a special character  escape
sequence  that  explicitly  formats the (backslash) glyph.  warns
when an empty input line is found outside of a a topic  presented
in subsection below.  Use empty requests to space the source doc‐
ument for maintenance.  Leading spaces cause a break and are for‐
matted.  Avoid this behaviour if possible.  Similarly, do not put
more  than one space between words in an ordinary text line; they
are not to a single space as  other  text  formatters  might  do.
Don't  try to use the neutral double quote character to represent
itself in an argument.  Use the special character escape sequence
to format it.  Further, this glyph should not be used for conven‐
tional quotation; offers several quotation macros.   See  subsec‐
tion  below.   The  formatter attempts to detect the ends of sen‐
tences and by default puts the equivalent of two  spaces  between
sentences  on  the same output line; see To defeat this detection
in a parsed list of macro arguments, put before  the  punctuation
mark.   Thus,  The .Ql .  character.  .Pp The .Ql \&.  character.
.Pp .No test .  test .Pp .No test.  test gives The character  The
character.  test test as output.  As can be seen in the first and
third  output  lines, handles punctuation characters specially in
macro arguments.  This will be explained  in  section  below.   A
comment  in  the  source file of a man page can begin with at the
start of an input line, after other input, or anywhere (the  last
is  a extension); the remainder of any such line is ignored.  Use
to construct a man page from the  following  template.   .\"  The
following  three  macro  calls  are required.  .Dd date .Dt topic
[section-identifier [section-keyword-or-title]] .Os  [package-or-
operating  system  [version-or-release]]  .Sh  Name .Nm topic .Nd
summary-description .\" The next heading is used  in  sections  2
and  3.  .\" .Sh Library .\" The next heading is used in sections
1-4, 6, 8, and 9.  .Sh Synopsis .Sh Description .\" Uncomment and
populate the following sections as needed.  .\" .Sh  "Implementa‐
tion notes" .\" The next heading is used in sections 2, 3, and 9.
.\"  .Sh "Return values" .\" The next heading is used in sections
1, 3, 6, and 8.  .\" .Sh Environment .\" .Sh Files .\"  The  next
heading  is  used in sections 1, 6, and 8.  .\" .Sh "Exit status"
.\" .Sh Examples .\" The next heading is used in sections  1,  4,
6,  8,  and 9.  .\" .Sh Diagnostics .\" .Sh Compatibility .\" The
next heading is used in sections 2, 3, 4, and 9.  .\" .Sh  Errors
.\"  .Sh "See also" .\" .Sh Standards .\" .Sh History .\" .Sh Au‐
thors .\" .Sh Caveats .\" .Sh Bugs The first items  in  the  tem‐
plate  are  the  commands and They identify the page and are dis‐
cussed below in section The remaining items in the  template  are
section  headings of which and are mandatory.  These headings are
discussed in section which follows section  Familiarize  yourself
with  manual  domain  macros first; we use them to illustrate the
use of page structure domain  macros.   In  the  descriptions  of
macros  below,  square  brackets surround optional arguments.  An
ellipsis represents repetition of the preceding argument zero  or
more times.  Alternative values of a parameter are separated with
If a mandatory parameter can take one of several alternative val‐
ues,  use  braces  to enclose the set, with spaces and separating
the items.  An alternative to using braces is to separately  syn‐
opsize  distinct  operation  modes,  particularly  if the list of
valid optional arguments is dependent on the user's choice  of  a
mandatory parameter.  Most macros affect subsequent arguments un‐
til  another  macro  or  a  newline is encountered.  For example,
doesn't produce but Consequently, a warning  message  is  emitted
for  many commands if the first argument is itself a macro, since
it cancels the effect of the preceding one.  On  rare  occasions,
you  might  want to format a word along with surrounding brackets
as a literal.  → Many macros possess an implicit width, used when
they are contained in lists and displays.  If you  avoid  relying
on  these  default  measurements,  you escape potential conflicts
with site-local modifications of the package.  Explicit and argu‐
ments to the and macros are preferable.   We  present  the  title
macros  first  due  to their importance even though they formally
belong to the page structure domain macros.  They  designate  the
topic,  date  of last revision, and the operating system or soft‐
ware project associated with the page.  Call each once at the be‐
ginning of the document.  They  populate  the  page  headers  and
footers,  which  are  in  parlance termed This first macro of any
manual records the last modification date of the document source.
Arguments are concatenated and separated with  space  characters.
Historically,  was  written  in U.S. traditional format, where is
the full month name in English,  an  integer  without  a  leading
zero,  and  the  four-digit year.  This localism is not enforced,
however.  You may prefer ISO 8601 format, A of the form  is  also
recognized.   It  is  used in manuals to automatically insert the
current date when committing.  This macro is neither callable nor
parsed.
is the subject of the man page.  A that begins with an integer in
the range 1–9 or is one of the words or selects a predefined sec‐
tion title.  This use of has nothing to do with the section head‐
ings otherwise discussed in this page; it arises from the organi‐
zational scheme of printed and bound Unix manuals.
In this implementation, the following titles are defined for  in‐
tegral  section  numbers.   Lf(CR) L.  1        2        3
4        5        6        7        8        9         A  section
title  may  be  arbitrary  or one of the following abbreviations.
Lf(CR) L.  USD      PS1      AMD      SMM      URM       PRM
KM         IND       LOCAL     CON      For compatibility, can be
used for and for Values from the previous table  will  specify  a
new  section title.  If designates a computer architecture recog‐
nized by its value is prepended to the default section  title  as
specified by the second parameter.  By default, the following ar‐
chitecture keywords are defined.
If a section title is not determined after the above matches have
been attempted, is used.
The  effects  of varying arguments on the page header content are
shown below.  Observe how prevents the numeral 2 from being  used
to look up a predefined section title.  tab(@); Lf(CR)1 L2 L C R.
.Dt   foo   2@→@foo(2)@System   Calls  Manual@foo(2)  .Dt  foo  2
m68k@→@foo(2)@m68k  System  Calls   Manual@foo(2)   .Dt   foo   2
baz@→@foo(2)@System    Calls    Manual@foo(2)    .Dt    foo   \&2
baz@→@foo(2)@baz@foo(2) .Dt foo "" baz@→@foo@baz@foo  .Dt  foo  M
Z80@→@foo(M)@Z80@foo(M)  strings define section titles and archi‐
tecture identifiers.  Site-specific additions might be  found  in
the  file  see section below.  This macro is neither callable nor
parsed.  This macro associates the document with a software  dis‐
tribution.   When composing a man page to be included in the base
installation of an operating system, do not provide an  argument;
will  supply  it.  In this implementation, that default is It may
be overridden in the site configuration file, see section  below.
A  portable  software  package  maintaining its own man pages can
supply its name and version number or release identifier  as  op‐
tional  arguments.   A argument should use the standard nomencla‐
ture for the software specified.  In the following table,  recog‐
nized arguments for some predefined operating systems are listed.
As  with  site  additions  might be defined in 7th, 7, III, 3, V,
V.2, V.3, V.4 3, 4, 4.1, 4.2, 4.3, 4.3t, 4.3T,  4.3r,  4.3R,  4.4
0.8,  0.8a,  0.9,  0.9a,  1.0,  1.0a, 1.1, 1.2, 1.2a, 1.2b, 1.2c,
1.2d, 1.2e, 1.3, 1.3a, 1.4,  1.4.1,  1.4.2,  1.4.3,  1.5,  1.5.1,
1.5.2, 1.5.3, 1.6, 1.6.1, 1.6.2, 1.6.3, 2.0, 2.0.1, 2.0.2, 2.0.3,
2.1,  3.0,  3.0.1,  3.0.2,  3.0.3,  3.1,  3.1.1, 4.0, 4.0.1, 5.0,
5.0.1, 5.0.2, 5.1, 5.1.2, 5.1.3, 5.1.4, 5.2, 5.2.1,  5.2.2,  6.0,
6.0.1,  6.0.2,  6.0.3,  6.0.4,  6.0.5,  6.0.6, 6.1, 6.1.1, 6.1.2,
6.1.3, 6.1.4, 6.1.5, 7.0, 7.0.1, 7.0.2, 7.1, 7.1.1,  7.1.2,  7.2,
8.0, 8.1 1.0, 1.1, 1.1.5, 1.1.5.1, 2.0, 2.0.5, 2.1, 2.1.5, 2.1.6,
2.1.7, 2.2, 2.2.1, 2.2.2, 2.2.5, 2.2.6, 2.2.7, 2.2.8, 2.2.9, 3.0,
3.1,  3.2,  3.3,  3.4,  3.5, 4.0, 4.1, 4.1.1, 4.2, 4.3, 4.4, 4.5,
4.6, 4.6.2, 4.7, 4.8, 4.9, 4.10, 4.11, 5.0, 5.1, 5.2, 5.2.1, 5.3,
5.4, 5.5, 6.0, 6.1, 6.2, 6.3, 6.4, 7.0, 7.1, 7.2, 7.3, 7.4,  8.0,
8.1,  8.2,  8.3, 8.4, 9.0, 9.1, 9.2, 9.3, 10.0, 10.1, 10.2, 10.3,
10.4, 11.0, 11.1, 11.2, 11.3, 12.0, 12.1 2.0, 2.1, 2.2, 2.3, 2.4,
2.5, 2.6, 2.7, 2.8, 2.9, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6,  3.7,
3.8,  3.9, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 5.0,
5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 6.0, 6.1, 6.2,  6.3,
6.4, 6.5, 6.6 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.8.1,
1.9,  1.10,  1.11,  1.12,  1.12.2, 1.13, 2.0, 2.1, 2.2, 2.3, 2.4,
2.5, 2.6, 2.7, 2.8, 2.9, 2.9.1, 2.10, 2.10.1, 2.11,  2.12,  2.13,
3.0,  3.0.1,  3.0.2,  3.1,  3.2,  3.2.1,  3.2.2, 3.3, 3.4, 3.4.1,
3.4.2, 3.4.3, 3.5, 3.6, 3.6.1, 3.6.2,  3.7,  3.8,  3.8.1,  3.8.2,
4.0,  4.0.1,  4.0.2, 4.0.3, 4.0.4, 4.0.5, 4.0.6, 4.1, 4.2, 4.2.1,
4.2.2, 4.2.3, 4.2.4, 4.3, 4.4, 4.4.1,  4.4.2,  4.4.3,  4.5,  4.6,
4.6.1,  4.6.2, 4.7, 4.8, 4.8.1, 4.9, 5.0, 5.0.1, 5.0.2, 5.1, 5.2,
5.2.1, 5.2.2, 5.3, 5.4, 5.4.1, 5.4.2,  5.4.3,  5.5,  5.6,  5.6.1,
5.6.2  8.0.0,  8.1.0,  8.2.0,  8.3.0, 8.4.0, 8.5.0, 8.6.0, 8.7.0,
8.8.0, 8.9.0, 8.10.0, 8.11.0, 9.0.0, 9.1.0, 9.2.0, 9.3.0,  9.4.0,
9.5.0,  9.6.0,  9.7.0,  9.8.0,  10.0.0,  10.1.0,  10.2.0, 10.3.0,
10.4.0, 10.5.0, 10.6.0, 10.7.0, 10.8.0, 11.0.0,  11.1.0,  11.2.0,
11.3.0,  11.4.0,  11.5.0, 12.0.0, 12.1.0, 12.2.0, 13.0.0, 13.1.0,
13.2.0, 13.3.0, 13.4.0, 14.0.0, 14.1.0, 14.2.0,  14.3.0,  14.4.0,
14.5.0,  15.0.0,  15.1.0, 15.2.0, 15.3.0, 15.4.0, 15.5.0, 15.6.0,
16.0.0, 16.1.0, 16.2.0, 16.3.0, 16.4.0, 16.5.0,  16.6.0,  17.0.0,
17.1.0,  17.2.0,  17.3.0, 17.4.0, 17.5.0, 17.6.0, 17.7.0, 18.0.0,
18.1.0, 18.2.0, 18.3.0, 18.4.0, 18.5.0, 18.6.0,  18.7.0,  19.0.0,
19.1.0,  19.2.0 Historically, the first argument used with was or
An unrecognized version argument after is replaced with for other
predefined abbreviations, it is ignored and a warning  diagnostic
emitted.   Otherwise, unrecognized arguments are displayed verba‐
tim in the page footer.  For instance, this page uses  whereas  a
locally  produced  page  might  employ omitting versioning.  This
macro is neither callable nor parsed.
The manual domain macro names are derived from the day to day in‐
formal language used to describe commands,  subroutines  and  re‐
lated  files.  Slightly different variations of this language are
used to describe the three different aspects  of  writing  a  man
page.   First,  there  is the description of macro command usage.
Second is the description of a command macros, and third, the de‐
scription of a command to a user in the verbal  sense;  that  is,
discussion  of a command in the text of a man page.  In the first
case, macros are themselves a type of command; the general syntax
for a command is: is a macro command, and anything  following  it
are  arguments to be processed.  In the second case, the descrip‐
tion of a command using the manual domain macros is  a  bit  more
involved;  a typical command line might be displayed as: Here, is
the command name and the bracketed string is  a  argument  desig‐
nated  as  optional  by  the  option brackets.  In terms, and are
called in this example, the user has to replace the meta  expres‐
sions given in angle brackets with real file names.  Note that in
this  document  meta  arguments are used to describe commands; in
most man pages, meta variables are not specifically written  with
angle brackets.  The macros that formatted the above example: .Nm
filter .Op Fl flag .Ao Ar infile Ac Ao Ar outfile Ac In the third
case, discussion of commands and command syntax includes both ex‐
amples  above,  but  may add more detail.  The arguments and from
the example above might be referred to as  or  Some  command-line
argument lists are quite long: Here one might talk about the com‐
mand  and  qualify  the  argument, as an argument to the flag, or
discuss the optional file operand In the verbal context, such de‐
tail can prevent confusion, however the package does not  have  a
macro for an argument a flag.  Instead the argument macro is used
for  an operand or file argument like as well as an argument to a
flag like The make command line was produced from: .Nm  make  .Op
Fl  eiknqrstv  .Op Fl D Ar variable .Op Fl d Ar flags .Op Fl f Ar
makefile .Op Fl I Ar directory .Op Fl j Ar max_jobs .Op Ar  vari‐
able  Ns  = Ns Ar value .Bk .Op Ar target ...  .Ek The and macros
are explained in The manual domain and general text domain macros
share a similar syntax with a few minor deviations; most notably,
and differ only when called without arguments; and and impose  an
order  on their argument lists.  All manual domain macros are ca‐
pable of recognizing and properly handling punctuation,  provided
each punctuation character is separated by a leading space.  If a
command  is  given:  The result is: The punctuation is not recog‐
nized and all is output in the font used by If the punctuation is
separated by a leading white space: The result is:  The  punctua‐
tion  is  now  recognized  and output in the default font distin‐
guishing it from the argument strings.   To  remove  the  special
meaning  from a punctuation character, escape it with The follow‐
ing punctuation characters are recognized  by  is  limited  as  a
macro  language,  and has difficulty when presented with a string
containing certain mathematical, logical, or quotation  character
sequences: {+,-,/,*,%,<,>,<=,>=,=,==,&,`,',"} The problem is that
may  assume  it  is supposed to actually perform the operation or
evaluation suggested by the characters.  To prevent the  acciden‐
tal evaluation of these characters, escape them with Typical syn‐
tax  is  shown  in the first manual domain macro displayed below,
The address macro identifies an address construct.   The  default
width  is  12n.  The macro is used to specify the name of the au‐
thor of the item being documented, or the name of the  author  of
the  actual manual page.  The default width is 12n.  In a section
titled causes a break, allowing each new name to  appear  on  its
own  line.  If this is not desirable, .An -nosplit call will turn
this off.  To turn splitting back on, write .An -split The  argu‐
ment  macro  may  be used whenever an argument is referenced.  If
called without arguments, is output.  This places the ellipsis in
italics, which is ugly and incorrect, and will be noticed on ter‐
minals that underline text instead of using an oblique  typeface.
We recommend using instead.  The default width is 12n.  The macro
is  used to demonstrate a declaration for a device interface in a
section four manual.  In a section titled causes a  break  before
and  after its arguments.  The default width is 12n.  The command
modifier is identical to the (flag) command  with  the  exception
that the macro does not assert a dash in front of every argument.
Traditionally  flags  are  marked by the preceding dash, however,
some commands or subsets of commands do not  use  them.   Command
modifiers  may  also be specified in conjunction with interactive
commands such as editor commands.  See The default width is  10n.
A  variable  (or  constant) that is defined in an include file is
specified by the macro The default width is 12n.  The errno macro
specifies the error return value for section 2, 3, and 9  library
routines.   The  second example below shows used with the general
text domain macro, as it would be used in a  section  two  manual
page.  The default width is 17n.  The macro specifies an environ‐
ment variable.  The default width is 15n.  The macro handles com‐
mand-line  flags.  It prepends a dash, to the flag.  For interac‐
tive command flags that are not prepended with a dash, the  (com‐
mand  modifier)  macro  is  identical, but without the dash.  The
macro without  any  arguments  results  in  a  dash  representing
stdin/stdout.   Note that giving a single dash will result in two
dashes.  The default width is 12n.  The macro is used in the sec‐
tion with section two or three functions.  It is neither callable
nor parsed.  In a section titled causes a break if a function has
already been presented and a break has not occurred, leaving ver‐
tical space between one function declaration and the next.  In  a
section  titled  the  macro  represents the statement, and is the
short form of the above example.  It specifies the C header  file
as being included in a C program.  It also causes a break.  While
not in the section, it represents the header file enclosed in an‐
gle brackets.  This macro is intended for the section.  It may be
used anywhere else in the man page without problems, but its main
purpose  is  to  present  the function type (in BSD kernel normal
form) for the of sections two and three.  (It causes a break, al‐
lowing the function name to appear on the next line.)  The  macro
is  modeled  on conventions.  Note that any call to another macro
signals the end of the call (it will insert a closing parenthesis
at that point).  For functions with  many  parameters  (which  is
rare),  the  macros  (function  open) and (function close) may be
used with (function argument).  Example: .Ft int .Fo  res_mkquery
.Fa "int op" .Fa "char *dname" .Fa "int class" .Fa "int type" .Fa
"char *data" .Fa "int datalen" .Fa "struct rrec *newrr" .Fa "char
*buf" .Fa "int buflen" .Fc Produces: Typically, in a section, the
function delcaration will begin the line.  If more than one func‐
tion is presented in the section and a function type has not been
given,  a  break  will  occur, leaving vertical space between the
current and prior function names.  The default  width  values  of
and are 12n and 16n, respectively.  The macro is used to refer to
function  arguments  (parameters)  outside  of the section of the
manual or inside the section if the enclosure macros and  instead
of  are  used.   may  also be used to refer to structure members.
The default width is 12n.  The macro generates text  for  use  in
the section.  For example, produces: The option is valid only for
manual page sections 2 and 3.  Currently, this macro does nothing
if  used  without  the flag.  The macro generates text for use in
the section.  For example, produces: The option is valid only for
manual page sections 1, 6 and  8.   Currently,  this  macro  does
nothing if used without the flag.  The macro designates an inter‐
active or internal command.  The default width is 12n.  The macro
is  used  to  specify  the library where a particular function is
compiled in.  Available arguments to and their results are: Site-
specific additions might be found in the file see section  below.
In  a  section  titled  causes a break before and after its argu‐
ments.  The literal macro may be  used  for  special  characters,
symbolic  constants,  and  other syntactical items that should be
typed exactly as displayed.  The default width is 16n.  The macro
is used for the document title or page  topic.   Upon  its  first
call,  it  has the peculiarity of remembering its argument, which
should always be the topic of the man  page.   When  subsequently
called  without arguments, regurgitates this initial name for the
sole purpose of making less work for the author.  Use of is  also
appropriate when presenting a command synopsis for the topic of a
man  page  in section 1, 6, or 8.  Its behavior changes when pre‐
sented with arguments of various forms.  By default, the topic is
set in boldface to reflect its prime importance  in  the  discus‐
sion.   Cross  references to other man page topics should use in‐
cluding a second argument for the section number enables them  to
be  hyperlinked.   By default, cross-referenced topics are set in
italics to avoid cluttering the page with boldface.  The  default
width  is  10n.   The macro places option brackets around any re‐
maining arguments on the command line, and  places  any  trailing
punctuation  outside the brackets.  The macros and (which produce
an opening and a closing option  bracket,  respectively)  may  be
used across one or more lines or to specify the exact position of
the  closing  parenthesis.   Here  a  typical  example of the and
macros: .Oo .Op Fl k Ar kilobytes .Op Fl i Ar interval .Op  Fl  c
Ar  count  .Oc  Produces: The default width values of and are 14n
and 10n, respectively.  The macro  formats  file  specifications.
If  called without arguments, (recognized by many shells) is out‐
put, representing the user's home directory.  The  default  width
is  32n.   The  macro  replaces standard abbreviations with their
formal names.  Available pairs for are: Part 1: System  API  Part
2: Shell and Utilities X/Open Miscellaneous The macro may be used
whenever  a  type  is  referenced.   In a section titled causes a
break (useful for old-style C  variable  declarations).   Generic
variable reference.  The default width is 12n.  The macro expects
the first argument to be a manual page name.  The optional second
argument,  if a string (defining the manual section), is put into
parentheses.  The default width is 10n.  The following values for
are possible: will be prepended to the string The following  val‐
ues  for are possible: For possible values of see the description
of the command above in section For possible values  of  see  the
description  of  the command above in section For possible values
of see the description of the command above in section  Text  may
be stressed or emphasized with the macro.  The usual font for em‐
phasis  is italic.  The default width is 10n.  The font mode must
be ended with the macro (the latter takes  no  arguments).   Font
modes  may  be nested within other font modes.  has the following
syntax: must be one of the following three types: Same as if  the
macro  was  used  for  the  entire block of text.  Same as if the
macro was used for the entire block of  text.   Same  as  if  the
macro  was  used  for  the entire block of text.  Both macros are
neither callable nor parsed.  The concept of enclosure is similar
to quoting.  The object being to enclose one or more strings  be‐
tween a pair of characters like quotes or parentheses.  The terms
quoting  and  enclosure  are used interchangeably throughout this
document.  Most of the one-line enclosure  macros  end  in  small
letter to give a hint of quoting, but there are a few irregulari‐
ties.   For  each enclosure macro, there is a pair of opening and
closing macros that end with the lowercase  letters  and  respec‐
tively.  lb lb lb lb lb l l l l l.  Quote   Open    Close   Func‐
tion        Result  .Aq     .Ao     .Ac     Angle  Bracket Enclo‐
sure <string>       .Bq     .Bo     .Bc     Bracket        Enclo‐
sure       [string]      .Brq    .Bro    .Brc    Brace     Enclo‐
sure {string}  .Dq     .Do     .Dc     Double   Quote    “string”
.Eq     .Eo     .Ec     Enclose  String  (in  XY)        XstringY
.Pq     .Po     .Pc     Parenthesis            Enclosure (string)
.Ql                     Quoted  Literal        “string” or string
.Qq     .Qo     .Qc     Straight     Double      Quote   "string"
.Sq     .So     .Sc     Single  Quote    ‘string’ All macros end‐
ing with and have a default width value of 12n.  These macros ex‐
pect the first argument to be the opening  and  closing  strings,
respectively.   To  work  around  the  nine-argument limit in the
original program, supports two other macros that  are  now  obso‐
lete.   uses its first and second parameters as opening and clos‐
ing marks which are then used to enclose the arguments of The de‐
fault width value is 12n for both macros.  The first  and  second
arguments  of  this macro are the opening and closing strings re‐
spectively, followed by the arguments to be enclosed.  The quoted
literal macro behaves differently in  and  modes.   If  formatted
with  a  quoted  literal  is always quoted.  If formatted with an
item is only quoted if the width of the item is less  than  three
constant-width  characters.   This  is to make short strings more
visible where the font change to literal (constant-width) is less
noticeable.  The default width is 16n.   The  prefix  macro  sup‐
presses the whitespace between its first and second argument: The
default  width is 12n.  The macro (see below) performs the analo‐
gous suffix function.  The macro inserts an apostrophe and  exits
any special text modes, continuing in mode.  Examples of quoting:
For  a  good  example  of nested enclosure macros, see the option
macro.  It was created from the same underlying enclosure  macros
as  those presented in the list above.  The and extended argument
list macros are discussed below.  formats subsequent  argument(s)
normally,  ending  the  effect  of  and similar.  Parsing is sup‐
pressed, so you must prefix words like with to avoid their inter‐
pretation as macros.  → → → The default width is 12n.  The  macro
suppresses  insertion of a space between the current position and
its first parameter.  For example, it is useful for old style ar‐
gument lists where there is no space between the flag  and  argu‐
ment:  Note: The macro always invokes the macro after eliminating
the space unless another macro name follows it.   If  used  as  a
command  (i.e.,  the second form above in the line), is identical
to Use the macro to cite a (sub)section heading within the  given
document.   →  The  default  width is 16n.  The symbolic emphasis
macro is generally a boldface macro in either the symbolic  sense
or  the  traditional  English  usage.  → The default width is 6n.
Use this macro for mathematical symbols and  similar  things.   →
The  default width is 6n.  The following macros make a modest at‐
tempt to handle references.  At best, the macros make  it  conve‐
nient  to  manually drop in a subset of style references.  Refer‐
ence start (does not take arguments).  In  a  section  titled  it
causes a break and begins collection of reference information un‐
til  the  reference  end  macro is read.  Reference end (does not
take arguments).  The reference  is  printed.   Reference  author
name;  one  name per invocation.  Book title.  City/place.  Date.
Issuer/publisher name.  Journal name.   Issue  number.   Optional
information.   Page number.  Corporate or foreign author.  Report
name.  Title of article.  Optional hypertext reference.   Volume.
Macros  beginning with are not callable but accept multiple argu‐
ments in the usual way.  Only the macro is handled properly as  a
parameter;  other  macros  will cause strange output.  and can be
used outside of the environment.  Example: .Rs .%A "Matthew  Bar"
.%A "John Foo" .%T "Implementation Notes on foobar(1)" .%R "Tech‐
nical  Report ABC-DE-12-345" .%Q "Drofnats College" .%C "Nowhere"
.%D "April 1991" .Re produces The trade name macro prints its ar‐
guments at a smaller type size.  It  is  intended  to  imitate  a
small  caps  fonts  for  fully capitalized acronyms.  The default
width is 10n.  The and macros allow one  to  extend  an  argument
list  on  a  macro boundary for the macro (see below).  Note that
and are implemented similarly to all  other  macros  opening  and
closing  an  enclosure (without inserting characters, of course).
This means that the following is  true  for  those  macros  also.
Here  is an example of using the space mode macro to turn spacing
off: .Bd -literal -offset indent .Sm off .It Xo Sy I Ar operation
.No \en Ar count No \en .Xc .Sm on .Ed produces Another one:  .Bd
-literal  -offset  indent .Sm off .It Cm S No / Ar old_pattern Xo
.No / Ar new_pattern .No / Op Cm g .Xc .Sm on  .Ed  produces  An‐
other  example of and enclosure macros: Test the value of a vari‐
able.  .Bd -literal -offset indent .It Xo .Ic .ifndef .Oo \&!  Oc
Ns  Ar  variable Oo .Ar operator variable No ...  .Oc Xc .Ed pro‐
duces The following section heading macros are required in  every
man  page.  The remaining section headings are recommended at the
discretion of the author writing the manual page.  The  macro  is
parsed but not generally callable.  It can be used as an argument
in  a  call to only; it then reactivates the default font for The
default width is 8n.  The macro is mandatory.  If not  specified,
headers,  footers,  and  page layout defaults will not be set and
things will be rather unpleasant.  The  section  consists  of  at
least  three  items.  The first is the name macro naming the sub‐
ject of the man page.  The second is the name description  macro,
which  separates  the  subject name from the third item, which is
the description.  The description should be the  most  terse  and
lucid  possible,  as  the space available is small.  first prints
then all its arguments.  This section  is  for  section  two  and
three  function calls.  It should consist of a single macro call;
see The section describes the typical usage of the subject  of  a
man  page.   The  macros required are either or (and possibly and
The function name macro is required for manual  page  sections  2
and  3;  the  command and general name macro is required for sec‐
tions 1, 5, 6, 7, and 8.  Section 4 manuals require a or  a  con‐
figuration  device usage macro.  Several other macros may be nec‐
essary to produce the synopsis line as shown below: The following
macros were used: In most cases the first text in the section  is
a brief paragraph on the command, function or file, followed by a
lexical  list  of options and respective explanations.  To create
such a list, the (begin list), (list item) and (end list)  macros
are used (see below).  Implementation specific information should
be  placed  here.   Sections  2,  3  and 9 function return values
should go here.  The macro may be used to generate text  for  use
in  the  section  for most section 2 and 3 library functions; see
The following section headings are part of the  preferred  manual
page  layout  and  must be used appropriately to maintain consis‐
tency.  They are listed in the order in which they would be used.
The section should reveal any related environment  variables  and
clues  to  their  behavior and/or usage.  Files which are used or
created by the man page subject should be listed via the macro in
the section.  There are several ways  to  create  examples.   See
subsection below for details.  Diagnostic messages from a command
should  be placed in this section.  The macro may be used to gen‐
erate text for use in the section for most section  1,  6  and  8
commands; see Known compatibility issues (e.g. deprecated options
or  parameters)  should be listed here.  Specific error handling,
especially from library functions (man page sections 2, 3, and 9)
should go here.  The macro is used to specify an  error  (errno).
References to other material on the man page topic and cross ref‐
erences  to other relevant man pages should be placed in the sec‐
tion.  Cross references are specified using the macro.  Currently
style references are not accommodated.  It  is  recommended  that
the cross references be sorted by section number, then alphabeti‐
cally by name within each section, then separated by commas.  Ex‐
ample:  If  the  command,  library function, or file adheres to a
specific implementation such as or this should be noted here.  If
the command does not adhere to any standard, its  history  should
be  noted  in  the section.  Any command which does not adhere to
any specific standards should be outlined  historically  in  this
section.  Credits should be placed here.  Use the macro for names
and  the macro for email addresses within optional contact infor‐
mation.  Explicitly indicate whether the person authored the ini‐
tial manual page or the software or whatever the person is  being
credited  for.   Blatant  problems with the topic go here.  User-
specified sections may be added; for example,  this  section  was
set  with:  .Sh  "Page structure domain" Subsection headings have
exactly the same syntax as section headings: is  parsed  but  not
generally  callable.   It can be used as an argument in a call to
only; it then reactivates the default font for The default  width
is 8n.  The paragraph command may be used to specify a line space
where  necessary.  The macro is not necessary after a or macro or
before a or macro (which both assert a vertical  distance  unless
the flag is given).  The macro is neither callable nor parsed and
takes  no arguments; an alternative name is The only keep that is
implemented at this time is for words.   The  macros  are  (begin
keep)  and (end keep).  The only option that currently accepts is
(also the default); this prevents breaks in  the  middle  of  op‐
tions.   In  the example for command-line arguments (see the keep
prevents from placing the  flag  and  the  argument  on  separate
lines.   Neither macro is callable or parsed.  More work needs to
be done on the keep macros;  specifically,  a  option  should  be
added.   There  are  seven  types  of displays.  (This is D-one.)
Display one line of indented text.  This macro is parsed but  not
callable.   The  above was produced by: (This is D-ell.)  Display
one line of indented text.   The  example  macro  has  been  used
throughout this file.  It allows the indentation (display) of one
line  of  text.   Its default font is set to constant width (lit‐
eral).  is parsed but not callable.  The above was  produced  by:
Begin display.  The display must be ended with the macro.  It has
the  following  syntax:  Fill, but do not adjust the right margin
(only left-justify).  Center lines between the current  left  and
right  margin.   Note  that each single line is centered.  Do not
fill; break lines where their input lines are broken.   This  can
produce  overlong  lines  without  warning  messages.   Display a
filled block.  The block of text is formatted (i.e., the text  is
justified  on  both the left and right side).  Display block with
literal font (usually fixed-width).  Useful for  source  code  or
simple  tabbed  or  spaced text.  The file whose name follows the
flag is read and displayed before any data enclosed with and  us‐
ing  the selected display type.  Any commands in the file will be
processed.  If is specified with one of  the  following  strings,
the  string  is  interpreted to indicate the level of indentation
for the forthcoming block of text: Align  block  on  the  current
left  margin;  this  is the default mode of Supposedly center the
block.  At this time unfortunately, the block  merely  gets  left
aligned  about an imaginary center margin.  Indent by one default
indent value or tab.  The default indent value is also  used  for
the  and  macros,  so one is guaranteed the two types of displays
will line up.  The indentation value is normally  set  to  6n  or
about two thirds of an inch (six constant width characters).  In‐
dent  two  times the default indent value.  This aligns the block
about two inches from the right side of  the  page.   This  macro
needs  work and perhaps may never do the right thing within If is
a valid numeric expression instead use that  value  for  indenta‐
tion.   The most useful scaling indicators are and specifying the
so-called and This is approximately the width of the letters  and
respectively  of the current font (for output, both scaling indi‐
cators give the same values).  If isn't a numeric expression,  it
is  tested  whether  it  is an macro name, and the default offset
value associated with this macro is used.  Finally, if all  tests
fail,  the width of (typeset with a fixed-width font) is taken as
the offset.  Suppress insertion of vertical space before begin of
display.  End display (takes no arguments).   There  are  several
types  of lists which may be initiated with the begin-list macro.
Items within the list are specified with the item macro, and each
list must end with the macro.  Lists may be nested  within  them‐
selves  and  within displays.  The use of columns inside of lists
or lists inside of columns is  untested.   In  addition,  several
list  attributes may be specified such as the width of a tag, the
list offset, and compactness (blank lines between  items  allowed
or  disallowed).  Most of this document has been formatted with a
tag style list It has the following syntax forms: And now  a  de‐
tailed  description of the list types.  A bullet list.  .Bl -bul‐
let -offset indent -compact .It Bullet one goes here.  .It Bullet
two here.  .El Produces: Bullet one goes here.  Bullet two  here.
A dash list.  .Bl -dash -offset indent -compact .It Dash one goes
here.   .It  Dash  two  here.   .El Produces: Dash one goes here.
Dash two here.  An enumerated list.   .Bl  -enum  -offset  indent
-compact .It Item one goes here.  .It And item two here.  .El The
result:  Item  one goes here.  And item two here.  If you want to
nest enumerated lists, use the flag (starting  with  the  second-
level  list): .Bl -enum -offset indent -compact .It Item one goes
here .Bl -enum -nested -compact .It Item two goes here.  .It  And
item  three  here.  .El .It And item four here.  .El Result: Item
one goes here.  Item two goes here.  And item  three  here.   And
item  four here.  A list of type without list markers.  .Bl -item
-offset indent .It Item one goes here.  Item one goes here.  Item
one goes here.  .It Item two here.   Item  two  here.   Item  two
here.   .El  Produces:  Item  one goes here.  Item one goes here.
Item one goes here.  Item two here.  Item  two  here.   Item  two
here.   A  list  with tags.  Use to specify the tag width.  sleep
time of the process (seconds blocked) number of disk  I/O  opera‐
tions  resulting  from  references  by  the  process to pages not
loaded in core.  numerical user-id of process owner numerical  id
of  parent  of  process priority (non-positive when in non-inter‐
ruptible wait) The raw text:  .Bl  -tag  -width  "PPID"  -compact
-offset indent .It SL sleep time of the process (seconds blocked)
.It  PAGEIN  number  of disk I/O operations resulting from refer‐
ences by the process to pages not loaded in core.  .It UID numer‐
ical user-id of process owner .It PPID numerical id of parent  of
process  priority  (non-positive  when in non-interruptible wait)
.El Diag lists create section four diagnostic lists and are simi‐
lar to inset lists except callable macros are ignored.  The  flag
is  not  meaningful  in this context.  Example: .Bl -diag .It You
can't use Sy here.  The message says all.  .El produces The  mes‐
sage  says all.  A list with hanging tags.  labels appear similar
to tagged lists when the label is smaller than the  label  width.
blend into the paragraph unlike tagged paragraph labels.  And the
unformatted  text  which created it: .Bl -hang -offset indent .It
Em Hanged labels appear similar to tagged lists when the label is
smaller than the label width.  .It Em Longer hanged  list  labels
blend  into  the  paragraph  unlike tagged paragraph labels.  .El
Lists with overhanging tags do not use indentation for the items;
tags are written to a separate line.  sleep time of  the  process
(seconds  blocked)  number  of disk I/O operations resulting from
references by the process to pages not loaded in core.  numerical
user-id of process owner numerical id of parent of process prior‐
ity (non-positive when in non-interruptible wait) The  raw  text:
.Bl  -ohang  -offset  indent  .It Sy SL sleep time of the process
(seconds blocked) .It Sy PAGEIN number of disk I/O operations re‐
sulting from references by the process to  pages  not  loaded  in
core.   .It Sy UID numerical user-id of process owner .It Sy PPID
numerical id of parent of process priority (non-positive when  in
non-interruptible  wait)  .El Here is an example of inset labels:
The tagged list (also called a tagged paragraph) is the most com‐
mon type of list used in the Berkeley manuals.  Use  a  attribute
as  described  below.   Diag lists create section four diagnostic
lists and are similar to inset lists except callable  macros  are
ignored.   Hanged  labels are a matter of taste.  Overhanging la‐
bels are nice when space is constrained.  Inset labels are useful
for controlling blocks of paragraphs and are  valuable  for  con‐
verting  manuals to other formats.  Here is the source text which
produced the above example: .Bl -inset -offset indent .It Em  Tag
The tagged list (also called a tagged paragraph) is the most com‐
mon  type of list used in the Berkeley manuals.  .It Em Diag Diag
lists create section four diagnostic lists and are similar to in‐
set lists except callable macros are ignored.  .It Em Hang Hanged
labels are a matter of taste.  .It Em  Ohang  Overhanging  labels
are  nice  when  space is constrained.  .It Em Inset Inset labels
are useful for controlling blocks of paragraphs and are  valuable
for  converting .Xr mdoc manuals to other formats.  .El This list
type generates multiple columns.  The number of columns  and  the
width  of each column is determined by the arguments to the list,
etc.  If starts with a (dot)  immediately  followed  by  a  valid
macro  name,  interpret  and use the width of the result.  Other‐
wise, the width of (typeset with a fixed-width font) is taken  as
the  column  width.   Each argument is parsed to make a row, each
column within the row is a separate argument separated by  a  tab
or  the  macro.   The table: was produced by: .Bl -column -offset
indent ".Sy String" ".Sy Nroff" ".Sy Troff" .It Sy String  Ta  Sy
Nroff  Ta  Sy  Troff  .It Li <= Ta <= Ta \*(<= .It Li >= Ta >= Ta
\*(>= .El Don't abuse this list type!  For more complicated cases
it might be far better and easier to use the table  preprocessor.
Other  keywords: If starts with a (dot) immediately followed by a
valid macro name, interpret and use the width of the result.  Al‐
most all lists in this document use this  option.   Example:  .Bl
-tag  -width  ".Fl test Ao Ar string Ac" .It Fl test Ao Ar string
Ac This is a longer sentence to show how the .Fl width flag works
in combination with a tag list.  .El gives: This is a longer sen‐
tence to show how the flag works in combination with a tag  list.
(Note  that  the current state of is saved before is interpreted;
afterwards, all variables are  restored  again.   However,  boxes
(used  for  enclosures) can't be saved in as a consequence, argu‐
ments must always be to avoid nasty errors.  For example, do  not
write  but  instead  if  you  really  need  only an opening angle
bracket.)  Otherwise, if is a valid numeric expression  use  that
value  for  indentation.   The most useful scaling indicators are
and specifying the so-called and This is approximately the  width
of  the letters and respectively of the current font (for output,
both scaling indicators give the same values).  If  isn't  a  nu‐
meric  expression,  it is tested whether it is an macro name, and
the default width value associated with this macro is used.   Fi‐
nally,  if  all  tests  fail, the width of (typeset with a fixed-
width font) is taken as the width.  If a width is  not  specified
for  the  tag  list  type, is used.  If is a default indent value
(normally set to 6n, similar to the value used in or is used.  If
is a valid numeric expression instead use that value for indenta‐
tion.  The most useful scaling indicators are and specifying  the
so-called  and This is approximately the width of the letters and
respectively of the current font (for output, both scaling  indi‐
cators  give the same values).  If isn't a numeric expression, it
is tested whether it is an macro name,  and  the  default  offset
value  associated with this macro is used.  Finally, if all tests
fail, the width of (typeset with a fixed-width font) is taken  as
the offset.  Suppress insertion of vertical space before the list
and  between list items.  A double handful of macros fit only un‐
comfortably into  one  of  the  above  sections.   Of  these,  we
couldn't  find  attested examples for or They are documented here
for completeness—if you know their proper usage,  please  send  a
mail  to  and  include  a  specimen with its provenance.  formats
boilerplate text.  → It is neither callable nor parsed and  takes
no  arguments.  Its default width is 6n.  is an obsolete means of
specifying a function return value.  allows a break right  before
the return value (usually a single digit) which is bad typograph‐
ical  behaviour.   Instead, set the return value with the rest of
the code, using to tie the return value  to  the  previous  word.
Its  default  width  is  12n.  Inlines the contents of a (header)
file into the document.  It first prints  followed  by  the  file
name,  then  the  contents  of It is neither callable nor parsed.
Embed hyperlink.  Its default width is 6n.  Usage  unknown.   The
sources  describe it as a macro for Its default width is 6n.  Em‐
bed email address.  Its default width is 6n.  Usage unknown.  The
sources describe it  as  Manipulate  or  toggle  argument-spacing
mode.   If  argument-spacing mode is off, no spaces between macro
arguments are inserted.  If called without a parameter (or if the
next parameter is neither nor toggles argument-spacing mode.  Its
default width is 8n.  formats boilerplate text.  → It is  neither
callable nor parsed and takes no arguments.  Its default width is
8n.   The following strings are predefined for compatibility with
legacy documents.  Contemporary ones should use the  alternatives
shown  in  the  column below.  See for a full discussion of these
special character escape sequences.  Cb Lb2 Lb2 Lb Lb  Lb  Lf(CR)
L2  L2 L Lf(CR) L.  String  7-bit   8-bit   UCS     Prefer  Mean‐
ing \*(<=   <=      <=              \(<=    less than or equal to
\*(>=   >=       >=              \(>=    greater than or equal to
\*(Rq   "          "               \(rq    right   double   quote
\*(Lq   "            "               \(lq    left   double  quote
\*(ua   ^       ^               \(ua    vertical     arrow     up
\*(aa   '       ´               \(aa    acute   accent  \*(ga   `
     `               \(ga    grave     accent      \*(q         "
      "             \(dq    neutral   double   quote   \*(Pi   pi
    pi              \(*p    lowercase        pi        \*(Ne   !=
    !=              \(!=    not         equals         \*(Le   <=
    <=              \(<=    less  than  or  equal  to  \*(Ge   >=
    >=              \(>=    greater  than  or  equal to \*(Lt   <
    <               <       less          than          \*(Gt   >
    >               >       greater        than        \*(Pm   +-
     ±               \(+-    plus   or    minus    \*(If   infin‐
ity        infinity                \(if    infinity
\*(Am                           &       ampersand
\*(Na                           NaN     not        a       number
\*(Ba                           |       bar Some column  headings
are  shorthand  for standardized character encodings; “7-bit” for
ISO 646:1991 IRV (US-ASCII), “8-bit” for ISO 8859-1 (Latin-1) and
IBM code page 1047, and “UCS” for ISO  10646  (Unicode  character
set).  Historically, configured the string definitions to fit the
capabilities  expected  of  the  output  device.  Old typesetters
lacked directional double quotes, producing repeated  directional
single  quotes  ‘‘like  this’’; early versions of in fact defined
the and strings this way.  Nowadays, output drivers take  on  the
responsibility  of  glyph  substitution, as they possess relevant
knowledge of their available repertoires.   The  debugging  macro
offered  by previous versions of is unavailable in since the lat‐
ter provides better facilities to check parameters; additionally,
implements many error and warning messages,  making  the  package
more  robust  and more verbose.  The remaining debugging macro is
which dumps the package's global register and string contents  to
the  standard  error  stream.   A normal user will never need it.
The following options set registers (with and strings (with  rec‐
ognized  and used by the macro package.  To ensure rendering con‐
sistent with output device capabilities and  reader  preferences,
man  pages  should never manipulate them.  Setting string config‐
ures the adjustment mode for most formatted text.  Typical values
are for adjustment to both margins (the  default),  or  for  left
alignment  (ragged  right margin).  Any valid argument to request
may be used.  See for less-common choices.  Setting register to 1
numbers output pages consecutively,  rather  than  resetting  the
page  number  to  1 (or the value of register with each new docu‐
ment.  By default, the package inhibits page breaks, headers, and
footers in the midst of the document text if  it  is  being  dis‐
played with a terminal device such as or to enable more efficient
viewing  of the page.  This behavior can be changed to format the
page as if for 66-line Teletype output by setting the  continuous
rendering register to zero while calling On HTML devices, it can‐
not  be disabled.  Section headings (defined with and page titles
in headers (defined with can be presented  in  full  capitals  by
setting  the registers and respectively, to 1.  These transforma‐
tions are off by default because they  discard  case  distinction
information.   Setting  register  to  1 enables double-sided page
layout, which is only distinct when not  continuously  rendering.
It  places  the  page  number at the bottom right on odd-numbered
(recto) pages, and at the bottom left  on  even-numbered  (verso)
pages,  swapping  places  with  the arguments to The value of the
register determines the footer's distance from the  page  bottom;
this amount is always negative and should specify a scaling unit.
At one half-inch above this location, the page text is broken be‐
fore  writing  the footer.  It is ignored if continuous rendering
is enabled.  The default is -0.5i.  The string sets the font used
for section and subsection headings; the default is  (bold  style
of  the  default  family).   Any valid argument to request may be
used.  Normally, automatic hyphenation is enabled  using  a  mode
appropriate  to  the locale; see section “Localization“ of It can
be disabled by setting the register to zero.  The  paragraph  and
subsection  heading indentation amounts can be changed by setting
the registers and The default paragraph indentation  is  7.2n  on
typesetters  and 7n on terminals.  The default subsection heading
indentation amount is 3n; section headings are set with an inden‐
tation of zero.  The line and title lengths  can  be  changed  by
setting  the  registers and respectively: If not set, both regis‐
ters default to 78n for  terminal  devices  and  6.5i  otherwise.
Setting  the  register  starts enumeration of pages at its value.
The default is 1.  To change the document font  size  to  11p  or
12p,  set  register accordingly: Register is ignored when format‐
ting for terminal devices.  Setting the register to a page number
numbers its successors as and so forth.   The  register  tracking
the suffixed page letter uses format (see the request in
This  brief program detects whether the or macro package is being
used by a document and loads the correct macro definitions,  tak‐
ing  advantage of the fact that pages using them must call or re‐
spectively, before any other macros.  A user typing, for example,
need not know which package the file uses.  Multiple  man  pages,
in  either  format, can be handled; reloads each macro package as
necessary.  implements the bulk of the package and loads  further
components  as  needed  from the subdirectory.  is a wrapper that
loads defines macros, registers, and strings concerned  with  the
production  of formatted output.  It includes strings of the form
and for manual section titles and architecture  identifiers,  re‐
spectively, where is an argument recognized by defines parameters
appropriate  for  rendering to terminal devices.  defines parame‐
ters appropriate for rendering to  typesetter  devices.   defines
many  strings and macros that interpolate formatted text, such as
names of operating system releases, *BSD libraries, and standards
documents.  The string names are of the form (observe the  double
dashes), or where is one of the operating system macros from sec‐
tion  above, is an encoding of an operating system release (some‐
times omitted along with the preceding it), an identifier  for  a
standards  body or committee, one for an issue of a standard pro‐
mulgated by and a keyword identifying a *BSD library.  This  file
houses local additions and customizations to the package.  It can
be empty.  The project maintains an independent implementation of
the  language  and  a renderer that directly parses its markup as
well as that of Section 3f has not been added to the header  rou‐
tines.  needs to have a check to prevent splitting up the line if
its  length  is  too  short.   Occasionally it separates the last
parenthesis, and sometimes looks ridiculous if output  lines  are
being  filled.   The  list and display macros do not do any keeps
and certainly should be able to.  As of 1.23, no  longer  changes
the type size; this functionality may return in the next release.


See for descriptions of the following attributes:

box;  cbp-1  |  cbp-1  l | l .  ATTRIBUTE TYPE  ATTRIBUTE VALUE =
Availability    text/groff = Stability       Uncommitted


Source code for open source software components in Oracle Solaris
can be found  at  https://www.oracle.com/downloads/opensource/so‐
laris-source-code-downloads.html.

This software was built from source available at:
https://github.com/oracle/solaris-userland

The original community source was downloaded from:
https://ftp.gnu.org/gnu/groff/groff-1.23.0.tar.gz

Further  information about this software can be found on the open
source community website at https://www.gnu.org/software/groff.





















































맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3