groff: if-else
5.20.2 if-else
--------------
'gtroff' has if-then-else constructs like other languages, although the
formatting can be painful.
-- Request: .if expr anything
Evaluate the expression EXPR, and executes ANYTHING (the remainder
of the line) if EXPR evaluates to a value greater than zero (true).
ANYTHING is interpreted as though it was on a line by itself
(except that leading spaces are swallowed). ⇒Operators in
Conditionals, for more info.
.nr xxx 1
.nr yyy 2
.if ((\n[xxx] == 1) & (\n[yyy] == 2)) true
=> true
-- Request: .nop anything
Executes ANYTHING. This is similar to '.if 1'.
-- Request: .ie expr anything
-- Request: .el anything
Use the 'ie' and 'el' requests to write an if-then-else. The first
request is the 'if' part and the latter is the 'else' part.
.ie n .ls 2 \" double-spacing in nroff
.el .ls 1 \" single-spacing in troff
-- Escape: \{
-- Escape: \}
In many cases, an if (or if-else) construct needs to execute more
than one request. This can be done using the escapes '\{' (which
must start the first line) and '\}' (which must end the last line).
.ie t \{\
. ds lq ``
. ds rq ''
.\}
.el \{\
. ds lq ""
. ds rq ""
.\}
⇒Expressions.