groff: Requests
5.5.1 Requests
--------------
A request line begins with a control character, which is either a single
quote (''', the "no-break control character") or a period ('.', the
normal "control character"). These can be changed; see ⇒Character
Translations, for details. After this there may be optional tabs or
spaces followed by an identifier, which is the name of the request.
This may be followed by any number of space-separated arguments (_no_
tabs here).
Since a control character followed by whitespace only is ignored, it
is common practice to use this feature for structuring the source code
of documents or macro packages.
.de foo
. tm This is foo.
..
.
.
.de bar
. tm This is bar.
..
Another possibility is to use the blank line macro request 'blm' by
assigning an empty macro to it.
.de do-nothing
..
.blm do-nothing \" activate blank line macro
.de foo
. tm This is foo.
..
.de bar
. tm This is bar.
..
.blm \" deactivate blank line macro
⇒Blank Line Traps.
To begin a line with a control character without it being
interpreted, precede it with '\&'. This represents a zero width space,
which means it does not affect the output.
In most cases the period is used as a control character. Several
requests cause a break implicitly; using the single quote control
character prevents this.
-- Register: \n[.br]
A read-only number register, which is set to 1 if a macro is called
with the normal control character (as defined with the 'cc'
request), and set to 0 otherwise.
This allows reliable modification of requests.
.als bp*orig bp
.de bp
. tm before bp
. ie \\n[.br] .bp*orig
. el 'bp*orig
. tm after bp
..
Using this register outside of a macro makes no sense (it always
returns zero in such cases).
If a macro is called as a string (that is, using '\*'), the value
of the '.br' register is inherited from the caller.
Menu