groff: Miscellaneous

 
 5.31 Miscellaneous
 ==================
 
 This section documents parts of 'gtroff' that cannot (yet) be
 categorized elsewhere in this manual.
 
  -- Request: .nm [start [inc [space [indent]]]]
      Print line numbers.  START is the line number of the _next_ output
      line.  INC indicates which line numbers are printed.  For example,
      the value 5 means to emit only line numbers that are multiples
      of 5; this defaults to 1.  SPACE is the space to be left between
      the number and the text; this defaults to one digit space.  The
      fourth argument is the indentation of the line numbers, defaulting
      to zero.  Both SPACE and INDENT are given as multiples of digit
      spaces; they can be negative also.  Without any arguments, line
      numbers are turned off.
 
      'gtroff' reserves three digit spaces for the line number (which is
      printed right-justified) plus the amount given by INDENT; the
      output lines are concatenated to the line numbers, separated by
      SPACE, and _without_ reducing the line length.  Depending on the
      value of the horizontal page offset (as set with the 'po' request),
      line numbers that are longer than the reserved space stick out to
      the left, or the whole line is moved to the right.
 
      Parameters corresponding to missing arguments are not changed; any
      non-digit argument (to be more precise, any argument starting with
      a character valid as a delimiter for identifiers) is also treated
      as missing.
 
      If line numbering has been disabled with a call to 'nm' without an
      argument, it can be reactivated with '.nm +0', using the previously
      active line numbering parameters.
 
      The parameters of 'nm' are associated with the current environment
      (SeeEnvironments).  The current output line number is
      available in the number register 'ln'.
 
           .po 1m
           .ll 2i
           This test shows how line numbering works with groff.
           .nm 999
           This test shows how line numbering works with groff.
           .br
           .nm xxx 3 2
           .ll -\w'0'u
           This test shows how line numbering works with groff.
           .nn 2
           This test shows how line numbering works with groff.
 
      And here the result:
 
            This  test shows how
            line numbering works
            999 with   groff.   This
           1000 test shows how  line
           1001 numbering works with
           1002 groff.
                 This test shows how
                 line      numbering
            works  with  groff.
            This test shows how
           1005  line      numbering
                 works with groff.
 
  -- Request: .nn [skip]
      Temporarily turn off line numbering.  The argument is the number of
      lines not to be numbered; this defaults to 1.
 
  -- Request: .mc glyph [dist]
      Miscellaneous-Footnote-1::) The first argument is the glyph to be
      printed.  The second argument is the distance away from the right
      margin.  If missing, the previously set value is used; default is
      10pt).  For text lines that are too long (that is, longer than the
      text length plus DIST), the margin character is directly appended
      to the lines.
 
      With no arguments the margin character is turned off.  If this
      occurs before a break, no margin character is printed.
 
      For compatibility with AT&T 'troff', a call to 'mc' to set the
      margin character can't be undone immediately; at least one line
      gets a margin character.  Thus
 
           .ll 1i
           .mc \[br]
           .mc
           xxx
           .br
           xxx
 
      produces
 
           xxx        |
           xxx
 
      For empty lines and lines produced by the 'tl' request no margin
      character is emitted.
 
      The margin character is associated with the current environment
      (SeeEnvironments).
 
      This is quite useful for indicating text that has changed, and, in
      fact, there are programs available for doing this (they are called
      'nrchbar' and 'changebar' and can be found in any
      'comp.sources.unix' archive).
 
           .ll 3i
           .mc |
           This paragraph is highlighted with a margin
           character.
           .sp
           Note that vertical space isn't marked.
           .br
           \&
           .br
           But we can fake it with `\&'.
 
      Result:
 
           This  paragraph is highlighted |
           with a margin character.       |
 
           Note that vertical space isn't |
           marked.                        |
                                          |
           But we can fake it with `\&'.  |
 
  -- Request: .psbb filename
  -- Register: \n[llx]
  -- Register: \n[lly]
  -- Register: \n[urx]
  -- Register: \n[ury]
      Retrieve the bounding box of the POSTSCRIPT image found in
      FILENAME.  The file must conform to Adobe's "Document Structuring
      Conventions" (DSC); the command searches for a '%%BoundingBox'
      comment and extracts the bounding box values into the number
      registers 'llx', 'lly', 'urx', and 'ury'.  If an error occurs (for
      example, 'psbb' cannot find the '%%BoundingBox' comment), it sets
      the four number registers to zero.
 
      The search path for FILENAME can be controlled with the '-I'
      command line option.