/contrib/groff/man/groff.man
Unknown | 3564 lines | 3559 code | 5 blank | 0 comment | 0 complexity | 654730c758ce818da6b15e673ea49876 MD5 | raw file
Possible License(s): MPL-2.0-no-copyleft-exception, BSD-3-Clause, LGPL-2.0, LGPL-2.1, BSD-2-Clause, 0BSD, JSON, AGPL-1.0, GPL-2.0
- '\" t
- .ig
- groff.man
- Last update: 17 Feb 2005
- This file is part of groff, the GNU roff type-setting system.
- Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005
- Free Software Foundation, Inc.
- written by Bernd Warken <bwarken@mayn.de>
- maintained by Werner Lemberg <wl@gnu.org>
- Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.1 or
- any later version published by the Free Software Foundation; with the
- Invariant Sections being this .ig-section and AUTHORS, with no
- Front-Cover Texts, and with no Back-Cover Texts.
- A copy of the Free Documentation License is included as a file called
- FDL in the main directory of the groff source package.
- ..
- .
- .\" --------------------------------------------------------------------
- .\" Setup
- .\" --------------------------------------------------------------------
- .
- .do nr groff_C \n[.C]
- .cp 0
- .
- .mso www.tmac
- .
- .if n \{\
- . mso tty-char.tmac
- . ftr CR R
- . ftr CI I
- . ftr CB B
- .\}
- .
- .if '\*[.T]'dvi' \{\
- . ftr CB CW
- .\}
- .
- .
- .\" --------------------------------------------------------------------
- .\" start of macro definitions
- .eo
- .
- .de c
- ..
- .
- .de TPx
- . TP 10n
- ..
- .c ---------------------------------------------------------------------
- .c .Text anything ...
- .c
- .c All arguments are printed as text.
- .c
- .de Text
- . nop \)\$*
- ..
- .c ---------------------------------------------------------------------
- .c .ExecFF macro font1 font2 text1 text2 text1 text2 ...
- .c
- .c Concat text arguments using alternating fonts and feed into macro.
- .c For a trailing punctuation, terminate the call with \c.
- .c
- .de ExecFF
- . if (\n[.$] < 4) \
- . return
- . ds @a\"
- . ds @m \$1\"
- . ds @f1 \$2\"
- . ds @f2 \$3\"
- . shift 3
- . ds @s\"
- . while 1 \{\
- . if (\n[.$] = 0) \
- . break
- . ds @a \$1\"
- . as @s \f[\*[@f1]]\*[@a]\f[]\"
- . shift
- . if (\n[.$] = 0) \
- . break
- . ds @a \$1\"
- . as @s \f[\*[@f2]]\*[@a]\f[]\"
- . shift
- . \}
- . \*[@m] "\*[@s]\f[R]"
- . ft P \" to make \c happy
- . rm @m
- . rm @s
- . rm @a
- . rm @f1
- . rm @f2
- ..
- .
- .c --------- command line option ---------
- .
- .de option
- . Text \f[CB]\$*
- . ft P
- ..
- .
- .c --------- characters ---------
- .
- .de character
- . ExecFF Text CB R \$*
- ..
- .de squoted_char
- . ds @1 \$1\"
- . shift
- . ExecFF Text R CB \[oq] \*[@1] "\[cq]\$*"
- . rm @1
- ..
- .de dquoted_char
- . ds @1 \$1\"
- . shift
- . ExecFF Text R CB \[lq] \*[@1] "\[rq]\$*"
- . rm @1
- ..
- .c --------- requests ---------
- .
- .c synopsis of a request
- .de REQ
- . if (\n[.$] = 0) \
- . return
- . ds @1 \$1\"
- . shift 1
- . ie (\n[.$] = 0) \{\
- . TP 10n
- . Text \f[CB]\*[@1]\f[]
- . \}
- . el \{\
- . TP 10n
- . Text \f[CB]\*[@1]\~\f[]\f[I]\$*\f[]
- . \}
- . rm @1
- ..
- .c reference of a request
- .de request
- . BR \$*
- ..
- .
- .c --------- numerical elements ---------
- .
- .c number with a trailing unit
- .de scalednumber
- . Text \$1\^\f[CB]\$2\f[]\$3\f[R]
- . ft P
- ..
- .
- .c representation of units within the text
- .de scaleindicator
- . Text \f[CB]\$1\f[]\$2\f[R]
- . ft P
- ..
- .
- .c representation of mathematical operators within the text
- .de operator
- . squoted_char \$@
- ..
- .
- .
- .c --------- escape sequences ---------
- .
- .c ---------------------------------------------------------------------
- .c .ESC name [arg]
- .c
- .c Synopsis of an escape sequence, optionally with argument
- .c Args : 1 or 2; `name' obligatory, `arg' optional
- .c name : suitable name for an escape sequence (c, (xy, [long])
- .c arg : arbitrary word
- .c Result : prints \namearg, where `name' is in CB, `arg' in I
- .c
- .de ESC
- . if (\n[.$] < 1)
- . ab .ESC needs 1 or 2 arguments.
- . ExecFF IP CB I "\[rs]\$1" "\,\$2\/"
- ..
- .c ---------------------------------------------------------------------
- .c .ESC[] name arg
- .c
- .c Synopsis for escape sequence with a bracketed long argument
- .c Args : 2 obligatory
- .c name : suitable name for an escape sequence (c, (xy, [long])
- .c arg : arbitrary text
- .c Result : prints \name[arg], where `name' is in CB, `arg' in I
- .c
- .de ESC[]
- . if !(\n[.$] = 2) \
- . ab .ESC[] needs exactly 2 arguments.
- . ExecFF IP CB I "\[rs]\$1\[lB]" "\h'-0.2m'\$2\h'-0.15m'" \[rB]
- ..
- .c ---------------------------------------------------------------------
- .c .ESCq name arg
- .c
- .c Synopsis for escape sequence with a bracketed long argument
- .c Args : 2 obligatory
- .c name : suitable name for an escape sequence (c, (xy, [long])
- .c arg : arbitrary text
- .c Result : prints \name'arg', where `name' is in CB, `arg' in I
- .c
- .de ESCq
- . if !(\n[.$] = 2) \
- . ab .ESCq needs exactly 2 argument.
- . ExecFF IP CB I "\[rs]\$1\[cq]" "\h'-0.3m'\$2" \[cq]
- ..
- .c ---------------------------------------------------------------------
- .c .ESC? arg
- .c
- .c Synopsis for escape sequence with a bracketed long argument
- .c Args : 1 obligatory
- .c arg : arbitrary text
- .c Result : prints `\?arg?', where the `?' are in CB, `arg' in I
- .c
- .de ESC?
- . if !(\n[.$] = 1) \
- . ab .ESC? needs exactly 1 arguments.
- . ExecFF IP CB I \[rs]? "\$1" ?
- ..
- .c ---------------------------------------------------------------------
- .c .esc name [punct]
- .c
- .c Reference of an escape sequence (no args), possibly punctuation
- .c Args : 1 obligatory
- .c name : suitable name for an escape sequence (c, (xy, [long])
- .c punct : arbitrary
- .c Result : prints \name, where `name' is in B, `punct' in R
- .c
- .de esc
- . if (\n[.$] < 1) \
- . ab .esc needs 1 or 2 arguments.
- . BR "\[rs]\$1" \$2
- ..
- .c ---------------------------------------------------------------------
- .c .escarg name arg [punct]
- .c
- .c Reference of an escape sequence (no args)
- .c Args : 1 obligatory, 1 optional
- .c name : suitable name for an escape sequence (c, (xy, [long])
- .c arg : arbitrary word
- .c Result : prints \namearg, where
- .c `name' is in B, `arg' in I
- .c
- .de escarg
- . if (\n[.$] < 2) \
- . ab .esc needs 2 or 3 arguments.
- . Text \f[B]\[rs]\$1\f[]\f[I]\$2\f[]\$3
- ..
- .c ---------------------------------------------------------------------
- .c .esc[] name arg [punct]
- .c
- .c Reference for escape sequence with a bracketed long argument
- .c Args : 2 obligatory
- .c name : suitable name for an escape sequence (c, (xy, [long])
- .c arg : arbitrary text
- .c Result : prints \name[arg], where `name' is in CB, `arg' in CI
- .c
- .de esc[]
- . if (\n[.$] < 2) \
- . ab .esc[] needs 2 or 3 arguments.
- . Text \f[B]\[rs]\$1\[lB]\f[]\f[I]\$2\f[]\f[B]\[rB]\f[]\$3
- ..
- .
- .c ---------------------------------------------------------------------
- .c .escq name arg
- .c
- .c Reference for escape sequence with a bracketed long argument
- .c Args : 2 obligatory
- .c name : suitable name for an escape sequence (c, (xy, [long])
- .c arg : arbitrary text
- .c Result : prints \name'arg', where `name' is in CB, `arg' in CI
- .c
- .de escq
- . if (\n[.$] < 2) \
- . ab .escq needs 2 arguments.
- . Text \f[B]\[rs]\$1\[cq]\f[]\f[I]\$2\f[]\f[B]\[cq]\f[]\$3
- ..
- .
- .c --------- strings ---------
- .
- .c synopsis for string, with \*[]
- .de STRING
- . ds @1 \$1\"
- . shift 1
- . TP 10n
- . ExecFF Text R CB \[rs]*[ \*[@1]\f[]\f[R]] \$*
- . rm @1
- ..
- .c synopsis for a long string
- .de string
- . if (\n[.$] = 0) \
- . return
- . Text \f[CB]\[rs]*\[lB]\$1\[rB]\f[]\$2
- ..
- .
- .
- .c --------- registers ---------
- .
- .c synopsis for registers, with \n[]
- .de REG
- . ds @1 \$1\"
- . shift 1
- . TP 10n
- . ExecFF Text R CB \[rs]n[ \*[@1]\f[]\f[R]] \$*
- . rm @1
- ..
- .c reference of a register, without decoration
- .de register
- . Text register
- . BR \$*
- ..
- .
- .ec
- .\" end of macro definitions
- .
- .
- .\" --------------------------------------------------------------------
- .\" Title
- .\" --------------------------------------------------------------------
- .
- .TH GROFF @MAN7EXT@ "@MDATE@" "Groff Version @VERSION@"
- .SH NAME
- groff \- a short reference for the GNU roff language
- .
- .
- .\" --------------------------------------------------------------------
- .SH DESCRIPTION
- .\" --------------------------------------------------------------------
- .
- The name
- .I groff
- stands for
- .I GNU roff
- and is the free implementation of the roff type-setting system.
- .
- See
- .BR roff (@MAN7EXT@)
- for a survey and the background of the groff system.
- .
- .P
- This document gives only short descriptions of the predefined roff
- language elements as used in groff.
- .
- Both the classical features and the groff extensions are provided.
- .
- .P
- Historically, the
- .I roff language
- was called
- .IR troff .
- .I groff
- is compatible with the classical system and provides proper
- extensions.
- .
- So in GNU, the terms
- .IR roff ,
- .IR troff ,
- and
- .I groff language
- could be used as synonyms.
- .
- However
- .I troff
- slightly tends to refer more to the classical aspects, whereas
- .I groff
- emphasizes the GNU extensions, and
- .I roff
- is the general term for the language.
- .
- .P
- This file is only a short version of the complete documentation that
- is found in the
- .I groff
- .BR info (1)
- file, which contains more detailed, actual, and concise information.
- .
- .P
- The general syntax for writing groff documents is relatively easy, but
- writing extensions to the roff language can be a bit harder.
- .
- .P
- The roff language is line-oriented.
- .
- There are only two kinds of lines, control lines and text lines.
- .
- The control lines start with a control character, by default a period
- .dquoted_char .
- or a single quote
- .dquoted_char ' ;
- all other lines are text lines.
- .
- .P
- .B Control lines
- represent commands, optionally with arguments.
- .
- They have the following syntax.
- .
- The leading control character can be followed by a command name;
- arguments, if any, are separated by blanks from the command name and
- among themselves, for example,
- .RS
- .
- .P
- .Text .command_name arg1 arg2
- .RE
- .
- .P
- For indentation, any number of space or tab characters can be inserted
- between the leading control character and the command name, but the
- control character must be on the first position of the line.
- .
- .P
- .B Text lines
- represent the parts that will be printed.
- They can be modified by escape sequences, which are recognized by a
- leading backslash
- .squoted_char \[rs] .
- These are in-line or even in-word formatting elements or functions.
- .
- Some of these take arguments separated by single quotes
- .dquoted_char ' ,
- others are regulated by a length encoding introduced by an open
- parenthesis
- .squoted_char (
- or enclosed in brackets
- .squoted_char [
- and
- .squoted_char ] .
- .
- .P
- The roff language provides flexible instruments for writing language
- extension, such as macros.
- .
- When interpreting macro definitions, the roff system enters a special
- operating mode, called the
- .BR "copy mode" .
- .
- .P
- The copy mode behavior can be quite tricky, but there are some rules
- that ensure a safe usage.
- .
- .IP 1.
- Printable backslashes must be denoted as
- .esc e .
- To be more precise,
- .esc e
- represents the current escape character.
- .
- To get a backslash glyph, use
- .esc (rs
- or
- .esc [rs] .
- .IP 2.
- Double all backslashes.
- .IP 3.
- Begin all text lines with the special non-spacing character
- .esc & .
- .
- .P
- This does not produce the most efficient code, but it should work as a
- first measure.
- .
- For better strategies, see the groff info file and
- .BR groff_tmac (@MAN5EXT@).
- .
- .P
- Reading roff source files is easier, just reduce all double backslashes
- to a single one in all macro definitions.
- .
- .
- .\" --------------------------------------------------------------------
- .SH "GROFF ELEMENTS"
- .\" --------------------------------------------------------------------
- .
- The roff language elements add formatting information to a text file.
- .
- The fundamental elements are predefined commands and variables that
- make roff a full-blown programming language.
- .
- .P
- There are two kinds of roff commands, possibly with arguments.
- .B Requests
- are written on a line of their own starting with a dot
- .squoted_char .
- or a
- .dquoted_char ' ,
- whereas
- .B Escape sequences
- are in-line functions and in-word formatting elements starting with a
- backslash
- .squoted_char \[rs] .
- .
- .P
- The user can define her own formatting commands using the
- .request de
- request.
- .
- These commands are called
- .BR macros ,
- but they are used exactly like requests.
- .
- Macro packages are pre-defined sets of macros written in the groff
- language.
- .
- A user's possibilities to create escape sequences herself is very
- limited, only special characters can be mapped.
- .
- .P
- The groff language provides several kinds of variables with
- different interfaces.
- .
- There are pre-defined variables, but the user can define her own
- variables as well.
- .
- .P
- .B String
- variables store character sequences.
- .
- They are set with the
- .request ds
- request and retrieved by the
- .esc *
- escape sequences.
- .
- Strings can have variables.
- .
- .P
- .B Register
- variables can store numerical values, numbers with a scale unit, and
- occasionally string-like objects.
- .
- They are set with the
- .request nr
- request and retrieved by the
- .esc n
- escape sequences.
- .
- .P
- .B Environments
- allow the user to temporarily store global formatting parameters like
- line length, font size, etc.\& for later reuse.
- .
- This is done by the
- .request ev
- request.
- .
- .P
- .B Fonts
- are identified either by a name or by an internal number.
- .
- The current font is chosen by the
- .request ft
- request or by the
- .esc f
- escape sequences.
- .
- Each device has special fonts, but the following fonts are available
- for all devices.
- .B R
- is the standard font Roman.
- .B B
- is its
- .B bold
- counterpart.
- .
- The
- .I italic
- font is called
- .B I
- and is available everywhere, but on text devices it is displayed as an
- underlined Roman font.
- .
- For the graphical output devices, there exist constant-width pendants
- of these fonts,
- .BR CR ,
- .BR CI ,
- and
- .BR CB .
- On text devices, all characters have a constant width anyway.
- .
- .P
- Moreover, there are some advanced roff elements.
- .
- A
- .B diversion
- stores information into a macro for later usage.
- .
- A
- .B trap
- is a positional condition like a certain number of lines from page top
- or in a diversion or in the input.
- .
- Some action can be prescribed to be run automatically when the
- condition is met.
- .
- .P
- More detailed information and examples can be found in the groff info
- file.
- .
- .
- .\" --------------------------------------------------------------------
- .SH "CONTROL CHARACTERS"
- .\" --------------------------------------------------------------------
- .
- There is a small set of characters that have a special controlling
- task in certain conditions.
- .
- .TP
- .character .
- A dot is only special at the beginning of a line or after the
- condition in the requests
- .request if ,
- .request ie ,
- .request el ,
- and
- .request while .
- There it is the control character that introduces a request (or macro).
- .
- The special behavior can be delayed by using the
- .esc .
- escape.
- .
- By using the
- .request cc
- request, the control character can be set to a different character,
- making the dot
- .squoted_char .
- a non-special character.
- .IP ""
- In all other positions, it just means a dot character.
- .
- In text paragraphs, it is advantageous to start each sentence at a
- line of its own.
- .
- .TP
- .character '
- The single quote has two controlling tasks.
- .
- At the beginning of a line and in the conditional requests it is the
- non-breaking control character.
- .
- That means that it introduces a request like the dot, but with the
- additional property that this request doesn't cause a linebreak.
- .
- By using the
- .request c2
- request, the non-break control character can be set to a different
- character.
- .
- .IP ""
- As a second task, it is the most commonly used argument separator in
- some functional escape sequences (but any pair of characters not part
- of the argument will work).
- .
- In all other positions, it denotes the single quote or apostrophe
- character.
- .
- Groff provides a printable representation with the
- .esc (cq
- escape sequence.
- .
- .TP
- .character \[dq]
- The double quote is used to enclose arguments in requests, macros, and
- strings.
- .
- In the
- .request ds
- and
- .request as
- requests, a leading double quote in the argument will be stripped off,
- making everything else afterwards the string to be defined (enabling
- leading whitespace).
- .
- The escaped double quote
- .esc \[dq]
- introduces a comment.
- .
- Otherwise, it is not special.
- .
- Groff provides a printable representation with the
- .esc (dq
- escape sequence.
- .
- .TP
- .character \[rs]
- The backslash usually introduces an escape sequence (this can be
- changed with the
- .request ec
- request).
- .
- A printed version of the escape character is the
- .esc e
- escape; a backslash glyph can be obtained by
- .esc (rs .
- .TP
- .character (
- The open parenthesis is only special in escape sequences when
- introducing an escape name or argument consisting of exactly two
- characters.
- .
- In groff, this behavior can be replaced by the \f[CB][]\f[] construct.
- .TP
- .character [
- The opening bracket is only special in groff escape sequences; there
- it is used to introduce a long escape name or long escape argument.
- .
- Otherwise, it is non-special, e.g.\& in macro calls.
- .TP
- .character ]
- The closing bracket is only special in groff escape sequences; there
- it terminates a long escape name or long escape argument.
- .
- Otherwise, it is non-special.
- .TP
- \f[CI]space\f[]
- Space characters are only functional characters.
- .
- They separate the arguments in requests, macros, and strings, and the words
- in text lines.
- .
- They are subject to groff's horizontal spacing calculations.
- .
- To get a defined space width, escape sequences like
- .squoted_char "\[rs]\ "
- (this is the escape character followed by a space),
- .esc | ,
- .esc ^ ,
- or
- .esc h
- should be used.
- .
- .IP \f[CI]newline\f[]
- In text paragraphs, newlines mostly behave like space characters.
- .
- Continuation lines can be specified by an escaped newline, i.e., by
- specifying a backslash
- .squoted_char \[rs]
- as the last character of a line.
- .IP \f[CI]tab\f[]
- If a tab character occurs during text the interpreter makes a
- horizontal jump to the next pre-defined tab position.
- .
- There is a sophisticated interface for handling tab positions.
- .
- .
- .\" --------------------------------------------------------------------
- .SH "NUMERICAL EXPRESSIONS"
- .\" --------------------------------------------------------------------
- .
- A
- .B numerical value
- is a signed or unsigned integer or float with or without an appended
- scaling indicator.
- .
- A
- .B scaling indicator
- is a one-character abbreviation for a unit of measurement.
- .
- A number followed by a scaling indicator signifies a size value.
- .
- By default, numerical values do not have a scaling indicator, i.e., they
- are normal numbers.
- .
- .P
- The
- .I roff
- language defines the following scaling indicators.
- .
- .
- .P
- .PD 0
- .RS
- .
- .TPx
- .B c
- Centimeter
- .
- .TPx
- .B i
- Inch
- .
- .TPx
- .B P
- Pica\ \[eq]\ 1/6\ inch
- .
- .TPx
- .B p
- Point\ \[eq]\ 1/72\ inch
- .
- .TPx
- .B m
- Em\ \[eq]\ \f[R]the font size in points (width of letter `\f[CR]m\f[R]')
- .
- .TPx
- .B M
- 100\^th \f[R]of an \f[CR]Em
- .
- .TPx
- .B n
- En\ \[eq]\ Em/2
- .
- .TPx
- .B u
- Basic unit for actual output device
- .
- .TPx
- .B v
- Vertical line space in basic units
- scaled point\ \[eq]\ 1/\f[CI]sizescale\f[R] of a point (defined in
- font \f[I]DESC\f[] file)
- .
- .TPx
- .B f
- Scale by 65536.
- .RE
- .PD
- .
- .P
- .B Numerical expressions
- are combinations of the numerical values defined above with the
- following arithmetical operators already defined in classical troff.
- .
- .P
- .PD 0
- .RS
- .
- .TPx
- .B +
- Addition
- .
- .TPx
- .B \-
- Subtraction
- .
- .TPx
- .B *
- Multiplication
- .
- .TPx
- .B /
- Division
- .
- .TPx
- .B %
- Modulo
- .
- .TPx
- .B =
- Equals
- .
- .TPx
- .B ==
- Equals
- .
- .TPx
- .B <
- Less than
- .
- .TPx
- .B >
- Greater than
- .
- .TPx
- .B <=
- Less or equal
- .
- .TPx
- .B >=
- Greater or equal
- .
- .TPx
- .B &
- Logical and
- .
- .TPx
- .B :
- Logical or
- .
- .TPx
- .B !
- Logical not
- .
- .TPx
- .B (
- Grouping of expressions
- .
- .TPx
- .B )
- Close current grouping
- .
- .RE
- .PD
- .
- .P
- Moreover,
- .I groff
- added the following operators for numerical expressions:
- .
- .P
- .PD 0
- .RS
- .
- .TPx
- .ExecFF Text I CB e1 >? e2
- The maximum of
- .I e1
- and
- .IR e2 .
- .
- .TPx
- .ExecFF Text I CB e1 <? e2
- The minimum of
- .I e1
- and
- .IR e2 .
- .
- .TPx
- .ExecFF Text CB I ( c ; e )
- Evaluate
- .I e
- using
- .I c
- as the default scaling indicator.
- .
- .RE
- .PD
- .
- .P
- For details see the groff info file.
- .
- .
- .\" --------------------------------------------------------------------
- .SH CONDITIONS
- .\" --------------------------------------------------------------------
- .
- .B Conditions
- occur in tests raised by the
- .request if ,
- .request ie ,
- and the
- .request while
- requests.
- .
- The following table characterizes the different types of conditions.
- .
- .P
- .PD 0
- .RS
- .
- .TPx
- .I N
- A numerical expression
- .I N
- yields true if its value is greater than\~0.
- .
- .TPx
- .BI ! N
- True if the value of
- .I I
- is\~0.
- .
- .TPx
- .BI ' s1 ' s2 '
- True if string\~\c
- .I s1
- is identical to string\~\c
- .IR s2 .
- .
- .TPx
- .BI !' s1 ' s2 '
- True if string\~\c
- .I s1
- is not identical to string\~\c
- .IR s2 .
- .
- .TPx
- .BI c ch
- True if there is a character\~\c
- .I ch
- available.
- .
- .TPx
- .BI d name
- True if there is a string, macro, diversion, or request called
- .IR name .
- .
- .TPx
- .B e
- Current page number is even.
- .
- .TPx
- .B o
- Current page number is odd.
- .
- .TPx
- .BI m name
- True if there is a color called
- .IR name .
- .
- .TPx
- .B n
- Formatter is
- .BR nroff .
- .
- .TPx
- .BI r reg
- True if there is a register named
- .IR reg .
- .
- .TPx
- .B t
- Formatter is
- .BR troff .
- .
- .TPx
- .BI F font
- True if there exists a font named
- .IR font .
- .
- .TPx
- .BI S style
- True if a style named
- .I style
- has been registered.
- .
- .RE
- .PD
- .
- .
- .\" --------------------------------------------------------------------
- .SH REQUESTS
- .\" --------------------------------------------------------------------
- .
- This section provides a short reference for the predefined requests.
- .
- In groff, request and macro names can be arbitrarily long.
- .
- No bracketing or marking of long names is needed.
- .
- .P
- Most requests take one or more arguments.
- .
- The arguments are separated by space characters (no tabs!); there is
- no inherent limit for their length or number.
- .
- An argument can be enclosed by a pair of double quotes.
- .
- This is very handy if an argument contains space characters, e.g.,
- .RI \[dq] "arg with space" \[dq]
- denotes a single argument.
- .
- .P
- Some requests have optional arguments with a different behaviour.
- .
- Not all of these details are outlined here.
- .
- Refer to the groff info file and
- .BR groff_diff (@MAN7EXT@)
- for all details.
- .
- .P
- In the following request specifications, most argument names were
- chosen to be descriptive.
- .
- Only the following denotations need clarification.
- .
- .P
- .PD 0
- .RS
- .
- .TPx
- .I c
- denotes a single character.
- .
- .TPx
- .I font
- a font either specified as a font name or a font number.
- .
- .TPx
- .I anything
- all characters up to the end of the line or within
- .esc {
- and
- .esc } .
- .
- .TPx
- .I n
- is a numerical expression that evaluates to an integer value.
- .
- .TPx
- .I N
- is an arbitrary numerical expression, signed or unsigned.
- .
- .TPx
- .I \[+-]N
- has three meanings depending on its sign, described below.
- .
- .RE
- .PD
- .
- .P
- If an expression defined as
- .I \[+-]N
- starts with a
- .squoted_char +
- sign the resulting value of the expression will be added to an already
- existing value inherent to the related request, e.g.\& adding to a number
- register.
- .
- If the expression starts with a
- .squoted_char -
- the value of the expression will be subtracted from the request value.
- .
- .P
- Without a sign,
- .I N
- replaces the existing value directly.
- .
- To assign a negative number either prepend\~0 or enclose the negative
- number in parentheses.
- .
- .
- .\" --------------------------------------------------------------------
- .SS "Request Short Reference"
- .\" --------------------------------------------------------------------
- .
- .PD 0
- .
- .REQ .
- Empty line, ignored.
- .
- Useful for structuring documents.
- .
- .REQ .\[rs]\[dq] anything
- Complete line is a comment.
- .
- .REQ .ab string
- Print
- .I string
- on standard error, exit program.
- .
- .REQ .ad
- Begin line adjustment for output lines in current adjust mode.
- .
- .REQ .ad c
- Start line adjustment in mode
- .I c
- (\f[CI]c\f[]\f[CR]\|\^\[eq]\|l,r,b,n\f[]).
- .
- .REQ .af register c
- Assign format
- .I c
- to
- .I register
- (\f[CI]c\f[]\f[CR]\|\^\[eq]\|l,i,I,a,A\f[]).
- .
- .REQ .aln alias register
- Create alias name for
- .IR register .
- .
- .REQ .als alias object
- Create alias name for request, string, macro, or diversion
- .IR object .
- .
- .REQ .am macro
- Append to
- .I macro
- until
- .B ..\&
- is encountered.
- .
- .REQ .am macro end
- Append to
- .I macro
- until
- .request .end
- is called.
- .
- .REQ .am1 macro
- Same as
- .request .am
- but with compatibility mode switched off during macro expansion.
- .
- .REQ .am1 macro end
- Same as
- .request .am
- but with compatibility mode switched off during macro expansion.
- .
- .REQ .ami macro
- Append to a macro whose name is contained in the string register
- .I macro
- until
- .B ..\&
- is encountered.
- .
- .REQ .ami macro end
- Append to a macro indirectly.
- .I macro
- and
- .I end
- are string registers whose contents are interpolated for the macro name
- and the end macro, respectively.
- .
- .REQ .ami1 macro
- Same as
- .request .ami
- but with compatibility mode switched off during macro expansion.
- .
- .REQ .ami1 macro end
- Same as
- .request .ami
- but with compatibility mode switched off during macro expansion.
- .
- .REQ .as stringvar anything
- Append
- .I anything
- to
- .IR stringvar .
- .
- .REQ .as1 stringvar anything
- Same as
- .request .as
- but with compatibility mode switched off during string expansion.
- .
- .REQ .asciify diversion
- Unformat ASCII characters, spaces, and some escape sequences in
- .IR diversion .
- .
- .REQ .backtrace
- Print a backtrace of the input on stderr.
- .
- .REQ .bd font N
- Embolden
- .I font
- by
- .IR N -1
- units.
- .
- .REQ .bd S font N
- Embolden Special Font
- .I S
- when current font is
- .IR font .
- .
- .REQ .blm
- Unset the blank line macro.
- .
- .REQ .blm macro
- Set the blank line macro to
- .IR macro .
- .
- .REQ .box
- End current diversion.
- .
- .REQ .box macro
- Divert to
- .IR macro ,
- omitting a partially filled line.
- .
- .REQ .boxa
- End current diversion.
- .
- .REQ .boxa macro
- Divert and append to
- .IR macro ,
- omitting a partially filled line.
- .
- .REQ .bp
- Eject current page and begin new page.
- .
- .REQ .bp \[+-]N
- Eject current page; next page number
- .IR \[+-]N .
- .
- .REQ .br
- Line break.
- .
- .REQ .brp
- Break and spread output line.
- Same as
- .esc p .
- .
- .REQ .break
- Break out of a while loop.
- .
- .REQ .c2
- Reset no-break control character to
- .dquoted_char ' .
- .
- .REQ .c2 c
- Set no-break control character to
- .IR c .
- .
- .REQ .cc
- Reset control character to
- .squoted_char . .
- .
- .REQ .cc c
- Set control character to
- .IR c .
- .
- .REQ .ce
- Center the next input line.
- .
- .REQ .ce N
- Center following
- .I N
- input lines.
- .
- .REQ .cf filename
- Copy contents of file
- .I filename
- unprocessed to stdout or to the diversion.
- .
- .REQ .cflags mode c1 c2 .\|.\|.\&
- Treat characters
- .IR c1 ,
- .IR c2 ,
- .I .\|.\|.\&
- according to
- .I mode
- number.
- .
- .REQ .ch trap N
- Change
- .I trap
- location
- to
- .I N .
- .
- .REQ .char c anything
- Define character
- .I c
- as string
- .IR anything .
- .
- .REQ .chop object
- Chop the last character off macro, string, or diversion
- .IR object .
- .
- .REQ .close stream
- Close the
- .IR stream .
- .
- .REQ .color
- Enable colors.
- .
- .REQ .color N
- If
- .I N
- is zero disable colors, otherwise enable them.
- .
- .REQ .composite from to
- Map glyph name
- .I from
- to glyph name
- .I to
- while constructing a composite glyph name.
- .
- .REQ .continue
- Finish the current iteration of a while loop.
- .
- .REQ .cp
- Enable compatibility mode.
- .
- .REQ .cp N
- If
- .I N
- is zero disable compatibility mode, otherwise enable it.
- .
- .REQ .cs font N M
- Set constant character width mode for
- .I font
- to
- .IR N /36
- ems with em
- .IR M .
- .
- .REQ .cu N
- Continuous underline in nroff, like
- .request .ul
- in troff.
- .
- .REQ .da
- End current diversion.
- .
- .REQ .da macro
- Divert and append to
- .IR macro .
- .
- .REQ .de macro
- Define or redefine
- .I macro
- until
- .B ..\&
- is encountered.
- .
- .REQ .de macro end
- Define or redefine
- .I macro
- until
- .request .end
- is called.
- .
- .REQ .de1 macro
- Same as
- .request .de
- but with compatibility mode switched off during macro expansion.
- .
- .REQ .de1 macro end
- Same as
- .request .de
- but with compatibility mode switched off during macro expansion.
- .
- .REQ .defcolor color scheme component
- Define or redefine a color with name
- .IR color .
- .I scheme
- can be
- .BR rgb ,
- .BR cym ,
- .BR cymk ,
- .BR gray ,
- or
- .BR grey .
- .I component
- can be single components specified as fractions in the range 0 to 1
- (default scaling indicator\~\c
- .scaleindicator f ),
- as a string of two-digit hexadecimal color components with a leading
- .BR # ,
- or as a string of four-digit hexadecimal components with two leading
- .BR # .
- The color
- .B default
- can't be redefined.
- .
- .REQ .dei macro
- Define or redefine a macro whose name is contained in the string register
- .I macro
- until
- .B ..\&
- is encountered.
- .
- .REQ .dei macro end
- Define or redefine a macro indirectly.
- .I macro
- and
- .I end
- are string registers whose contents are interpolated for the macro name
- and the end macro, respectively.
- .
- .REQ .dei1 macro
- Same as
- .request .dei
- but with compatibility mode switched off during macro expansion.
- .
- .REQ .dei1 macro end
- Same as
- .request .dei
- but with compatibility mode switched off during macro expansion.
- .
- .REQ .di
- End current diversion.
- .
- .REQ .di macro
- Divert to
- .I macro .
- .
- .REQ .do name
- Interpret
- .request .name
- with compatibility mode disabled.
- .
- .REQ .ds stringvar anything
- Set
- .I stringvar
- to
- .IR anything .
- .
- .REQ .ds1 stringvar anything
- Same as
- .request .ds
- but with compatibility mode switched off during string expansion.
- .
- .REQ .dt N trap
- Set diversion trap to position
- .I N
- (default scaling indicator\~\c
- .scaleindicator v ).
- .
- .REQ .ec
- Reset escape character to
- .squoted_char \[rs] .
- .
- .REQ .ec c
- Set escape character to
- .IR c .
- .
- .REQ .ecr
- Restore escape character saved with
- .request .ecs .
- .
- .REQ .ecs
- Save current escape character.
- .
- .REQ .el anything
- Else part for if-else (\c
- .request ie )
- request.
- .
- .REQ .em macro
- The
- .I macro
- will be run after the end of input.
- .
- .REQ .eo
- Turn off escape character mechanism.
- .
- .REQ .ev
- Switch to previous environment.
- .
- .REQ .ev env
- Push down environment number or name
- .I env
- and switch to it.
- .
- .REQ .evc env
- Copy the contents of environment
- .I env
- to the current environment.
- No pushing or popping.
- .
- .REQ .ex
- Exit from roff processing.
- .
- .REQ .fam
- Return to previous font family.
- .
- .REQ .fam name
- Set the current font family to
- .IR name .
- .
- .REQ .fc
- Disable field mechanism.
- .
- .REQ .fc a
- Set field delimiter to
- .I a
- and pad character to space.
- .
- .REQ .fc a b
- Set field delimiter to
- .I a
- and pad character to
- .IR b .
- .
- .REQ .fchar c anything
- Define fallback character
- .I c
- as string
- .IR anything .
- .
- .REQ .fcolor
- Set fill color to previous fill color.
- .
- .REQ .fcolor c
- Set fill color to
- .IR c .
- .
- .REQ .fi
- Fill output lines.
- .
- .REQ .fl
- Flush output buffer.
- .
- .REQ .fp n font
- Mount
- .I font
- on position
- .IR n .
- .
- .REQ .fp n internal external
- Mount font with long
- .I external
- name to short
- .I internal
- name on position
- .IR n .
- .
- .REQ .fschar f c anything
- Define fallback character
- .I c
- for font
- .I f
- as string
- .IR anything .
- .
- .REQ .fspecial font
- Reset list of special fonts for
- .I font
- to be empty.
- .
- .REQ .fspecial font s1 s2 .\|.\|.\&
- When the current font is
- .IR font ,
- then the fonts
- .IR s1 ,
- .IR s2 ,
- .I .\|.\|.\&
- will be special.
- .
- .REQ .ft
- Return to previous font.
- Same as
- .request \[rs]f[]
- or
- .request \[rs]fP .
- .
- .REQ .ft font
- Change to font name or number
- .IR font ;
- same as
- .esc[] f font
- escape sequence.
- .
- .REQ .ftr font1 font2
- Translate
- .I font1
- to
- .IR font2 .
- .
- .REQ .gcolor
- Set glyph color to previous glyph color.
- .
- .REQ .gcolor c
- Set glyph color to
- .IR c .
- .
- .REQ .hc
- Remove additional hyphenation indicator character.
- .
- .REQ .hc c
- Set up additional hyphenation indicator character\~\c
- .IR c .
- .
- .REQ .hcode c1 code1 c2 code2 .\|.\|.\&
- Set the hyphenation code of character
- .I c1
- to
- .IR code1 ,
- that of
- .I c2
- to
- .IR code2 ,
- etc.
- .
- .REQ .hla lang
- Set the current hyphenation language to
- .IR lang .
- .
- .REQ .hlm n
- Set the maximum number of consecutive hyphenated lines to
- .IR n .
- .
- .REQ .hpf file
- Read hyphenation patterns from
- .IR file .
- .
- .REQ .hpfa file
- Append hyphenation patterns from
- .IR file .
- .
- .REQ .hpfcode file
- Set input mapping for
- .request .hpf .
- .
- .REQ .hw words
- List of
- .I words
- with exceptional hyphenation.
- .
- .REQ .hy N
- Switch to hyphenation mode
- .IR N .
- .
- .REQ .hym n
- Set the hyphenation margin to
- .I n
- (default scaling indicator\~\c
- .scaleindicator m ).
- .
- .REQ .hys n
- Set the hyphenation space to
- .IR n .
- .
- .REQ .ie cond anything
- If
- .I cond
- then
- .I anything
- else goto
- .request .el .
- .
- .REQ .if cond anything
- If
- .I cond
- then
- .IR anything ;
- otherwise do nothing.
- .
- .REQ .ig
- Ignore text until
- .B ..\&
- is encountered.
- .
- .REQ .ig end
- Ignore text until
- .request .end .
- .
- .REQ .in
- Change to previous indent value.
- .
- .REQ .in \[+-]N
- Change indent according to
- .I \[+-]N
- (default scaling indicator\~\c
- .scaleindicator m ).
- .
- .REQ .it N trap
- Set an input-line count trap for the next
- .I N
- lines.
- .
- .REQ .itc N trap
- Same as
- .request .it
- but count lines interrupted with
- .esc c
- as one line.
- .
- .REQ .kern
- Enable pairwise kerning.
- .
- .REQ .kern n
- If
- .I n
- is zero, disable pairwise kerning, otherwise enable it.
- .
- .REQ .lc
- Remove leader repetition character.
- .
- .REQ .lc c
- Set leader repetition character to\~\c
- .IR c .
- .
- .REQ .length register anything
- Write the length of the string
- .I anything
- in
- .IR register .
- .
- .REQ .linetabs
- Enable line-tabs mode (i.e., calculate tab positions relative to output
- line).
- .
- .REQ .linetabs n
- If
- .I n
- is zero, disable line-tabs mode, otherwise enable it.
- .
- .REQ .lf N
- Set input line number to
- .IR N .
- .
- .REQ .lf N file
- Set input line number to
- .I N
- and filename to
- .IR file .
- .
- .REQ .lg N
- Ligature mode on if
- .IR N >0.
- .
- .REQ .ll
- Change to previous line length.
- .
- .REQ .ll \[+-]N
- Set line length according to
- .I \[+-]N
- (default size
- .scalednumber 6.5 i ,
- default scaling indicator\~\c
- .scaleindicator m ).
- .
- .REQ .ls
- Change to the previous value of additional intra-line skip.
- .
- .REQ .ls N
- Set additional intra-line skip value to
- .IR N ,
- i.e.,
- .IR N -1
- blank lines are inserted after each text output line.
- .
- .REQ .lt \[+-]N
- Length of title (default scaling indicator\~\c
- .scaleindicator m ).
- .
- .REQ .mc
- Margin character off.
- .
- .REQ .mc c
- Print character
- .I c
- after each text line at actual distance from right margin.
- .
- .REQ .mc c N
- Set margin character to
- .I c
- and distance to
- .I N
- from right margin (default scaling indicator\~\c
- .scaleindicator m ).
- .
- .REQ .mk register
- Mark current vertical position in
- .IR register .
- .
- .REQ .mso file
- The same as the .so request except that
- .I file
- is searched in the tmac directories.
- .
- .REQ .na
- No output-line adjusting.
- .
- .REQ .ne
- Need a one-line vertical space.
- .
- .REQ .ne N
- Need
- .I N
- vertical space (default scaling indicator\~\c
- .scaleindicator v ).
- .
- .REQ .nf
- No filling or adjusting of output-lines.
- .
- .REQ .nh
- No hyphenation.
- .
- .REQ .nm
- Number mode off.
- .
- .REQ .nm \[+-]N \fR[\fPM \fR[\fPS \fR[\fPI\fR]]]\fP
- In line number mode, set number, multiple, spacing, and indent.
- .
- .REQ .nn
- Do not number next line.
- .
- .REQ .nn N
- Do not number next
- .I N
- lines.
- .
- .REQ .nop anything
- Always execute
- .IR anything .
- .
- .REQ .nr register \[+-]N M
- Define or modify
- .I register
- using
- .I \[+-]N
- with auto-increment
- .IR M .
- .
- .REQ .nroff
- Make the built-in condition
- .B n
- true and
- .B t
- false.
- .
- .REQ .ns
- Turn no-space mode on.
- .
- .REQ .nx
- Immediately jump to end of current file.
- .
- .REQ .nx filename
- Next file.
- .
- .REQ .open stream filename
- Open
- .register filename
- for writing and associate the stream named
- .register stream
- with it.
- .
- .REQ .opena stream filename
- Like
- .request .open
- but append to it.
- .
- .REQ .os
- Output vertical distance that was saved by the
- .request sv
- request.
- .
- .REQ .output string
- Emit
- .I string
- directly to intermediate output, allowing leading whitespace if
- .I string
- starts with
- .character \[dq]
- (which will be stripped off).
- .
- .REQ .pc
- Reset page number character to\~\c
- .squoted_char % .
- .
- .REQ .pc c
- Page number character.
- .
- .REQ .pi program
- Pipe output to
- .I program
- (nroff only).
- .
- .REQ .pl
- Set page length to default
- .scalednumber 11 i .
- The current page length is stored in
- .register .p .
- .
- .REQ .pl \[+-]N
- Change page length to
- .I \[+-]N
- (default scaling indicator\~\c
- .scaleindicator v ).
- .
- .REQ .pm
- Print macro names and sizes (number of blocks of 128 bytes).
- .
- .REQ ".pm t"
- Print only total of sizes of macros (number of 128 bytes blocks).
- .
- .REQ .pn \[+-]N
- Next page number
- .IR N .
- .
- .REQ .pnr
- Print the names and contents of all currently defined number registers
- on stderr.
- .
- .REQ .po
- Change to previous page offset.
- .
- The current page offset is available in
- .register .o .
- .
- .REQ .po \[+-]N
- Page offset
- .IR N .
- .
- .REQ .ps
- Return to previous point-size.
- .REQ .ps \[+-]N
- Point size; same as
- .esc[] s \[+-]N .
- .
- .REQ .psbb filename
- Get the bounding box of a PostScript image
- .IR filename .
- .
- .REQ .pso command
- This behaves like the
- .request so
- request except that input comes from the standard output of
- .IR command .
- .
- .REQ .ptr
- Print the names and positions of all traps (not including input line
- traps and diversion traps) on stderr.
- .
- .REQ .pvs
- Change to previous post-vertical line spacing.
- .
- .REQ .pvs \[+-]N
- Change post-vertical line spacing according to
- .I \[+-]N
- (default scaling indicator\~\c
- .scaleindicator p ).
- .
- .REQ .rchar c1 c2 .\|.\|.\&
- Remove the definitions of characters
- .IR c1 ,
- .IR c2 ,
- .I .\|.\|.\&
- .
- .REQ .rd prompt
- Read insertion.
- .
- .REQ .return
- Return from a macro.
- .
- .REQ .return anything
- Return twice, namely from the macro at the current level and from the macro
- one level higher.
- .
- .REQ .rfschar f c1 c2 .\|.\|.\&
- Remove the definitions of characters
- .IR c1 ,
- .IR c2 ,
- .I .\|.\|.\&
- for font
- .IR f .
- .
- .REQ .rj n
- Right justify the next
- .I n
- input lines.
- .
- .REQ .rm name
- Remove request, macro, or string
- .IR name .
- .
- .REQ .rn old new
- Rename request, macro, or string
- .I old
- to
- .IR new .
- .
- .REQ .rnn reg1 reg2
- Rename register
- .I reg1
- to
- .IR reg2 .
- .
- .REQ .rr register
- Remove
- .IR register .
- .
- .REQ .rs
- Restore spacing; turn no-space mode off.
- .
- .REQ .rt \[+-]N
- Return
- .I (upward only)
- to marked vertical place (default scaling indicator\~\c
- .scaleindicator v ).
- .
- .REQ .schar c anything
- Define global fallback character
- .I c
- as string
- .IR anything .
- .
- .REQ .shc
- Reset soft hyphen character to
- .esc (hy .
- .
- .REQ .shc c
- Set the soft hyphen character to
- .IR c .
- .
- .REQ .shift n
- In a macro, shift the arguments by
- .IR n \~\c
- positions.
- .
- .REQ .sizes s1 s2 .\|.\|.\& sn \fB[0]\fP
- Set available font sizes similar to the
- .B sizes
- command in a
- .B DESC
- file.
- .
- .REQ .so filename
- Include source file.
- .
- .REQ .sp
- Skip one line vertically.
- .
- .REQ .sp N
- Space vertical distance
- .I N
- up or down according to sign of
- .I N
- (default scaling indicator\~\c
- .scaleindicator v ).
- .
- .REQ .special
- Reset global list of special fonts to be empty.
- .
- .REQ .special s1 s2 .\|.\|.\&
- Fonts
- .IR s1 ,
- .IR s2 ,
- etc.\& are special and will be searched for characters not in the
- current font.
- .
- .REQ .spreadwarn
- Toggle the spread warning on and off without changing its value.
- .
- .REQ .spreadwarn limit
- Emit a warning if each space in an output line is widened by
- .I limit
- or more (default scaling indicator\~\c
- .scaleindicator m ).
- .
- .REQ .ss N
- Space-character size set to
- .IR N /12
- of the spacewidth in the current font.
- .
- .REQ .ss N M
- Space-character size set to
- .IR N /12
- and sentence space size set to
- .IR M /12
- of the spacewidth in the current font (\f[CR]\[eq]1/3 em\f[]).
- .
- .REQ .sty n style
- Associate
- .I style
- with font position
- .IR n .
- .
- .REQ .substring xx n1 n2
- Replace the string named
- .I xx
- with the substring defined by the indices
- .I n1
- and
- .IR n2 .
- .
- .REQ .sv
- Save
- .scalednumber 1 v
- of vertical space.
- .
- .REQ .sv N
- Save the vertical distance
- .I N
- for later output with
- .request os
- request.
- .
- .REQ .sy command-line
- Execute program
- .IR command-line .
- .
- .REQ ".ta T" N
- Set tabs after every position that is a multiple of
- .I N
- (default scaling indicator\~\c
- .scaleindicator m ).
- .REQ .ta n1 n2 .\|.\|.\& nn \f[CB]T\f[] r1 r2 .\|.\|.\& rn
- Set tabs at positions
- .IR n1 ,
- .IR n2 ,
- .Text .\|.\|.,
- .IR nn ,
- then set tabs at
- .IR nn + r1 ,
- .IR nn + r2 ,
- .Text .\|.\|.,
- .IR nn + rn ,
- then at
- .IR nn + rn + r1 ,
- .IR nn + rn + r2 ,
- .Text .\|.\|.,
- .IR nn + rn + rn ,
- and so on.
- .
- .\".REQ .tar
- .\"Restore internally saved tab positions.
- .\".
- .\".REQ .tas
- .\"Save tab positions internally.
- .
- .REQ .tc
- Remove tab repition character.
- .REQ .tc c
- Set tab repetition character to\~\c
- .IR c .
- .
- .REQ .ti \[+-]N
- Temporary indent next line (default scaling indicator\~\c
- .scaleindicator m ).
- .
- .REQ .tkf font s1 n1 s2 n2
- Enable track kerning for
- .IR font .
- .
- .REQ .tl \f[CB]\[cq]\f[]left\f[CB]\[cq]\f[]center\f[CB]\[cq]\f[]right\f[CB]\[cq]\f[]
- Three-part title.
- .
- .REQ .tm anything
- Print
- .I anything
- on terminal (UNIX standard message output).
- .
- .REQ .tm1 anything
- Print
- .I anything
- on terminal (UNIX standard message output), allowing leading
- whitespace if
- .I anything
- starts with
- .character \[dq]
- (which will be stripped off).
- .
- .REQ .tmc anything
- Similar to
- .request .tm1
- without emitting a final newline.
- .
- .REQ .tr abcd.\|.\|.\&
- Translate
- .I a
- to
- .IR b ,
- .I c
- to
- .IR d ,
- etc.\& on output.
- .
- .REQ .trf filename
- Transparently output the contents of file
- .IR filename .
- .
- .REQ .trin abcd.\|.\|.\&
- This is the same as the
- .request tr
- request except that the
- .B asciify
- request will use the character code (if any) before the character
- translation.
- .
- .REQ .trnt abcd.\|.\|.\&
- This is the same as the
- .request tr
- request except that the translations do not apply to text that is
- transparently throughput into a diversion with
- .esc ! .
- .
- .REQ .troff
- Make the built-in condition
- .B t
- true and
- .B n
- false.
- .
- .REQ .uf font
- Underline font set to
- .I font
- (to be switched to by
- .request .ul ).
- .
- .REQ .ul N
- Underline (italicize in troff)
- .I N
- input lines.
- .
- .REQ .unformat diversion
- Unformat space characters and tabs, preserving font information in
- .IR diversion .
- .REQ .vpt n
- Enable vertical position traps if
- .I n
- is non-zero, disable them otherwise.
- .
- .REQ .vs
- Change to previous vertical base line spacing.
- .
- .REQ .vs \[+-]N
- Set vertical base line spacing according to
- .I \[+-]N
- (default scaling indicator\~\c
- .scaleindicator p ).
- Default value is
- .scalednumber 12 p .
- .
- .REQ .warn n
- Set warnings code to
- .IR n .
- .
- .REQ .warnscale si
- Set scaling indicator used in warnings to
- .IR si .
- .
- .REQ .wh N
- Remove (first) trap at position
- .IR N .
- .
- .REQ .wh N trap
- Set location trap; negative means from page bottom.
- .
- .REQ .while cond anything
- While condition
- .I cond
- is true, accept
- .I anything
- as input.
- .
- .REQ .write stream anything
- Write
- .I anything
- to the stream named
- .IR stream .
- .
- .REQ .writec stream anything
- Similar to
- .request .write
- without emitting a final newline.
- .
- .REQ .writem stream xx
- Write contents of macro or string
- .I xx
- to the stream named
- .IR stream .
- .
- .PD
- .
- .P
- Besides these standard groff requests, there might be further macro
- calls.
- They can originate from a macro package (see
- .BR roff (@MAN7EXT@)
- for an overview) or from a preprocessor.
- .
- .P
- Preprocessor macros are easy to be recognized.
- .
- They enclose their code into a pair of characteristic macros.
- .
- .P
- .TS
- box, center, tab (@);
- c | c | c
- CfCB | CfCB | CfCB.
- preprocessor@start macro@ end macro
- =
- eqn@.PS@.PE
- grap@.G1@.G2
- grn@.GS@.GE
- pic@.PS@.PE
- refer@.R1@.R2
- soelim@\f[I]none@\f[I]none
- tbl@.TS@.TE
- .TE
- .P
- .
- .
- .\" --------------------------------------------------------------------
- .SH "ESCAPE SEQUENCES"
- .\" --------------------------------------------------------------------
- .
- Escape sequences are in-line language elements usually introduced by a
- backslash
- .squoted_char \[rs]
- and followed by an escape name and sometimes by a required argument.
- .
- Input processing is continued directly after the escaped character or
- the argument resp.\& without an intervening separation character.
- .
- So there must be a way to determine the end of the escape name and the
- end of the argument.
- .
- .P
- This is done by enclosing names (escape name and arguments consisting
- of a variable name) by a pair of brackets
- .BI \[lB] name \[rB]
- and constant arguments (number expressions and characters) by
- apostrophes (ASCII 0x27) like
- .BI \[cq] constant \[cq] \f[R].
- .
- .P
- There are abbreviations for short names.
- .
- Two character escape names can be specified by an opening parenthesis
- like
- .esc ( xy
- without a closing counterpart.
- .
- And all one-character names different from the special characters
- .squoted_char [
- and
- .squoted_char (
- can even be specified without a marker in the form
- .esc c .
- .
- .P
- Constant arguments of length\~1 can omit the marker apostrophes, too,
- but there is no two-character analogue.
- .
- .P
- While 1-character escape sequences are mainly used for in-line
- functions and system related tasks, the 2-letter names following the
- .esc (
- construct are used for special characters predefined by the roff system.
- .
- Escapes sequences with names of more than two characters
- .esc[] "" name
- denote user defined named characters (see the
- .request char
- request).
- .
- .
- .\" --------------------------------------------------------------------
- .SS "Single Character Escapes"
- .\" --------------------------------------------------------------------
- .
- .PD 0
- .
- .\" --------- comments ---------
- .
- .ESC \[dq]
- Beginning of a comment.
- .
- Everything up to the end of the line is ignored.
- .
- .ESC #
- Everything up to and including the next newline is ignored.
- .
- This is interpreted in copy mode.
- .
- This is like
- .esc \[dq]
- except that the terminating newline is ignored as well.
- .
- .\" --------- strings ---------
- .
- .ESC *\f[I]s\f[]
- The string stored in the string variable with 1-character name
- .IR s .
- .
- .ESC *(\f[I]st\f[]
- The string stored in the string variable with 2-character name
- .IR st .
- .
- .ESC[] * "stringvar arg1 arg2 .\|.\|."
- The string stored in the string variable with arbitrary length name
- .IR stringvar ,
- taking
- .IR arg1 ,
- .IR arg2 ,
- .I .\|.\|.\&
- as arguments.
- .
- .\" --------- macro arguments ---------
- .
- .ESC $0
- The name by which the current macro was invoked.
- .
- The
- .request als
- request can make a macro have more than one name.
- .
- .ESC $ x
- Macro or string argument with 1-place number
- .IR x ,
- where
- .I x
- is a digit between 1 and 9.
- .
- .ESC $( xy
- Macro or string argument with 2-digit number
- .IR xy .
- .
- .ESC[] $ nexp
- Macro or string argument with number
- .IR nexp ,
- where
- .I nexp
- is a numerical expression evaluating to an integer \[>=]1.
- .
- .ESC $*
- In a macro or string, the concatenation of all the arguments separated
- by spaces.
- .
- .ESC $@
- In a macro or string, the concatenation of all the arguments with each
- surrounded by double quotes, and separated by spaces.
- .
- .\" --------- escaped characters ---------
- .
- .ESC \[rs]
- reduces to a single backslash; useful to delay its interpretation as
- escape character in copy mode.
- .
- For a printable backslash, use
- .esc e ,
- or even better
- .esc [rs] ,
- to be independent from the current escape character.
- .
- .ESC \[cq]
- The acute accent \[aa]; same as
- .esc (aa .
- Unescaped: apostrophe, right quotation mark, single quote (ASCII 0x27).
- .
- .ESC `
- The grave accent \[ga]; same as
- .esc (ga .
- Unescaped: left quote, backquote (ASCII 0x60).
- .
- .ESC \-
- The \- sign in the current font.
- .
- .ESC .
- An uninterpreted dot (period), even at start of line.
- .
- .ESC %
- Default optional hyphenation character.
- .
- .ESC !
- Transparent line indicator.
- .
- .ESC? anything
- In a diversion, this will transparently embed
- .I anything
- in the diversion.
- .I anything
- is read in copy mode.
- .
- See also the escape sequences
- .esc !
- and
- .esc ? .
- .
- .
- .\" --------- spacing ---------
- .
- .ESC \& space
- Unpaddable space-size space character (no line break).
- .
- .ESC 0
- Digit width.
- .
- .ESC |
- 1/6\ em narrow space character; zero width in nroff.
- .
- .ESC ^
- 1/12\ em half-narrow space character; zero width in nroff.
- .
- .ESC &
- Non-printable, zero width character.
- .
- .ESC )
- Like
- .esc &
- except that it behaves like a character declared with the cflags
- request to be transparent for the purposes of end of sentence
- recognition.
- .
- .ESC /
- Increases the width of the preceding character so that the spacing
- between that character and the following character will be correct if
- the following character is a roman character.
- .
- .ESC ,
- Modifies the spacing of the following character so that the spacing
- between that character and the preceding character will correct if the
- preceding character is a roman character.
- .
- .ESC ~
- Unbreakable space that stretches like a normal inter-word space when a
- line is adjusted.
- .
- .ESC :
- Inserts a zero-width break point (similar to
- .esc %
- but without a soft hyphen character).
- .
- .ESC "" newline
- Ignored newline, for continuation lines.
- .
- .\" --------- structuring ---------
- .
- .ESC {
- Begin conditional input.
- .
- .ESC }
- End conditional input.
- .
- .\" --------- longer escape names ---------
- .
- .ESC ( sc
- The special character with 2-character name
- .IR sc ,
- see section
- .BR "Special Characters" .
- .
- .ESC[] "" name
- The named character (or rather glyph) with arbitrary length name
- .IR name .
- .
- .ESC[] "" "comp1 comp2 .\|.\|."
- A composite glyph with components
- .IR comp1 ,
- .IR comp2 ,
- .I .\|.\|.
- .
- .\" --------- alphabetical escapes ---------
- .
- .ESC a
- Non-interpreted leader character.
- .
- .ESCq A anything
- If
- .I anything
- is acceptable as a name of a string, macro, diversion, register,
- environment or font it expands to\~1, and to\~0 otherwise.
- .
- .ESCq b abc.\|.\|.\&
- Bracket building function.
- .
- .ESCq B anything
- If
- .I anything
- is acceptable as a valid numeric expression it expands to\~1, and
- to\~0 otherwise.
- .
- .ESC c
- Interrupt text processing.
- .
- .ESCq C char
- The character called
- .IR char ;
- same as
- .esc[] "" char ,
- but compatible to other roff versions.
- .
- .ESC d
- Forward (down) 1/2 em vertical unit (1/2 line in nroff).
- .
- .ESCq D charseq
- Draw a graphical element defined by the characters in
- .IR charseq ;
- see groff info file for details.
- .
- .ESC e
- Printable version of the current escape character.
- .
- .ESC E
- Equivalent to an escape character, but is not interpreted in copy-mode.
- .
- .ESC f F
- Change to font with 1-character name or 1-digit number
- .IR F .
- .
- .ESC fP
- Switch back to previous font.
- .
- .ESC f( fo
- Change to font with 2-character name or 2-digit number
- .IR fo .
- .
- .ESC[] f font
- Change to font with arbitrary length name or number expression
- .IR font .
- .
- .ESC[] f ""
- Switch back to previous font.
- .
- .ESC F f
- Change to font family with 1-character name
- .IR f .
- .
- .ESC F( fm
- Change to font family with 2-character name
- .IR fm .
- .
- .ESC[] F fam
- Change to font family with arbitrary length name
- .IR fam .
- .
- .ESC[] F ""
- Switch back to previous font family.
- .
- .ESC[] g reg
- Return format of register with name
- .I reg
- suitable for
- .request .af .
- .
- Alternative forms
- .escarg g( xy
- and
- .escarg g x .
- .
- .ESCq h N
- Local horizontal motion; move right
- .I N
- (left if negative).
- .
- .ESCq H N
- Set height of current font to
- .IR N .
- .
- .ESC[] k reg
- Mark horizontal input place in register with arbitrary length name
- .IR reg .
- Alternative forms
- .escarg k( xy
- and
- .escarg k x .
- .
- .ESCq l Nc
- Horizontal line drawing function (optionally using character
- .IR c ).
- .
- .ESCq L Nc
- Vertical line drawing function (optionally using character
- .IR c ).
- .
- .ESC[] m color
- Change to color
- .IR color .
- .
- Alternative forms
- .escarg m( co
- and
- .escarg m c .
- .
- .ESC[] m ""
- Switch back to previous color.
- .
- .ESC[] M color
- Change filling color for closed drawn objects to color
- .IR color .
- .
- Alternative forms
- .escarg M( co
- and
- .escarg M c .
- .
- .ESC[] M ""
- Switch to previous fill color.
- .
- .ESC n r
- The numerical value stored in the register variable with the
- 1-character name
- .IR r .
- .
- .ESC n( re
- The numerical value stored in the register variable with the
- 2-character name
- .IR re .
- .
- .ESC[] n reg
- The numerical value stored in the register variable with arbitrary
- length name
- .IR reg .
- .
- .ESCq N n
- Typeset the character with code
- .I n
- in the current font, no special fonts are searched.
- .
- Useful for adding characters to a font using the
- .request char
- request.
- .
- .ESCq o abc.\|.\|.\&
- Overstrike characters
- .IR a ,
- .IR b ,
- .IR c ,
- etc.
- .
- .ESC O 0
- Disable glyph output.
- .
- Mainly for internal use.
- .
- .ESC O 1
- Enable glyph output.
- .
- Mainly for internal use.
- .
- .ESC p
- Break and spread output line.
- .
- .ESC r
- Reverse 1\ em vertical motion (reverse line in nroff).
- .
- .ESCq R "name\~\[+-]n"
- The same as
- .request .nr
- .I name
- .IR \[+-]n .
- .
- .ESC[] s \[+-]N
- Set the point size to
- .I N
- scaled points.
- .
- Note the alternative forms
- .BI \[rs]s \[+-] [ N ]\c
- ,
- .BI \[rs]s' \[+-]N '\c
- .Text ,
- .BI \[rs]s \[+-] ' N '\c
- .Text ,
- .escarg s( \[+-]xy\c
- .Text ,
- .BI \[rs]s \[+-] ( xy\c
- .Text ,
- .escarg s \[+-]x .
- Same as
- .request ps
- request.
- .
- .ESCq S N
- Slant output
- .I N
- degrees.
- .
- .ESC t
- Non-interpreted horizontal tab.
- .
- .ESC u
- Reverse (up) 1/2 em vertical motion (1/2 line in nroff).
- .
- .ESCq v N
- Local vertical motion; move down
- .I N
- (up if negative).
- .
- .ESC[] V env
- The contents of the environment variable
- .IR env .
- .
- Alternative forms
- .escarg V( xy
- and
- .escarg V x .
- .
- .ESCq w string
- The width of the character sequence
- .IR string .
- .
- .ESCq x N
- Extra line-space function (negative before, positive after).
- .
- .ESCq X string
- Output
- .I string
- as device control function.
- .
- .ESC[] Y name
- Output string variable or macro
- .I name
- uninterpreted as device control function.
- .
- Alternative forms
- .escarg Y( xy
- and
- .escarg Y x .
- .
- .ESC z c
- Print
- .I c
- with zero width (without spacing).
- .
- .ESCq Z anything
- Print
- .I anything
- and then restore the horizontal and vertical position;
- .I anything
- may not contain tabs or leaders.
- .
- .PD
- .P
- The escape sequences
- .esc e ,
- .esc . ,
- .esc \[dq] ,
- .esc $ ,
- .esc * ,
- .esc a ,
- .esc n ,
- .esc t ,
- .esc g ,
- and
- .escarg \& newline
- are interpreted in copy mode.
- .
- .P
- Escape sequences starting with
- .esc (
- or
- .esc [
- do not represent single character escape sequences, but introduce escape
- names with two or more characters.
- .
- .P
- If a backslash is followed by a character that does not constitute a
- defined escape sequence the backslash is silently ignored and the
- character maps to itself.
- .
- .
- .\" --------------------------------------------------------------------
- .SS "Special Characters"
- .\" --------------------------------------------------------------------
- .
- Common special characters are predefined by escape sequences of the
- form
- .BI \[rs]( xy
- with characters
- .I x
- and
- .IR y .
- .
- Some of these exist in the usual font while most of them are only
- available in the special font.
- .
- Below you'll find a selection of the most important glyphs; a complete
- list can be found in
- .BR groff_char (@MAN7EXT@).
- .RS
- .P
- .PD 0
- .
- .ESC (bu
- Bullet sign
- .ESC (co
- Copyright
- .ESC (ct
- Cent
- .ESC (dd
- Double dagger
- .ESC (de
- Degree
- .ESC (dg
- Dagger
- .ESC (rs
- Printable double quote
- .ESC (em
- Em-dash
- .ESC (hy
- Hyphen
- .ESC (rg
- Registered sign
- .ESC (rs
- Printable backslash character
- .ESC (sc
- Section sign
- .ESC (ul
- Underline character
- .ESC (==
- Identical
- .ESC (>=
- Larger or equal
- .ESC (<=
- Less or equal
- .ESC (!=
- Not equal
- .ESC (->
- Right arrow
- .ESC (<-
- Left arrow
- .ESC (+-
- Plus-minus sign
- .PD
- .RE
- .
- .
- .\" --------------------------------------------------------------------
- .SS "Strings"
- .\" --------------------------------------------------------------------
- .
- Strings are defined by the
- .request ds
- request and can be retrieved by the
- .esc *
- escape sequence.
- .
- .P
- Strings share their name space with macros.
- .
- So strings and macros without arguments are roughly equivalent; it is
- possible to call a string like a macro and vice-versa, but this often
- leads to unpredictable results.
- .
- The following strings are predefined in groff.
- .
- .STRING .T
- The name of the current output device as specified by the
- .option -T
- command line option.
- .
- .
- .\" --------------------------------------------------------------------
- .SH REGISTERS
- .\" --------------------------------------------------------------------
- .
- Registers are variables that store a value.
- In groff, most registers store numerical values (see section
- .B NUMERICAL EXPRESSIONS
- above), but some can also hold a string value.
- .
- .P
- Each register is given a name.
- Arbitrary registers can be defined and set with the request
- .request nr
- .IR register .
- .
- .P
- The value stored in a register can be retrieved by the escape sequences
- introduced by
- .esc n .
- .
- .P
- Most useful are predefined registers.
- .
- In the following the notation
- .I name
- is used to refer to a register called
- .register name
- to make clear that we speak about registers.
- .
- Please keep in mind that the
- .esc[] n ""
- decoration is not part of the register name.
- .
- .
- .\" --------------------------------------------------------------------
- .SS "Read-only Registers"
- .\" --------------------------------------------------------------------
- .
- The following registers have predefined values that should not be
- modified by the user (usually, registers starting with a dot a
- read-only).
- .
- Mostly, they provide information on the current settings or store
- results from request calls.
- .
- .P
- .PD 0
- .
- .REG .$
- Number of arguments in the current macro or string.
- .
- .REG .a
- Post-line extra line-space most recently utilized using
- .escq x N .
- .
- .REG .A
- Set to\~1 in
- .B troff
- if option
- .B \-A
- is used; always\~1 in
- .BR nroff .
- .
- .REG .c
- Current input line number.
- .
- .REG .C
- 1\~if compatibility mode is in effect, 0\~otherwise.
- .
- .REG .cdp
- The depth of the last character added to the current environment.
- It is positive if the character extends below the baseline.
- .
- .REG .ce
- The number of lines remaining to be centered, as set by the
- .request ce
- request.
- .
- .REG .cht
- The height of the last character added to the current environment.
- It is positive if the character extends above the baseline.
- .
- .REG .color
- 1\~if colors are enabled, 0\~otherwise.
- .
- .REG .csk
- The skew of the last character added to the current environment.
- The skew of a character is how far to the right of the center of a character
- the center of an accent over that character should be placed.
- .
- .REG .d
- Current vertical place in current diversion; equal to
- .register nl .
- .
- .REG .ev
- The name or number of the current environment (string-valued).
- .
- .REG .f
- Current font number.
- .
- .REG .fam
- The current font family (string-valued).
- .
- .REG .fn
- The current (internal) real font name (string-valued).
- .
- .REG .fp
- The number of the next free font position.
- .
- .REG .g
- Always 1 in GNU troff.
- .
- Macros should use it to test if running under groff.
- .
- .REG .h
- Text base-line high-water mark on current page or diversion.
- .
- .REG .H
- Available horizontal resolution in basic units.
- .
- .REG .height
- The current font height as set with
- .request \[rs]H .
- .
- .REG .hla
- The current hyphenation language as set by the
- .B .hla
- request.
- .
- .REG .hlc
- The number of immediately preceding consecutive hyphenated lines.
- .
- .REG .hlm
- The maximum allowed number of consecutive hyphenated lines, as set by
- the
- .request hlm
- request.
- .
- .REG .hy
- The current hyphenation flags (as set by the
- .request hy
- request).
- .
- .REG .hym
- The current hyphenation margin (as set by the
- .request hym
- request).
- .
- .REG .hys
- The current hyphenation space (as set by the
- .request hys
- request).
- .
- .REG .i
- Current ident.
- .
- .REG .in
- The indent that applies to the current output line.
- .
- .REG .int
- Positive if last output line contains
- .esc c .
- .
- .REG .kern
- 1\~if pairwise kerning is enabled, 0\~otherwise.
- .
- .REG .l
- Current line length.
- .
- .REG .lg
- The current ligature mode (as set by the
- .request lg
- request).
- .
- .REG .linetabs
- The current line-tabs mode (as set by the
- .request linetabs
- request).
- .
- .REG .ll
- The line length that applies to the current output line.
- .
- .REG .lt
- The title length (as set by the
- .request lt
- request).
- .
- .REG .m
- The current drawing color (string-valued).
- .
- .REG .M
- The current background color (string-valued).
- .
- .REG .n
- Length of text portion on previous output line.
- .
- .REG .ne
- The amount of space that was needed in the last
- .request ne
- request that caused a trap to be sprung.
- .
- Useful in conjunction with
- .register .trunc .
- .
- .REG .ns
- 1\~if in no-space mode, 0\~otherwise.
- .
- .REG .o
- Current page offset.
- .
- .REG .p
- Current page length.
- .
- .REG .pe
- 1\~during page ejection, 0\~otherwise.
- .
- .REG .pn
- The number of the next page: either the value set by a
- .request pn
- request, or the number of the current page plus\ 1.
- .
- .REG .ps
- The current pointsize in scaled points.
- .
- .REG .psr
- The last-requested pointsize in scaled points.
- .
- .REG .pvs
- The current post-vertical line spacing.
- .
- .REG .rj
- The number of lines to be right-justified as set by the rj request.
- .
- .REG .s
- Current point size as a decimal fraction.
- .
- .REG .slant
- The slant of the current font as set with
- .request \[rs]S .
- .
- .REG .sr
- The last requested pointsize in points as a decimal fraction
- (string-valued).
- .
- .REG .ss
- The value of the parameters set by the first argument of the
- .request ss
- request.
- .
- .REG .sss
- The value of the parameters set by the second argument of the
- .request ss
- request.
- .
- .REG .sty
- The current font style (string-valued).
- .
- .REG .t
- Distance to the next trap.
- .
- .REG .T
- Set to\~1
- if option
- .B \-T
- is used.
- .
- .REG .tabs
- A string representation of the current tab settings suitable for use
- as an argument to the
- .request ta
- request.
- .
- .REG .trunc
- The amount of vertical space truncated by the most recently sprung
- vertical position trap, or, if the trap was sprung by a
- .request ne
- request, minus the amount of vertical motion produced by
- .request .ne .
- .
- In other words, at the point a trap is sprung, it represents
- the difference of what the vertical position would have been but for
- the trap, and what the vertical position actually is.
- .
- Useful in conjunction with the
- .register .ne .
- .
- .REG .u
- Equal to 1 in fill mode and 0 in nofill mode.
- .
- .REG .U
- Equal to 1 in safer mode and 0 in unsafe mode.
- .
- .REG .v
- Current vertical line spacing.
- .
- .REG .V
- Available vertical resolution in basic units.
- .
- .REG .vpt
- 1\~ if vertical position traps are enabled, 0\~otherwise.
- .
- .REG .w
- Width of previous character.
- .
- .REG .warn
- The sum of the number codes of the currently enabled warnings.
- .
- .REG .x
- The major version number.
- .
- .REG .y
- The minor version number.
- .
- .REG .Y
- The revision number of groff.
- .
- .REG .z
- Name of current diversion.
- .PD
- .
- .
- .\" --------------------------------------------------------------------
- .SS "Writable Registers"
- .\" --------------------------------------------------------------------
- .
- The following registers can be read and written by the user.
- They have predefined default values, but these can be modified for
- customizing a document.
- .
- .P
- .PD 0
- .REG %
- Current page number.
- .
- .REG c.
- Current input line number.
- .
- .REG ct
- Character type (set by width function
- .esc w ).
- .
- .REG dl
- Maximal width of last completed diversion.
- .
- .REG dn
- Height of last completed diversion.
- .
- .REG dw
- Current day of week (1-7).
- .
- .REG dy
- Current day of month (1-31).
- .
- .REG hours
- The number of hours past midnight.
- .
- Initialized at start-up.
- .
- .REG hp
- Current horizontal position at input line.
- .
- .REG llx
- Lower left x-coordinate (in PostScript units) of a given PostScript
- image (set by
- .request .psbb ).
- .
- .REG lly
- Lower left y-coordinate (in PostScript units) of a given PostScript
- image (set by
- .request .psbb ).
- .
- .REG ln
- Output line number.
- .
- .REG minutes
- The number of minutes after the hour.
- .
- Initialized at start-up.
- .
- .REG mo
- Current month (1-12).
- .
- .REG nl
- Vertical position of last printed text base-line.
- .
- .REG rsb
- Like
- .register sb ,
- but takes account of the heights and depths of characters.
- .
- .REG rst
- Like
- .register st ,
- but takes account of the heights and depths of characters.
- .
- .REG sb
- Depth of string below base line (generated by width function
- .esc w ).
- .
- .REG seconds
- The number of seconds after the minute.
- .
- Initialized at start-up.
- .
- .REG skw
- Right skip width from the center of the last character in the
- .esc w
- argument.
- .
- .REG slimit
- If greater than 0, the maximum number of objects on the input stack.
- .
- If \[<=]0 there is no limit, i.e., recursion can continue until virtual
- memory is exhausted.
- .
- .REG ssc
- The amount of horizontal space (possibly negative) that should be
- added to the last character before a subscript (generated by width
- function
- .esc w ).
- .
- .REG st
- Height of string above base line (generated by width function
- .esc w ).
- .
- .REG systat
- The return value of the
- .I system()
- function executed by the last
- .request sy
- request.
- .
- .REG urx
- Upper right x-coordinate (in PostScript units) of a given PostScript
- image (set by
- .request .psbb ).
- .
- .REG ury
- Upper right y-coordinate (in PostScript units) of a given PostScript
- image (set by
- .request .psbb ).
- .
- .REG year
- The current year (year 2000 compliant).
- .
- .REG yr
- Current year minus 1900.
- .
- For Y2K compliance use
- .register year
- instead.
- .
- .PD
- .
- .
- .\" --------------------------------------------------------------------
- .SH COMPATIBILITY
- .\" --------------------------------------------------------------------
- .
- The differences of the groff language in comparison to classical troff
- as defined by
- .I [CSTR\~#54]
- are documented in
- .BR groff_diff (@MAN7EXT@).
- .
- .P
- The groff system provides a compatibility mode, see
- .BR groff (@MAN1EXT@)
- on how to invoke this.
- .
- .
- .\" --------------------------------------------------------------------
- .SH BUGS
- .\" --------------------------------------------------------------------
- .
- Report bugs to the
- .MTO bug-groff@gnu.org "groff bug mailing list" .
- Include a complete, self-contained example that will allow the bug to
- be reproduced, and say which version of groff you are using.
- .
- .
- .\" --------------------------------------------------------------------
- .SH AUTHORS
- .\" --------------------------------------------------------------------
- .
- Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005
- Free Software Foundation, Inc.
- .
- .P
- This document is distributed under the terms of the FDL (GNU Free
- Documentation License) version 1.1 or later.
- .
- You should have received a copy of the FDL on your system, it is also
- available on-line at the
- .URL http://\:www.gnu.org/\:copyleft/\:fdl.html "GNU copyleft site" .
- .
- .P
- This document is part of
- .IR groff ,
- the GNU roff distribution.
- .
- It was written by
- .MTO bwarken@mayn.de "Bernd Warken" ;
- it is maintained by
- .MTO wl@gnu.org "Werner Lemberg" .
- .
- .
- .\" --------------------------------------------------------------------
- .SH "SEE ALSO"
- .\" --------------------------------------------------------------------
- .
- .P
- The main source of information for the groff language is the
- .B groff
- .BR info (1)
- file.
- .
- Besides the gory details, it contains many examples.
- .
- .TP
- .BR groff (@MAN1EXT@)
- the usage of the groff program and pointers to the documentation and
- availability of the groff system.
- .
- .TP
- .BR groff_diff (@MAN7EXT@)
- the differences of the groff language as compared to classical roff.
- .
- This is the authoritative document for the predefined language
- elements that are specific to groff.
- .
- .TP
- .BR groff_char (@MAN7EXT@)
- the predefined groff characters (glyphs).
- .
- .TP
- .BR groff_font (@MAN5EXT@)
- the specification of fonts and the DESC file.
- .
- .TP
- .BR roff (@MAN7EXT@)
- the history of roff, the common parts shared by all roff systems, and
- pointers to further documentation.
- .
- .TP
- .I [CSTR\~#54]
- .URL http://\:cm.bell-labs.com/\:cm/\:cs/\:54.ps \
- "Nroff/\:Troff User's Manual by Osanna & Kernighan"
- \[em] the bible for classical troff.
- .
- .cp \n[groff_C]
- .
- .\" --------------------------------------------------------------------
- .\" Emacs Setup
- .\" --------------------------------------------------------------------
- .
- .\" Local Variables:
- .\" mode: nroff
- .\" End: