{
    "content": [
        {
            "type": "text",
            "text": "# troff (info)\n\n## NAME\n\ntroff - the troff processor of the groff text formatting system\n\n## SYNOPSIS\n\ntroff [-abcivzCERU] [-d cs] [-f fam] [-F dir] [-I dir] [-m name]\n[-M dir] [-n num] [-o list] [-r cn] [-T name] [-w name] [-W name]\n[file ...]\n\n## DESCRIPTION\n\nThis manual page describes the GNU version of troff.  It is part of the\ngroff document formatting system.  It is functionally  compatible  with\nUnix  troff,  but  has  many extensions, see groffdiff(7).  Usually it\nshould be invoked using the groff(1) command which will also  run  pre-\nprocessors and postprocessors in the appropriate order and with the ap-\npropriate options.\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION**\n- **OPTIONS** (2 subsections)\n- **WARNINGS**\n- **ENVIRONMENT**\n- **FILES**\n- **AUTHORS**\n- **SEE ALSO**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "troff",
        "section": "",
        "mode": "info",
        "summary": "troff - the troff processor of the groff text formatting system",
        "synopsis": "troff [-abcivzCERU] [-d cs] [-f fam] [-F dir] [-I dir] [-m name]\n[-M dir] [-n num] [-o list] [-r cn] [-T name] [-w name] [-W name]\n[file ...]",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": "-dname=s Define c or name to be a string s; c must be a one letter name. -E Inhibit all error messages of troff. Note that this doesn't af- fect 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 di- rectories. -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 cur- rent 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 ap- propriate 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 tmac.name instead. It will be first searched for in directories given with the -M command-line option, then in directories given in the GROFFTMACPATH 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 /usr/share/ groff/1.22.4/tmac. -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."
            },
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": "-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 sec- tion \"Warnings\" below. To enable most useful warnings use -w all. To enable absolutely all warnings use -w w instead. Mul- tiple -w options are allowed. -Wname Inhibit warning name. Multiple -W options are allowed. -z Suppress formatted output."
            }
        ],
        "examples": [],
        "see_also": [
            {
                "name": "groff",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/groff/1/json"
            },
            {
                "name": "groff",
                "section": "7",
                "url": "https://www.chedong.com/phpMan.php/man/groff/7/json"
            },
            {
                "name": "groffdiff",
                "section": "7",
                "url": "https://www.chedong.com/phpMan.php/man/groffdiff/7/json"
            },
            {
                "name": "roff",
                "section": "7",
                "url": "https://www.chedong.com/phpMan.php/man/roff/7/json"
            }
        ],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 4,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 7,
                "subsections": []
            },
            {
                "name": "OPTIONS",
                "lines": 14,
                "subsections": [
                    {
                        "name": "-dcs",
                        "lines": 48
                    },
                    {
                        "name": "-rcn",
                        "lines": 25
                    }
                ]
            },
            {
                "name": "WARNINGS",
                "lines": 98,
                "subsections": []
            },
            {
                "name": "ENVIRONMENT",
                "lines": 18,
                "subsections": []
            },
            {
                "name": "FILES",
                "lines": 22,
                "subsections": []
            },
            {
                "name": "AUTHORS",
                "lines": 5,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 24,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "troff - the troff processor of the groff text formatting system\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "troff [-abcivzCERU] [-d cs] [-f fam] [-F dir] [-I dir] [-m name]\n[-M dir] [-n num] [-o list] [-r cn] [-T name] [-w name] [-W name]\n[file ...]\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "This manual page describes the GNU version of troff.  It is part of the\ngroff document formatting system.  It is functionally  compatible  with\nUnix  troff,  but  has  many extensions, see groffdiff(7).  Usually it\nshould be invoked using the groff(1) command which will also  run  pre-\nprocessors and postprocessors in the appropriate order and with the ap-\npropriate options.\n",
                "subsections": []
            },
            "OPTIONS": {
                "content": "Whitespace is permitted between a command-line option and its argument.\n\n-a     Generate an ASCII approximation of the typeset output.\n\n-b     Print a backtrace with each  warning  or  error  message.   This\nbacktrace  should  help  track down the cause of the error.  The\nline numbers given in the backtrace may not always  be  correct,\nfor  troff's  idea of line numbers gets confused by as or am re-\nquests.\n\n-c     Disable color output (always disabled in compatibility mode).\n\n-C     Enable compatibility mode.\n",
                "subsections": [
                    {
                        "name": "-dcs",
                        "content": "-dname=s\nDefine c or name to be a string s; c must be a one letter name.\n\n-E     Inhibit all error messages of troff.  Note that this doesn't af-\nfect  messages  output to standard error by macro packages using\nthe tm or tm1 requests.\n\n-ffam  Use fam as the default font family.\n\n-Fdir  Search in directory (or directory path) dir  for  subdirectories\ndevname  (name is the name of the device) and there for the DESC\nfile and font files.  dir is scanned before all other  font  di-\nrectories.\n\n-i     Read  the  standard  input  after all the named input files have\nbeen processed.\n\n-Idir  This option may be used to add a directory to  the  search  path\nfor  files  (both  those  on the command line and those named in\n.psbb requests).  The search path is initialized with  the  cur-\nrent  directory.   This  option may be specified more than once;\nthe directories are then searched in the  order  specified  (but\nbefore  the current directory).  If you want to make the current\ndirectory be read before other directories, add -I. at  the  ap-\npropriate place.\n\nNo directory search is performed for files with an absolute file\nname.\n\n-mname Read in the file name.tmac.  If it isn't  found,  try  tmac.name\ninstead.   It  will  be  first searched for in directories given\nwith the -M command-line option, then in  directories  given  in\nthe  GROFFTMACPATH  environment  variable, then in the current\ndirectory (only if in unsafe mode), the  home  directory,  /usr/\nlib/groff/site-tmac, /usr/share/groff/site-tmac, and /usr/share/\ngroff/1.22.4/tmac.\n\n-Mdir  Search directory (or directory path) dir for macro files.   This\nis scanned before all other macro directories.\n\n-nnum  Number the first page num.\n\n-olist Output  only  pages  in list, which is a comma-separated list of\npage ranges; n means print page n, m-n means  print  every  page\nbetween  m  and  n,  -n means print every page up to n, n- means\nprint every page from n.  troff will  exit  after  printing  the\nlast page in the list.\n"
                    },
                    {
                        "name": "-rcn",
                        "content": "-rname=n\nSet  number  register  c or name to n; c must be a one character\nname; n can be any troff numeric expression.\n\n-R     Don't load troffrc and troffrc-end.\n\n-Tname Prepare output for device name, rather than the default ps;  see\ngroff(1) for a more detailed description.\n\n-U     Unsafe  mode.   This  will  enable the following requests: open,\nopena, pso, sy, and pi.  For security reasons, these potentially\ndangerous requests are disabled otherwise.  It will also add the\ncurrent directory to the macro search path.\n\n-v     Print the version number.\n\n-wname Enable warning name.  Available warnings are described  in  sec-\ntion  \"Warnings\"  below.   To enable most useful warnings use -w\nall.  To enable absolutely all warnings use -w w instead.   Mul-\ntiple -w options are allowed.\n\n-Wname Inhibit warning name.  Multiple -W options are allowed.\n\n-z     Suppress formatted output.\n"
                    }
                ]
            },
            "WARNINGS": {
                "content": "The  warnings that can be given by troff are divided into the following\ncategories.  The name associated with each warning is used  by  the  -w\nand  -W  options;  the  number  is used by the warn request, and by the\n.warn register; it is always a power of 2 to allow bitwise composition.\n\n+---------------------+-----------------------------+\n|Bit   Code   Warning | Bit    Code       Warning   |\n+---------------------+-----------------------------+\n|  0      1   char    |  10      1024   reg         |\n|  1      2   number  |  11      2048   tab         |\n|  2      4   break   |  12      4096   right-brace |\n|  3      8   delim   |  13      8192   missing     |\n|  4     16   el      |  14     16384   input       |\n|  5     32   scale   |  15     32768   escape      |\n|  6     64   range   |  16     65536   space       |\n|  7    128   syntax  |  17    131072   font        |\n|  8    256   di      |  18    262144   ig          |\n|  9    512   mac     |  19    524288   color       |\n|                     |  20   1048576   file        |\n+---------------------+-----------------------------+\nbreak           4   In fill mode, lines which could not  be  broken  so\nthat  their  length  was less than the line length.\nThis is enabled by default.\n\nchar            1   Non-existent characters.  This is  enabled  by  de-\nfault.\n\ncolor      524288   Color-related warnings.\n\ndelim           8   Missing or mismatched closing delimiters.\n\ndi            256   Use  of  di or da without an argument when there is\nno current diversion.\n\nel             16   Use of the el request with no matching ie request.\n\nescape      32768   Unrecognized escape sequences.   When  an  unrecog-\nnized  escape  sequence  is encountered, the escape\ncharacter is ignored.\n\nfile      1048576   Indicates a missing file for the mso request.   En-\nabled by default.\n\nfont       131072   Non-existent fonts.  This is enabled by default.\n\nig         262144   Invalid  escapes  in  text  ignored with the ig re-\nquest.  These are conditions that are  errors  when\nthey do not occur in ignored text.\n\ninput       16384   Invalid input characters.\n\nmac           512   Use  of  undefined  strings, macros and diversions.\nWhen an undefined string,  macro  or  diversion  is\nused,  that  string  is  automatically  defined  as\nempty.  So, in most cases, at most one warning will\nbe given for each name.\n\nmissing      8192   Requests that are missing non-optional arguments.\n\nnumber          2   Invalid  numeric  expressions.   This is enabled by\ndefault.\n\nrange          64   Out of range arguments.\n\nreg          1024   Use of undefined number registers.  When  an  unde-\nfined number register is used, that register is au-\ntomatically defined to have a value of 0.   So,  in\nmost  cases,  at most one warning will be given for\nuse of a particular name.\n\nright-brace  4096   Use of \\} where a number was expected.\n\nscale          32   Meaningless scaling indicators.\n\nspace       65536   Missing space between a request or  macro  and  its\nargument.  This warning will be given when an unde-\nfined name longer than two  characters  is  encoun-\ntered,  and  the  first  two characters of the name\nmake a defined name.  The request or macro will not\nbe  invoked.   When this warning is given, no macro\nis automatically defined.  This is enabled  by  de-\nfault.   This  warning will never occur in compati-\nbility mode.\n\nsyntax        128   Dubious syntax in numeric expressions.\n\ntab          2048   Inappropriate use of a tab character.   Either  use\nof  a tab character where a number was expected, or\nuse of tab character in an unquoted macro argument.\n\nThere are also names that can be used to refer to groups of warnings:\n\nall    All warnings except di, mac, and reg.  It is intended that  this\ncovers all warnings that are useful with traditional macro pack-\nages.\n\nw      All warnings.\n",
                "subsections": []
            },
            "ENVIRONMENT": {
                "content": "GROFFTMACPATH\nA colon separated list of directories in  which  to  search  for\nmacro files.  troff will scan directories given in the -M option\nbefore these, and in standard directories (current directory  if\nin  unsafe mode, home directory, /usr/lib/groff/site-tmac, /usr/\nshare/groff/site-tmac,    /usr/share/groff/1.22.4/tmac)    after\nthese.\n\nGROFFTYPESETTER\nDefault device.\n\nGROFFFONTPATH\nA colon separated list of directories in which to search for the\ndevname directory.  troff will scan directories given in the  -F\noption  before  these,  and in standard directories (/usr/share/\ngroff/site-font,  /usr/share/groff/1.22.4/font,   /usr/lib/font)\nafter these.\n",
                "subsections": []
            },
            "FILES": {
                "content": "/usr/share/groff/1.22.4/tmac/troffrc\nInitialization file (called before any other macro package).\n\n/usr/share/groff/1.22.4/tmac/troffrc-end\nInitialization file (called after any other macro package).\n\n/usr/share/groff/1.22.4/tmac/name.tmac\n/usr/share/groff/1.22.4/tmac/tmac.name\nMacro files\n\n/usr/share/groff/1.22.4/font/devname/DESC\nDevice description file for device name.\n\n/usr/share/groff/1.22.4/font/devname/F\nFont file for font F of device name.\n\nNote  that troffrc and troffrc-end are searched for neither in the cur-\nrent nor the home directory by default for security  reasons  (even  if\nthe  -U  option  is  given).   Use  the  -M  command-line option or the\nGROFFTMACPATH environment variable to add these  directories  to  the\nsearch path if necessary.\n",
                "subsections": []
            },
            "AUTHORS": {
                "content": "The GNU version of troff was originally written by James Clark; he also\nwrote the original version of this  document,  which  was  modified  by\nWerner  Lemberg  <wl@gnu.org>  and Bernd Warken <groff-bernd.warken-72@\nweb.de>.\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "groff(1)\nThe main program of the groff system, a wrapper around troff.\n\ngroff(7)\nA description of the groff language, including a short but  com-\nplete  reference  of all predefined requests, registers, and es-\ncapes of plain groff.  From the command line, this is called by\n\nman 7 groff\n\ngroffdiff(7)\nThe differences of the groff language and  the  classical  troff\nlanguage.   Currently,  this  is the most actual document of the\ngroff system.\n\nroff(7)\nAn overview over groff and other roff systems, including  point-\ners to further related documentation.\n\nGroff:  The  GNU Implementation of troff, by Trent A. Fisher and Werner\nLemberg, is the primary groff manual.  You can browse it  interactively\nwith \"info groff\".\n\ngroff 1.22.4                     23 March 2022                        TROFF(1)",
                "subsections": []
            }
        }
    }
}