troff man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]

TROFF(1)						 TROFF(1)

NAME
       troff - format documents

SYNOPSIS
       troff [ -abivzCERU ] [ -wname ] [ -Wname ] [ -dcs ]
	     [ -ffam ] [ -mname ] [ -nnum ] [ -olist ] [ -rcn ]
	     [ -Tname ] [ -Fdir ] [ -Mdir ] [ files... ]

       It  is  possible to have whitespace between a command line
       option and its parameter.

DESCRIPTION
       This manual page describes the GNU version of troff, which
       is  part	 of  the groff document formatting system.  It is
       highly compatible with UNIX troff.  Usually it  should  be
       invoked	using the groff command, which will also run pre
       processors and postprocessors in the appropriate order and
       with the appropriate options.

OPTIONS
       -a	 Generate  an  ASCII approximation of the typeset
		 output.

       -b	 Print a backtrace with	 each  warning	or  error
		 message.   This backtrace should help track down
		 the cause of the error.  The line numbers  given
		 in  the  backtrace  may  not  always be correct:
		 troff's idea of line numbers gets confused by as
		 or am requests.

       -i	 Read  the  standard  input  after  all the named
		 input files have been processed.

       -v	 Print the version number.

       -wname	 Enable warning	 name.	 Available  warnings  are
		 described  in	the  Warnings  subsection  below.
		 Multiple -w options are allowed.

       -Wname	 Inhibit warning name.	Multiple -W  options  are
		 allowed.

       -E	 Inhibit all error messages.

       -z	 Suppress formatted output.

       -C	 Enable compatibility mode.

       -dcs
       -dname=s	 Define	 c  or name to be a string s; c must be a
		 one letter name.

       -ffam	 Use fam as the default font family.

       -mname	 Read in the file name.tmac.  If it isn't  found,
		 try   tmac.name   instead.   It  will	be  first
		 searched for in directories given  with  the  -M
		 command  line	option, then in directories given
		 in  the  GROFF_TMAC_PATH  environment	variable,
		 then in the current directory (only if in unsafe
		 mode),	  the	 home	 directory,    /usr/free
		 ware/lib/groff/site-tmac,
		 /usr/freeware/share/groff/site-tmac,	      and
		 /usr/freeware/share/groff/1.17.2/tmac.

       -U	 Unsafe	 mode.	 This  will  enable the following
		 requests: .open, .opena,  .pso,  .sy,	and  .pi.
		 For  security reasons, these potentially danger
		 ous requests are disabled  otherwise.	 It  will
		 also  add  the	 current  directory  to the macro
		 search path.

       -R	 Don't load troffrc and troffrc-end.

       -nnum	 Number the first page num.

       -olist	 Output only pages in list, which is a comma-sep
		 arated	 list  of page ranges; n means print page
		 n, m-n means print every page between m  and  n,
		 -n  means  print  every  page	up to n, n- means
		 print every page from n.  Troff will exit  after
		 printing the last page in the list.

       -rcn
       -rname=n	 Set  number register c or name to n; c must be a
		 one character name; n can be any  troff  numeric
		 expression.

       -Tname	 Prepare  output for device name, rather than the
		 default ps.

       -Fdir	 Search in directory (or directory path) dir  for
		 subdirectories	 devname (name is the name of the
		 device) and there for the  DESC  file	and  font
		 files.	  dir  is  scanned  before all other font
		 directories.

       -Mdir	 Search directory (or  directory  path)	 dir  for
		 macro	files.	 This is scanned before all other
		 macro directories.

USAGE
       Only the features not in UNIX troff are described here.

   Long names
       The     names	 of	number	   registers,	   fonts,
       strings/macros/diversions,  special  characters	can be of
       any length. In escape sequences, where you can use (xx for
       a  two  character  name,	 you  can use [xxx] for a name of
       arbitrary length:

       \[xxx] Print the special character called xxx.

       \f[xxx]
	      Set font xxx.

       \*[xxx]
	      Interpolate string xxx.

       \n[xxx]
	      Interpolate number register xxx.

   Fractional pointsizes
       A scaled point  is  equal  to  1/sizescale  points,  where
       sizescale  is  specified	 in the DESC file (1 by default).
       There is a new scale indicator z which has the  effect  of
       multiplying  by	sizescale.  Requests and escape sequences
       in troff interpret arguments that represent a pointsize as
       being  in  units	 of scaled points, but they evaluate each
       such argument using a default scale indicator of z.  Argu
       ments  treated  in  this	 way  are  the argument to the ps
       request, the third argument to the cs request, the  second
       and  fourth  arguments to the tkf request, the argument to
       the \H escape sequence,	and  those  variants  of  the  \s
       escape  sequence	 that  take a numeric expression as their
       argument.

       For example, suppose sizescale  is  1000;  then	a  scaled
       point  will be equivalent to a millipoint; the request .ps
       10.25 is equivalent to .ps 10.25z and so sets  the  point
       size  to	 10250	scaled	points,	 which	is equal to 10.25
       points.

       The number register \n[.s] returns the pointsize in points
       as  decimal fraction.  There is also a new number register
       \n[.ps] that returns the pointsize in scaled points.

       It would make no sense to use the z scale indicator  in	a
       numeric	expression whose default scale indicator was nei
       ther u nor z, and so troff disallows this.   Similarly  it
       would  make no sense to use a scaling indicator other than
       z or u in a numeric expression whose default scale indica
       tor was z, and so troff disallows this as well.

       There  is  also	new scale indicator s which multiplies by
       the number of units in a scaled point.  So,  for	 example,
       \n[.ps]s is equal to 1m.	 Be sure not to confuse the s and
       z scale indicators.

   Numeric expressions
       Spaces are permitted in a number expression within  paren
       theses.

       M indicates a scale of 100ths of an em.

       e1>?e2 The maximum of e1 and e2.

       e1<?e2 The minimum of e1 and e2.

       (c;e)  Evaluate	e  using c as the default scaling indica
	      tor.  If c is missing, ignore scaling indicators in
	      the evaluation of e.

   New escape sequences
       \A'anything'
	      This  expands to 1 or 0 according as anything is or
	      is not acceptable as the name of a  string,  macro,
	      diversion,  number  register,  environment or font.
	      It will return 0 if anything  is	empty.	 This  is
	      useful  if  you  want  to lookup user input in some
	      sort of associative table.

       \B'anything'
	      This expands to 1 or 0 according as anything is  or
	      is  not a valid numeric expression.  It will return
	      0 if anything is empty.

       \C'xxx'
	      Typeset character named xxx.  Normally it	 is  more
	      convenient to use \[xxx].	 But \C has the advantage
	      that it is compatible with recent versions of  UNIX
	      and is available in compatibility mode.

       \E     This is equivalent to an escape character, but it's
	      not interpreted in copy-mode.  For example, strings
	      to  start	 and  end superscripting could be defined
	      like this:

		     .ds { \v'-.3m'\s'\En[.s]*6u/10u'
		     .ds } \s0\v'.3m'

	      The use of \E ensures that these	definitions  will
	      work even if \*{ gets interpreted in copy-mode (for
	      example, by being used in a macro argument).

       \N'n'  Typeset the character with code n	 in  the  current
	      font.   n	 can  be  any integer.	Most devices only
	      have characters with codes between 0 and	255.   If
	      the  current font does not contain a character with
	      that code, special fonts will not be searched.  The
	      \N escape sequence can be conveniently used on con
	      junction with the char request:

		     .char \[phone] \f(ZD\N'37'

	      The code of each character is given in  the  fourth
	      column  in  the  font  description  file	after the
	      charset command.	It is possible to include unnamed
	      characters  in the font description file by using a
	      name of ---; the \N escape sequence is the only way
	      to use these.

       \R'name n'
	      This has the same effect as

		     .nr name n

       \s(nn
       \(nn Set the point size to nn points; nn must be exactly
	      two digits.

       \sn]
       \[n]
       \sn'
       \'n' Set the point size to  n  scaled  points;  n  is  a
	      numeric  expression  with a default scale indicator
	      of z.

       \Vx
       \V(xx
       \V[xxx]
	      Interpolate the contents of the  environment  vari
	      able  xxx,  as returned by getenv(3).  \V is inter
	      preted in copy-mode.

       \Yx
       \Y(xx
       \Y[xxx]
	      This is approximately  equivalent	 to  \X'\*[xxx]'.
	      However the contents of the string or macro xxx are
	      not interpreted; also it is permitted  for  xxx  to
	      have  been defined as a macro and thus contain new
	      lines (it is not permitted for the argument  to  \X
	      to  contain  newlines).	The inclusion of newlines
	      requires an extension to the UNIX troff output for
	      mat,  and	 will  confuse	drivers	 that do not know
	      about this extension.

       \Z'anything'
	      Print anything and then restore the horizontal  and
	      vertical position; anything may not contain tabs or
	      leaders.

       \$0    The name by which the current  macro  was	 invoked.
	      The als request can make a macro have more than one
	      name.

       \$*    In a macro, the concatenation of all the	arguments
	      separated by spaces.

       \$@    In  a macro, the concatenation of all the arguments
	      with each surrounded by double  quotes,  and  sepa
	      rated by spaces.

       \$(nn
       \$[nnn]
	      In  a  macro,  this gives the nn-th or nnn-th argu
	      ment.  Macros can have an unlimited number of argu
	      ments.

       \?anything\?
	      When  used  in a diversion, this will transparently
	      embed anything in the diversion.	anything is  read
	      in  copy	mode.  When the diversion is reread, any_
	      thing will be interpreted.  anything may	not  con
	      tain newlines; use \! if you want to embed newlines
	      in a diversion.  The escape  sequence  \?	 is  also
	      recognised  in  copy  mode and turned into a single
	      internal code; it is this code that terminates any_
	      thing.  Thus
		     .nr x 1
		     .nf
		     .di d
		     \?\\?\\\\?\\\\\\\\nx\\\\?\\?\?
		     .di
		     .nr x 2
		     .di e
		     .d
		     .di
		     .nr x 3
		     .di f
		     .e
		     .di
		     .nr x 4
		     .f

	      will print 4.

       \/     This increases the width of the preceding character
	      so that the spacing between that character and  the
	      following	 character will be correct if the follow
	      ing character is a roman character.   For	 example,
	      if  an  italic f is immediately followed by a roman
	      right parenthesis, then in many fonts the top right
	      portion  of  the f will overlap the top left of the
	      right parenthesis	 producing  f),	 which	is  ugly.
	      Inserting	 \/  produces f) and avoids this problem.
	      It is a good idea to use this escape sequence when
	      ever an italic character is immediately followed by
	      a roman character without any intervening space.

       \,     This modifies the spacing of the following  charac
	      ter  so that the spacing between that character and
	      the preceding character will correct if the preced
	      ing  character  is a roman character.  For example,
	      inserting \, between  the	 parenthesis  and  the	f
	      changes  (f  to  (f.  It is a good idea to use this
	      escape sequence whenever a roman character is imme
	      diately followed by an italic character without any
	      intervening space.

       \)     Like \& except that it  behaves  like  a	character
	      declared	with the cflags request to be transparent
	      for the purposes of end of sentence recognition.

       \~     This produces an unbreakable space  that	stretches
	      like  a  normal  inter-word  space  when	a line is
	      adjusted.

       \:     This causes the insertion	 of  a	zero-width  break
	      point.   It is equal to \% but without insertion of
	      a soft hyphen character.

       \#     Everything up to and including the next newline  is
	      ignored.	 This  is interpreted in copy mode.  This
	      is like \" except that \" does not ignore the  ter
	      minating newline.

   New requests
       .aln xx yy
	      Create an alias xx for number register object named
	      yy.  The new name and the old name will be  exactly
	      equivalent.   If yy is undefined, a warning of type
	      reg will be generated,  and  the	request	 will  be
	      ignored.

       .als xx yy
	      Create  an  alias xx for request, string, macro, or
	      diversion object named yy.  The new  name	 and  the
	      old  name will be exactly equivalent (it is similar
	      to a hard rather than a soft link).  If yy is unde
	      fined, a warning of type mac will be generated, and
	      the request will be ignored.  The de, am,	 di,  da,
	      ds, and as requests only create a new object if the
	      name of the macro, diversion or string diversion is
	      currently	 undefined  or	if  it is defined to be a
	      request; normally	 they  modify  the  value  of  an
	      existing object.

       .am1 xx yy
	      Similar  to .am, but compatibility mode is switched
	      off during execution.  On entry, the  current  com
	      patibility mode is saved and restored at exit.

       .asciify xx
	      This request `unformats' the diversion xx in such a
	      way that	ASCII  and  space  characters  (and  some
	      escape  sequences) that were formatted and diverted
	      into xx will be treated like ordinary input charac
	      ters  when  xx is reread.	 Useful for diversions in
	      conjunction with the .writem request.   It  can  be
	      also used for gross hacks; for example, this

		     .tr @.
		     .di x
		     @nr n 1
		     .br
		     .di
		     .tr @@
		     .asciify x
		     .x

	      will set register n to 1.	 Note that glyph informa
	      tion (font, font size, etc.) is not preserved;  use
	      .unformat instead.

       .backtrace
	      Print a backtrace of the input stack on stderr.

       .blm xx
	      Set  the	blank  line  macro  to xx.  If there is a
	      blank line macro, it will be invoked when	 a  blank
	      line  is	encountered  instead  of  the usual troff
	      behaviour.

       .box xx
       .boxa xx
	      These  requests  are  similar  to	 the  di  and  da
	      requests with the exception that a partially filled
	      line will not become part of the	diversion  (i.e.,
	      the  diversion  always  starts with a new line) but
	      restored after ending the diversion, discarding the
	      partially filled line which possibly comes from the
	      diversion.

       .break Break out of a while loop.  See also the while  and
	      continue	requests.   Be	sure  not to confuse this
	      with the br request.

       .brp   This is the same as \p.

       .cflags n c1 c2...
	      Characters c1, c2,...  have  properties  determined
	      by n, which is ORed from the following:

	      1	     the   character  ends  sentences  (initially
		     characters .?! have this property);

	      2	     lines can be  broken  before  the	character
		     (initially	 no  characters	 have  this prop
		     erty); a line will not be broken at a  char
		     acter  with this property unless the charac
		     ters on each side both have non-zero hyphen
		     ation codes.

	      4	     lines  can	 be  broken  after  the character
		     (initially characters  -\(hy\(em  have  this
		     property);	 a  line  will not be broken at a
		     character	with  this  property  unless  the
		     characters	 on  each side both have non-zero
		     hyphenation codes.

	      8	     the character  overlaps  horizontally  (ini
		     tially  characters	 \(ul\(rn\(ru  have  this
		     property);

	      16     the character overlaps vertically (initially
		     character \(br has this property);

	      32     an end of sentence character followed by any
		     number of characters with this property will
		     be	 treated as the end of a sentence if fol
		     lowed by a newline or two spaces;	in  other
		     words  the	 character is transparent for the
		     purposes of  end  of  sentence  recognition;
		     this is the same as having a zero space fac
		     tor    in	  TeX	 (initially    characters
		     "')]*\(dg\(rq have this property).

       .char c string
	      Define  character c to be string.	 Every time char
	      acter c needs to be printed, string  will	 be  pro
	      cessed  in  a  temporary environment and the result
	      will be wrapped up into a single object.	 Compati
	      bility mode will be turned off and the escape char
	      acter will be set to \ while string is  being  pro
	      cessed.  Any emboldening, constant spacing or track
	      kerning will be applied to this object rather  than
	      to  individual  characters  in string.  A character
	      defined by this request can be  used  just  like	a
	      normal character provided by the output device.  In
	      particular other characters can be translated to it
	      with  the	 tr  request;  it  can be made the leader
	      character by the lc request; repeated patterns  can
	      be  drawn	 with  the  character using the \l and \L
	      escape sequences; words  containing  the	character
	      can  be  hyphenated correctly, if the hcode request
	      is used to give the character a  hyphenation  code.
	      There  is	 a special anti-recursion feature: use of
	      character within the character's definition will be
	      handled  like  normal  characters	 not defined with
	      char.  A character definition can be  removed  with
	      the rchar request.

       .chop xx
	      Chop  the	 last  character  off  macro,  string, or
	      diversion xx.  This is useful for removing the new
	      line  from  the  end  of	diversions that are to be
	      interpolated as strings.

       .close stream
	      Close the	 stream	 named	stream;	 stream	 will  no
	      longer  be  an  acceptable  argument  to	the write
	      request.	See the open request.

       .continue
	      Finish the current iteration of a while loop.   See
	      also the while and break requests.

       .cp n  If  n  is non-zero or missing, enable compatibility
	      mode, otherwise disable it.  In compatibility mode,
	      long  names  are not recognised, and the incompati
	      bilities caused by long names do not arise.

       .dei xx yy
	      Define macro indirectly.	The following example

		     .ds xx aa
		     .ds yy bb
		     .dei xx yy

	      is equivalent to

		     .de aa bb

       .de1 xx yy
	      Similar to .de, but compatibility mode is	 switched
	      off  during  execution.  On entry, the current com
	      patibility mode is saved and restored at exit.

       .do xxx
	      Interpret .xxx with  compatibility  mode	disabled.
	      For example,

		     .do fam T

	      would have the same effect as

		     .fam T

	      except  that  it	would  work even if compatibility
	      mode had been enabled.  Note that the previous com
	      patibility   mode	 is  restored  before  any  files
	      sourced by xxx are interpreted.

       .ecs   Save current escape character.

       .ecr   Restore escape character saved with ecs.	Without a
	      previous	call  to  ecs, `\' will be the new escape
	      character.

       .evc xx
	      Copy the contents of environment xx to the  current
	      environment.   No pushing or popping of environents
	      will be done.

       .fam xx
	      Set the current font family  to  xx.   The  current
	      font family is part of the current environment.  If
	      xx is missing, switch back to previous font family.
	      See  the	description  of	 the sty request for more
	      information on font families.

       .fspecial f s1 s2...
	      When the current font is f, fonts s1, s2,...   will
	      be special, that is, they will searched for charac
	      ters not in the current font.  Any fonts	specified
	      in the special request will be searched after fonts
	      specified in the fspecial request.

       .ftr f g
	      Translate font f to g.  Whenever a font named f  is
	      referred	to  in	\f escape sequence, or in the ft,
	      ul, bd, cs, tkf,	special,  fspecial,  fp,  or  sty
	      requests, font g will be used.  If g is missing, or
	      equal to f then font f will not be translated.

       .hcode c1 code1 c2 code2...
	      Set the hyphenation code of character c1	to  code1
	      and  that	 of c2 to code2.  A hyphenation code must
	      be a single input character (not a special  charac
	      ter) other than a digit or a space.  Initially each
	      lower-case letter has a hyphenation code, which  is
	      itself,  and  each  upper-case letter has a hyphen
	      ation code which	is  the	 lower	case  version  of
	      itself.  See also the hpf request.

       .hla lang
	      Set  the	current	 hyphenation  language	to  lang.
	      Hyphenation  exceptions  specified  with	 the   hw
	      request and hyphenation patterns specified with the
	      hpf request are both associated  with  the  current
	      hyphenation  language.   The hla request is usually
	      invoked by the troffrc file.

       .hlm n Set the maximum number  of  consecutive  hyphenated
	      lines to n.  If n is negative, there is no maximum.
	      The default value is -1.	This value is  associated
	      with  the	 current  environment.	Only lines output
	      from  an	environment  count  towards  the  maximum
	      associated  with that environment.  Hyphens result
	      ing from \% are counted; explicit hyphens are  not.

       .hpf file
	      Read  hyphenation	 patterns from file; this will be
	      searched for in the  same	 way  that  name.tmac  is
	      searched	for  when the -mname option is specified.
	      It should have the same format as the  argument  to
	      the \patterns primitive in TeX; the letters appear
	      ing in this file	are  interpreted  as  hyphenation
	      codes.   A  % character in the patterns file intro
	      duces a comment that continues to the  end  of  the
	      line.   The  set of hyphenation patterns is associ
	      ated with the  current  language	set  by	 the  hla
	      request.	The hpf request is usually invoked by the
	      troffrc file.

       .hym n Set the hyphenation margin to n: when  the  current
	      adjustment  mode	is  not	 b,  the line will not be
	      hyphenated if the line is no  more  than	n  short.
	      The  default  hyphenation margin is 0.  The default
	      scaling indicator	 for  this  request  is	 m.   The
	      hyphenation  margin  is associated with the current
	      environment.  The	 current  hyphenation  margin  is
	      available in the \n[.hym] register.

       .hys n Set  the	hyphenation  space to n: when the current
	      adjustment mode is b don't hyphenate  the	 line  if
	      the  line can be justified by adding no more than n
	      extra  space  to	each  word  space.   The  default
	      hyphenation  space is 0.	The default scaling indi
	      cator for this request is m.  The hyphenation space
	      is  associated  with  the current environment.  The
	      current  hyphenation  space  is  available  in  the
	      \n[.hys] register.

       .kern n
	      If  n is non-zero or missing, enable pairwise kern
	      ing, otherwise disable it.

       .length xx string
	      Compute the length of string and return it  in  the
	      number   register	 xx  (which  is	 not  necessarily
	      defined before).

       .linetabs n
	      If n is non-zero or missing, enable line-tabs mode,
	      otherwise	 disable  it  (which is the default).  In
	      line-tabs mode, tab distances are computed relative
	      to  the  (current) output line.  Otherwise they are
	      taken relative to the input line.	 For example, the
	      following

		     .ds x a\t\c
		     .ds y b\t\c
		     .ds z c
		     .ta 1i 3i
		     \*x
		     \*y
		     \*z

	      yields

		     a	       b	 c

	      In line-tabs mode, the same code gives

		     a	       b		   c

	      Line-tabs mode is associated with the current envi
	      ronment;	  the	 read-only    number	 register
	      \n[.linetabs] is set to 1 if in line-tabs mode, and
	      0 otherwise.

       .mso file
	      The same as the so  request  except  that	 file  is
	      searched for in the same directories as macro files
	      for the the -m command line option.   If	the  file
	      name  to	be included has the form name.tmac and it
	      isn't found, mso tries to include tmac.name instead
	      and vice versa.

       .nop anything
	      Execute anything.	 This is similar to `.if 1'.

       .nroff Make the n built-in condition true and the t built-
	      in condition false.  This can be reversed using the
	      troff request.

       .open stream filename
	      Open  filename for writing and associate the stream
	      named stream with it.  See also the close and write
	      requests.

       .opena stream filename
	      Like  open,  but	if  filename exists, append to it
	      instead of truncating it.

       .pnr   Print the	 names	and  contents  of  all	currently
	      defined number registers on stderr.

       .psbb filename
	      Get  the	bounding  box of a PostScript image file_
	      name.  This file must conform to	Adobe's	 Document
	      Structuring  Conventions;	 the  command looks for a
	      %%BoundingBox comment to extract the  bounding  box
	      values.	After  a successful call, the coordinates
	      (in PostScript units) of the lower left  and  upper
	      right corner can be found in the registers \n[llx],
	      \n[lly], \n[urx], and  \n[ury],  respectively.   If
	      some error has occurred, the four registers are set
	      to zero.

       .pso command
	      This behaves like the so request except that  input
	      comes from the standard output of command.

       .ptr   Print  the  names	 and  positions of all traps (not
	      including input line traps and diversion traps)  on
	      stderr.	Empty  slots  in  the  page trap list are
	      printed as well, because they can affect the prior
	      ity of subsequently planted traps.

       .rchar c1 c2...
	      Remove  the  definitions	of  characters c1, c2,...
	      This undoes the effect of a char request.

       .return
	      Within a macro, return immediately.  No effect oth
	      erwise.

       .rj
       .rj n  Right  justify  the next n input lines.  Without an
	      argument right justify the next  input  line.   The
	      number  of lines to be right justified is available
	      in the  \n[.rj]  register.   This	 implicitly  does
	      .ce 0.  The ce request implicitly does .rj 0.

       .rnn xx yy
	      Rename number register xx to yy.

       .shc c Set  the soft hyphen character to c.  If c is omit
	      ted, the soft hyphen character will be set  to  the
	      default  \(hy.   The  soft  hyphen character is the
	      character which will be inserted	when  a	 word  is
	      hyphenated  at  a	 line  break.  If the soft hyphen
	      character does not exist in the font of the charac
	      ter  immediately preceding a potential break point,
	      then the line will not be	 broken	 at  that  point.
	      Neither	definitions   (specified  with	the  char
	      request) nor translations (specified  with  the  tr
	      request)	are  considered	 when  finding	the  soft
	      hyphen character.

       .shift n
	      In a macro, shift the  arguments	by  n  positions:
	      argument	i  becomes argument i-n; arguments 1 to n
	      will no longer be	 available.   If  n  is	 missing,
	      arguments	 will be shifted by 1.	Shifting by nega
	      tive amounts is currently undefined.

       .special s1 s2...
	      Fonts s1, s2, are special and will be searched  for
	      characters not in the current font.

       .sty n f
	      Associate	 style	f  with	 font position n.  A font
	      position can be associated either with  a	 font  or
	      with  a  style.  The current font is the index of a
	      font position and so is also either  a  font  or	a
	      style.   When it is a style, the font that is actu
	      ally used is the font the name of which is the con
	      catenation  of  the  name of the current family and
	      the name of the current style.  For example, if the
	      current font is 1 and font position 1 is associated
	      with style R and the current font family is T, then
	      font TR will be used.  If the current font is not a
	      style, then the current family  is  ignored.   When
	      the  requests  cs,  bd,  tkf,  uf,  or fspecial are
	      applied to a  style,  then  they	will  instead  be
	      applied  to the member of the current family corre
	      sponding to that style.  The default family can  be
	      set  with the -f option.	The styles command in the
	      DESC file controls which font  positions	(if  any)
	      are  initially  associated  with styles rather than
	      fonts.

       .substring xx n1 [n2]
	      Replace the string in register  xx  with	the  sub
	      string defined by the indices n1 and n2.	The first
	      character in the string has index one.   If  n2  is
	      omitted,	it  is	taken to be equal to the string's
	      length.  If the index value n1 or n2 is negative or
	      zero,  it	 will  be  counted  from  the  end of the
	      string, going backwards:	The  last  character  has
	      index  0,	 the  character before the last character
	      has index -1, etc.

       .tkf f s1 n1 s2 n2
	      Enable track kerning for font f.	When the  current
	      font  is	f  the	width  of every character will be
	      increased by an amount between n1 and n2; when  the
	      current  point size is less than or equal to s1 the
	      width will be increased by n1; when it  is  greater
	      than  or equal to s2 the width will be increased by
	      n2; when the point size is greater than or equal to
	      s1  and  less  than  or equal to s2 the increase in
	      width is a linear function of the point size.

       .tm1 string
	      Similar to the tm request, string is read	 in  copy
	      mode and written on the standard error, but an ini
	      tial double quote in  string  is	stripped  off  to
	      allow initial blanks.

       .tmc string
	      Similar to tm1 but without writing a final newline.

       .trf filename
	      Transparently output the contents of file filename.
	      Each line is output as it would be were it preceded
	      by \!; however, the lines are not subject to  copy-
	      mode interpretation.  If the file does not end with
	      a newline, then a newline will be added.	For exam
	      ple,  you	 can define a macro x containing the con
	      tents of file f, using

		     .di x
		     .trf f
		     .di

	      Unlike with the cf request, the file cannot contain
	      characters  such	as  NUL	 that are not legal troff
	      input characters.

       .trnt abcd
	      This is the same as the tr request except that  the
	      translations do not apply to text that is transpar
	      ently throughput into a  diversion  with	\!.   For
	      example,

		     .tr ab
		     .di x
		     \!.tm a
		     .di
		     .x

	      will print b; if trnt is used instead of tr it will
	      print a.

       .troff Make the n built-in  condition  false,  and  the	t
	      built-in condition true.	This undoes the effect of
	      the nroff request.

       .unformat xx
	      This request `unformats' the  diversion  xx.   Con
	      trary  to the .asciify request, which tries to con
	      vert formatted elements of the  diversion	 back  to
	      input  tokens  as	 much as possible, .unformat will
	      only handle tabs and spaces between words	 (usually
	      caused  by  spaces  or  newlines in the input) spe
	      cially.  The former are treated  as  if  they  were
	      input tokens, and the latter are stretchable again.
	      Note  that  the  vertical	 size  of  lines  is  not
	      preserved.   Glyph  information  (font,  font size,
	      space width, etc.) is retained.  Useful in conjunc
	      tion with the .box and .boxa requests.

       .vpt n Enable  vertical	position  traps if n is non-zero,
	      disable them otherwise.	Vertical  position  traps
	      are  traps set by the wh or dt requests.	Traps set
	      by the it request are not vertical position  traps.
	      The  parameter that controls whether vertical posi
	      tion traps are enabled is global.	 Initially verti
	      cal position traps are enabled.

       .warn n
	      Control  warnings.   n  is  the  sum of the numbers
	      associated with each warning that is to be enabled;
	      all  other  warnings  will be disabled.  The number
	      associated with  each  warning  is  listed  in  the
	      `Warnings' section.  For example, .warn 0 will dis
	      able all warnings, and .warn  1  will  disable  all
	      warnings	except that about missing characters.  If
	      n is not given, all warnings will be enabled.

       .while c anything
	      While condition  c  is  true,  accept  anything  as
	      input;  c	 can be any condition acceptable to an if
	      request; anything can comprise  multiple	lines  if
	      the  first  line	starts	with \{ and the last line
	      ends with \}.  See  also	the  break  and	 continue
	      requests.

       .write stream anything
	      Write  anything to the stream named stream.  stream
	      must previously have been the subject  of	 an  open
	      request.	 anything is read in copy mode; a leading
	      " will be stripped.

       .writem stream xx
	      Write the contents of the macro or string xx to the
	      stream  named  stream.  stream must previously have
	      been the subject of an open request.  xx is read in
	      copy mode.

   Extended requests
       .cf filename
	      When  used  in  a diversion, this will embed in the
	      diversion an object which, when reread, will  cause
	      the contents of filename to be transparently copied
	      through to the output.  In UNIX troff, the contents
	      of  filename  is	immediately copied through to the
	      output regardless of whether  there  is  a  current
	      diversion;  this	behaviour is so anomalous that it
	      must be considered a bug.

       .ev xx If xx is not a number, this will switch to a  named
	      environment  called  xx.	The environment should be
	      popped with a matching ev request without any argu
	      ments, just as for numbered environments.	 There is
	      no limit on the number of named environments;  they
	      will be created the first time that they are refer
	      enced.

       .fp n f1 f2
	      The fp request  has  an  optional	 third	argument.
	      This  argument gives the external name of the font,
	      which is used  for  finding  the	font  description
	      file.   The second argument gives the internal name
	      of the font which is used to refer to the	 font  in
	      troff  after  it	has been mounted.  If there is no
	      third argument then the internal name will be  used
	      as  the  external name.  This feature allows you to
	      use fonts with long names in compatibility mode.

       .ss m n
	      When two arguments are given to the ss request, the
	      second  argument gives the sentence space size.  If
	      the second argument  is  not  given,  the	 sentence
	      space size will be the same as the word space size.
	      Like the word space size, the sentence space is  in
	      units  of	 one  twelfth of the spacewidth parameter
	      for the current  font.   Initially  both	the  word
	      space  size  and	the  sentence  space size are 12.
	      Contrary to UNIX	troff,	GNU  troff  handles  this
	      request  in  nroff mode also; a given value is then
	      rounded down to the nearest multiple  of	12.   The
	      sentence	space  size is used in two circumstances:
	      if the end of a sentence occurs at  the  end  of	a
	      line  in	fill  mode, then both an inter-word space
	      and a sentence space will be added; if  two  spaces
	      follow  the  end	of  a sentence in the middle of a
	      line, then the second  space  will  be  a	 sentence
	      space.   Note that the behaviour of UNIX troff will
	      be exactly that exhibited by GNU troff if a  second
	      argument	is never given to the ss request.  In GNU
	      troff, as in UNIX troff, you should always follow a
	      sentence with either a newline or two spaces.

       .ta n1 n2...nn T r1 r2...rn
	      Set  tabs	 at positions n1, n2,..., nn and then set
	      tabs  at	nn+r1,	nn+r2,....,  nn+rn  and	 then  at
	      nn+rn+r1,	 nn+rn+r2,...,	nn+rn+rn, and so on.  For
	      example,

		     .ta T .5i

	      will set tabs every half an inch.

   New number registers
       The following read-only registers are available:

       \n[.C] 1 if compatibility mode is in effect, 0  otherwise.

       \n[.cdp]
	      The  depth  of the last character added to the cur
	      rent environment.	 It is positive if the	character
	      extends below the baseline.

       \n[.ce]
	      The  number  of  lines remaining to be centered, as
	      set by the ce request.

       \n[.cht]
	      The height of the last character added to the  cur
	      rent  environment.  It is positive if the character
	      extends above the baseline.

       \n[.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.

       \n[.ev]
	      The name or  number  of  the  current  environment.
	      This is a string-valued register.

       \n[.fam]
	      The  current  font family.  This is a string-valued
	      register.

       \n[.fp]
	      The number of the next free font position.

       \n[.g] Always 1.	 Macros	 should	 use  this  to	determine
	      whether they are running under GNU troff.

       \n[.hla]
	      The  current hyphenation language as set by the hla
	      request.

       \n[.hlc]
	      The number  of  immediately  preceding  consecutive
	      hyphenated lines.

       \n[.hlm]
	      The  maximum  allowed number of consecutive hyphen
	      ated lines, as set by the hlm request.

       \n[.hy]
	      The current hyphenation flags (as	 set  by  the  hy
	      request).

       \n[.hym]
	      The  current  hyphenation margin (as set by the hym
	      request).

       \n[.hys]
	      The current hyphenation space (as set  by	 the  hys
	      request).

       \n[.in]
	      The indent that applies to the current output line.

       \n[.int]
	      Set to a positive value  if  last	 output	 line  is
	      interrupted (i.e., if it contains \c).

       \n[.kern]
	      1 if pairwise kerning is enabled, 0 otherwise.

       \n[.lg]
	      The  current  ligature  mode  (as	 set  by  the  lg
	      request).

       \n[.linetabs]
	      The current line-tabs mode (as set by the	 linetabs
	      request).

       \n[.ll]
	      The  line length that applies to the current output
	      line.

       \n[.lt]
	      The title length as set by the lt request.

       \n[.ne]
	      The amount of space that was needed in the last  ne
	      request that caused a trap to be sprung.	Useful in
	      conjunction with the \n[.trunc] register.

       \n[.ns]
	      1 if no-space mode is active, 0 otherwise.

       \n[.pn]
	      The number of the next page: either the  value  set
	      by  a pn request, or the number of the current page
	      plus 1.

       \n[.ps]
	      The current pointsize in scaled points.

       \n[.psr]
	      The last-requested pointsize in scaled points.

       \n[.rj]
	      The number of lines to be right-justified as set by
	      the rj request.

       \n[.sr]
	      The last requested pointsize in points as a decimal
	      fraction.	 This is a string-valued register.

       \n[.tabs]
	      A string representation of the current tab settings
	      suitable	for use as an argument to the ta request.

       \n[.trunc]
	      The amount of vertical space truncated by the  most
	      recently	sprung vertical position trap, or, if the
	      trap was sprung by a ne request, minus  the  amount
	      of  vertical motion produced by the ne request.  In
	      other words, at the point a trap is sprung, it rep
	      resents  the  difference of what the vertical posi
	      tion would have been but for the trap, and what the
	      vertical	position actually is.  Useful in conjunc
	      tion with the \n[.ne] register.

       \n[.ss]
       \n[.sss]
	      These give the values of the parameters set by  the
	      first and second arguments of the ss request.

       \n[.vpt]
	      1	 if vertical position traps are enabled, 0 other
	      wise.

       \n[.warn]
	      The sum of the numbers associated with each of  the
	      currently	 enabled warnings.  The number associated
	      with each warning is listed in the `Warnings'  sub
	      section.

       \n[.x] The major version number.	 For example, if the ver
	      sion number is 1.03 then \n[.x] will contain 1.

       \n[.y] The minor version number.	 For example, if the ver
	      sion number is 1.03 then \n[.y] will contain 03.

       \n[.Y] The revision number of groff.

       \n[llx]
       \n[lly]
       \n[urx]
       \n[ury]
	      These  four  registers are set by the .psbb request
	      and contain the bounding box values (in  PostScript
	      units) of a given PostScript image.

       The  following  read/write  registers  are  set	by the \w
       escape sequence:

       \n[rst]
       \n[rsb]
	      Like the st and sb registers, but takes account  of
	      the heights and depths of characters.

       \n[ssc]
	      The  amount of horizontal space (possibly negative)
	      that should be added to the last character before a
	      subscript.

       \n[skw]
	      How  far to right of the center of the last charac
	      ter in the \w argument, the  center  of  an  accent
	      from  a roman font should be placed over that char
	      acter.

       Other available read/write number registers are:

       \n[c.] The current input line number.  \n[.c] is	 a  read-
	      only alias to this register.

       \n[hp] The current horizontal position at input line.

       \n[systat]
	      The  return value of the system() function executed
	      by the last sy request.

       \n[slimit]
	      If greater than 0, the maximum number of objects on
	      the input stack.	If less than or equal to 0, there
	      is no limit on the number of objects on  the  input
	      stack.  With no limit, recursion can continue until
	      virtual memory is exhausted.

       \n[year]
	      The current year.	 Note that the traditional  troff
	      number  register	\n[yr]	is the current year minus
	      1900.

   Miscellaneous
       troff predefines a single (read/write) string-based regis
       ter,  \*(.T,  which  contains the argument given to the -T
       command line option, namely the current output device (for
       example, latin1 or ascii).  Note that this is not the same
       as the (read-only) number register \n[.T] which is defined
       to  be 1	 if  troff  is	called	with  the -T command line
       option, and zero otherwise.  This behaviour  is	different
       to UNIX troff.

       Fonts  not  listed  in  the  DESC  file	are automatically
       mounted on the next available font position when they  are
       referenced.   If	 a  font is to be mounted explicitly with
       the fp request on an unused font position,  it  should  be
       mounted	on  the	 first unused font position, which can be
       found in the \n[.fp] register;  although	 troff	does  not
       enforce	this  strictly,	 it  will  not allow a font to be
       mounted at a position whose number is  much  greater  than
       that of any currently used position.

       Interpolating  a	 string	 does  not  hide  existing  macro
       arguments.  Thus in a macro, a more efficient way of doing

	      .xx \\$@

       is

	      \\*[xx]\\

       If  the	font  description  file contains pairwise kerning
       information, characters from that  font	will  be  kerned.
       Kerning between two characters can be inhibited by placing
       a \& between them.

       In a string comparison in  a  condition,	 characters  that
       appear  at  different  input levels to the first delimiter
       character will not be recognised as the	second	or  third
       delimiters.  This applies also to the tl request.  In a \w
       escape sequence, a character that appears at  a	different
       input  level  to the starting delimiter character will not
       be recognised as the closing  delimiter	character.   When
       decoding	 a  macro  argument  that  is delimited by double
       quotes, a character that	 appears  at  a	 different  input
       level  to  the  starting	 delimiter  character will not be
       recognised as the closing delimiter character.  The imple
       mentation  of \$@ ensures that the double quotes surround
       ing an argument will appear the same  input  level,  which
       will  be	 different  to	the  input  level of the argument
       itself.	In a long escape name ] will not be recognized as
       a  closing  delimiter  except  when  it occurs at the same
       input level as the opening ].  In compatibility	mode,  no
       attention is paid to the input-level.

       There are some new types of condition:

       .if rxxx
	      True if there is a number register named xxx.

       .if dxxx
	      True  if	there  is  a string, macro, diversion, or
	      request named xxx.

       .if cch
	      True if there is a character ch  available;  ch  is
	      either  an  ASCII	 character or a special character
	      \(xx or \[xxx]; the condition will also be true  if
	      ch has been defined by the char request.

       The tr request can now map characters onto \~.

   Warnings
       The  warnings  that can be given by troff are divided into
       the following categories.  The name associated  with  each
       warning	is  used  by the -w and -W options; the number is
       used by the warn request, and by the .warn register.

       char	      1	  Non-existent	 characters.	This   is
			  enabled by default.

       number	      2	  Invalid  numeric  expressions.  This is
			  enabled by default.

       break	      4	  In fill mode, lines which could not  be
			  broken  so  that  their length was less
			  than the line length.	 This is  enabled
			  by default.

       delim	      8	  Missing  or  mismatched  closing delim
			  iters.

       el	     16	  Use of the el request with no	 matching
			  ie request.

       scale	     32	  Meaningless scaling indicators.

       range	     64	  Out of range arguments.

       syntax	    128	  Dubious  syntax in numeric expressions.

       di	    256	  Use of di or	da  without  an	 argument
			  when there is no current diversion.

       mac	    512	  Use  of  undefined  strings, macros and
			  diversions.  When an undefined  string,
			  macro or diversion is used, that string
			  is automatically defined as empty.  So,
			  in most cases, at most one warning will
			  be given for each name.

       reg	   1024	  Use  of  undefined  number   registers.
			  When	an  undefined  number register is
			  used, that  register	is  automatically
			  defined  to have a value of 0.  a defi
			  nition is  automatically  made  with	a
			  value of 0.  So, in most cases, at most
			  one warning will be given for use of	a
			  particular name.

       tab	   2048	  Inappropriate	 use  of a tab character.
			  Either use of a tab character	 where	a
			  number  was  expected,  or  use  of tab
			  character in an  unquoted  macro  argu
			  ment.

       right-brace 4096	  Use  of \} where a number was expected.

       missing	   8192	  Requests that are missing  non-optional
			  arguments.

       input	  16384	  Illegal input characters.

       escape	  32768	  Unrecognized escape sequences.  When an
			  unrecognized escape sequence is encoun
			  tered, the escape character is ignored.

       space	  65536	  Missing  space  between  a  request  or
			  macro	 and  its argument.  This warning
			  will be given when  an  undefined  name
			  longer  than	two characters is encoun
			  tered, and the first two characters  of
			  the  name  make  a  defined  name.  The
			  request or macro will not  be	 invoked.
			  When this warning is given, no macro is
			  automatically defined.  This is enabled
			  by  default.	 This  warning will never
			  occur in compatibility mode.

       font	 131072	  Non-existent fonts.  This is enabled by
			  default.

       ig	 262144	  Illegal  escapes  in	text ignored with
			  the ig request.  These  are  conditions
			  that	are errors when they do not occur
			  in ignored text.

       There are also names that can be used to refer  to  groups
       of warnings:

       all    All  warnings  except  di,  mac  and  reg.   It  is
	      intended that this covers	 all  warnings	that  are
	      useful with traditional macro packages.

       w      All warnings.

   Incompatibilities
       Long  names cause some incompatibilities.  UNIX troff will
       interpret

	      .dsabcd

       as defining a string ab with contents cd.   Normally,  GNU
       troff  will  interpret  this  as	 a  call of a macro named
       dsabcd.	Also UNIX troff will interpret \*[ or \n[ as ref
       erences	to  a string or number register called [.  In GNU
       troff, however, this will normally be interpreted  as  the
       start  of  a  long  name.  In compatibility mode GNU troff
       will interpret these things in the  traditional	way.   In
       compatibility  mode,  however,  long  names are not recog
       nised.  Compatibility mode can be turned on  with  the  -C
       command	line  option,  and  turned  on or off with the cp
       request.	 The number register \n[.C] is 1 if compatibility
       mode is on, 0 otherwise.

       GNU  troff  does not allow the use of the escape sequences
       \\|\^\&\}\{\(space)\'\`\-\_\!\%\c  in  names  of	 strings,
       macros,	diversions,  number  registers, fonts or environ
       ments; UNIX troff does.	The \A	escape	sequence  may  be
       helpful	in  avoiding  use  of  these  escape sequences in
       names.

       Fractional pointsizes cause one	noteworthy  incompatibil
       ity.   In  UNIX troff the ps request ignores scale indica
       tors and so

	      .ps 10u

       will set the pointsize to 10 points, whereas in GNU  troff
       it will set the pointsize to 10 scaled points.

       In  GNU	troff  there  is a fundamental difference between
       unformatted, input characters, and formatted, output char
       acters.	 Everything  that affects how an output character
       will be output is stored with the character; once an  out
       put character has been constructed it is unaffected by any
       subsequent requests that are executed, including	 bd,  cs,
       tkf,  tr,  or fp requests.  Normally output characters are
       constructed from input characters at  the  moment  immedi
       ately  before the character is added to the current output
       line.  Macros, diversions and strings are  all,	in  fact,
       the same type of object; they contain lists of input char
       acters and output characters in any combination.	 An  out
       put  character does not behave like an input character for
       the purposes of macro processing; it does not inherit  any
       of  the	special	 properties that the input character from
       which it was constructed might have had.	 For example,

	      .di x
	      \\\\
	      .br
	      .di
	      .x

       will print \\ in GNU troff;  each  pair	of  input  \s  is
       turned  into  one output \ and the resulting output \s are
       not interpreted as escape characters when they are reread.
       UNIX  troff would interpret them as escape characters when
       they were reread and would end up  printing  one	 \.   The
       correct	way  to	 obtain	 a  printable  \ is to use the \e
       escape sequence: this will always print a single	 instance
       of  the current escape character, regardless of whether or
       not it is used in a diversion; it will also work	 in  both
       GNU  troff and UNIX troff.  If you wish for some reason to
       store in a diversion  an	 escape	 sequence  that	 will  be
       interpreted  when  the diversion is reread, you can either
       use the traditional \! transparent output facility, or, if
       this is unsuitable, the new \? escape sequence.

ENVIRONMENT
       GROFF_TMAC_PATH
	      A	 colon	separated list of directories in which to
	      search for macro files.  troff will  scan	 directo
	      ries  given  in  the -M option before these, and in
	      standard	directories  (current  directory  if   in
	      unsafe	mode,	 home	 directory,    /usr/free
	      ware/share/groff/site-tmac,	       /usr/free
	      ware/lib/groff/site-tmac,		       /usr/free
	      ware/share/groff/1.17.2/tmac) after these.

       GROFF_TYPESETTER
	      Default device.

       GROFF_FONT_PATH
	      A colon separated list of directories in	which  to
	      search  for the devname directory.  troff will scan
	      directories given in the -F  option  before  these,
	      and    in	   standard    directories    (/usr/free
	      ware/share/groff/1.17.2/font:/usr/lib/font)   after
	      these.

FILES
       /usr/freeware/share/groff/1.17.2/tmac/troffrc
	      Initialization  file (called before any other macro
	      package).

       /usr/freeware/share/groff/1.17.2/tmac/troffrc-end
	      Initialization file (called after any  other  macro
	      package).

       /usr/freeware/share/groff/1.17.2/tmac/name.tmac
       /usr/freeware/share/groff/1.17.2/tmac/tmac.name
	      Macro files

       /usr/freeware/share/groff/1.17.2/font/devname/DESC
	      Device description file for device name.

       /usr/freeware/share/groff/1.17.2/font/devname/F
	      Font file for font F of device name.

       Note  that troffrc and troffrc-end are neither searched in
       the current nor in the home directory by default for secu
       rity reasons (even if the -U option is given).  Use the -M
       command line option  or	the  GROFF_TMAC_PATH  environment
       variable	 to  add  these directories to the search path if
       necessary.

SEE ALSO
       groff(7) -- This is a short but complete reference of  all
       requests, registers, and escapes.

       groff(1),  tbl(1),  pic(1),  eqn(1),  refer(1), soelim(1),
       grn(1),	grops(1),   grodvi(1),	 grotty(1),   grohtml(1),
       grolj4(1), groff_font(5), groff_out(5), groff_char(7)

Groff Version 1.17.2	   27 June 2001			 TROFF(1)
[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net