troff - the troff processor of the groff text formatting system


   troff [-abcivzCERU] [-d cs] [-f fam] [-F dir] [-I dir] [-m name]
         [-M dir] [-n num] [-o list] [-r cn] [-T name] [-w name] [-W name]
         [file ...]


   This manual page describes the GNU version of troff.  It is part of the
   groff document formatting system.  It is functionally  compatible  with
   UNIX  troff,  but  has  many extensions, see groff_diff(7).  Usually it
   should be invoked using  the  groff(1)  command  which  will  also  run
   preprocessors  and postprocessors in the appropriate order and with the
   appropriate options.


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

   -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, for troff's idea of line numbers gets confused by as
             or am requests.

   -c        Disable color output (always disabled in compatibility mode).

   -C        Enable compatibility mode.

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

   -E        Inhibit all error messages of troff.  Note that this  doesn't
             affect  messages  output  to standard error by macro packages
             using the tm or tm1 requests.

   -ffam     Use fam as the default font family.

   -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.

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

   -Idir     This option may be used to add a directory to the search path
             for  files (both those on the command line and those named in
             .psbb requests).  The search path  is  initialized  with  the
             current  directory.   This  option may be specified more than
             once;  the  directories  are  then  searched  in  the   order
             specified (but before the current directory).  If you want to
             make the current directory be read before other  directories,
             add -I. at the appropriate place.

             No  directory  search is performed for files with an absolute
             file name.

   -mname    Read in the file name.tmac.  If it isn't found, try
             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/lib/groff/site-tmac,   /usr/share/groff/site-tmac,   and

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

   -nnum     Number the first page num.

   -olist    Output only pages in list, which is a comma-separated 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.

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

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

   -Tname    Prepare output for device name, rather than the  default  ps;
             see groff(1) for a more detailed description.

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

   -v        Print the version number.

   -wname    Enable warning name.  Available warnings are described in the
             section WARNINGS below.  For example, to enable all warnings,
             use -w all.  Multiple -w options are allowed.

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

   -z        Suppress formatted output.


   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; it is always a power of 2 to allow bitwise composition.

            Bit   Code   Warning  Bit    Code       Warning   
              0      1   char      10      1024   reg         
              1      2   number    11      2048   tab         
              2      4   break     12      4096   right-brace 
              3      8   delim     13      8192   missing     
              4     16   el        14     16384   input       
              5     32   scale     15     32768   escape      
              6     64   range     16     65536   space       
              7    128   syntax    17    131072   font        
              8    256   di        18    262144   ig          
              9    512   mac       19    524288   color       
                                   20   1048576   file        
   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.

   char            1   Non-existent   characters.    This  is  enabled  by

   color      524288   Color related warnings.

   delim           8   Missing or mismatched closing delimiters.

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

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

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

   file      1048576   Indicates  a  missing  file  for  the  mso request.
                       Enabled by default.

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

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

   input       16384   Invalid input characters.

   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.

   missing      8192   Requests that are missing non-optional arguments.

   number          2   Invalid numeric expressions.  This  is  enabled  by

   range          64   Out of range arguments.

   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.  So, in
                       most cases, at most one warning will be  given  for
                       use of a particular name.

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

   scale          32   Meaningless scaling indicators.

   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
                       encountered, 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.

   syntax        128   Dubious syntax in numeric expressions.

   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 argument.

   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

   w      All warnings.


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

          Default device.

          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/share/groff/site-font,       /usr/share/groff/1.22.3/font,
          /usr/lib/font) after these.


          Initialization file (called before any other macro package).

          Initialization file (called after any other macro package).

          Macro files

          Device description file for device name.

          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 security 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.


          The main program of the groff system, a wrapper around troff.

          A description of the  groff  language,  including  a  short  but
          complete  reference  of  all predefined requests, registers, and
          escapes of plain groff.  From the command line, this  is  called

                 man 7 groff

          The  differences  of  the groff language and the classical troff
          language.  Currently, this is the most actual  document  of  the
          groff system.

          An  overview  over  groff  and  other  roff  systems,  including
          pointers to further related documentation.

   The groff info file, cf.  info(1),  presents  all  groff  documentation
   within a single document.


   Copyright  1989-2014 Free Software Foundation, Inc.

   This  file is part of groff, the GNU roff type-setting system, which is
   a GNU free software project..

   Permission is granted to copy, distribute and/or modify  this  document
   under  the  terms of the GNU Free Documentation License, Version 1.3 or
   any later version published by the Free Software Foundation;  with  the
   Invariant  Sections  being  this .ig-section and AUTHOR, with no Front-
   Cover Texts, and with no Back-Cover Texts.

   A copy of the Free Documentation License is included as a  file  called
   FDL in the main directory of the groff source package.


   This  file  was  originally  written by James Clark, it was modified by
   Werner    Lemberg    and    Bernd    Warken     groff-


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.

Free Software

Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.

Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.

Free Books

The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.

Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.

Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.