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.