{
    "content": [
        {
            "type": "text",
            "text": "# GROFF_MS (man)\n\n## NAME\n\ngroffms - GNU roff manuscript macro package for formatting documents\n\n## SYNOPSIS\n\ngroff -ms [option ...] [input-file ...]\ngroff -m ms [option ...] [input-file ...]\n\n## DESCRIPTION\n\nThis manual page describes the GNU version of the ms macros, part of the groff typesetting\nsystem.  The ms macros are mostly compatible with the documented behavior of the 4.3 BSD Unix\nms macros (see Differences from troff ms below for details).  The ms macros are suitable for\nreports, letters, books, and technical documentation.\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION**\n- **USAGE** (28 subsections)\n- **NAMING CONVENTIONS**\n- **FILES**\n- **AUTHORS**\n- **SEE ALSO**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "GROFF_MS",
        "section": "",
        "mode": "man",
        "summary": "groffms - GNU roff manuscript macro package for formatting documents",
        "synopsis": "groff -ms [option ...] [input-file ...]\ngroff -m ms [option ...] [input-file ...]",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [
            {
                "name": "groff",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/groff/1/json"
            },
            {
                "name": "troff",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/troff/1/json"
            },
            {
                "name": "tbl",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/tbl/1/json"
            },
            {
                "name": "pic",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/pic/1/json"
            },
            {
                "name": "eqn",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/eqn/1/json"
            },
            {
                "name": "refer",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/refer/1/json"
            }
        ],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 5,
                "subsections": []
            },
            {
                "name": "USAGE",
                "lines": 4,
                "subsections": [
                    {
                        "name": "Document type",
                        "lines": 6
                    },
                    {
                        "name": "Format and layout",
                        "lines": 4
                    },
                    {
                        "name": "Cover page",
                        "lines": 6
                    },
                    {
                        "name": "Table of contents",
                        "lines": 3
                    },
                    {
                        "name": "Document control registers",
                        "lines": 4
                    },
                    {
                        "name": "Margin settings",
                        "lines": 9
                    },
                    {
                        "name": "Text settings",
                        "lines": 9
                    },
                    {
                        "name": "Paragraph settings",
                        "lines": 9
                    },
                    {
                        "name": "Footnote settings",
                        "lines": 11
                    },
                    {
                        "name": "Other settings",
                        "lines": 6
                    },
                    {
                        "name": "Cover page macros",
                        "lines": 35
                    },
                    {
                        "name": "Paragraphs",
                        "lines": 30
                    },
                    {
                        "name": "Headings",
                        "lines": 76
                    },
                    {
                        "name": "Highlighting",
                        "lines": 54
                    },
                    {
                        "name": "Indents",
                        "lines": 9
                    },
                    {
                        "name": "Lists",
                        "lines": 10
                    },
                    {
                        "name": "Tab stops",
                        "lines": 3
                    },
                    {
                        "name": "Displays and keeps",
                        "lines": 34
                    },
                    {
                        "name": "Tables, figures, equations, and references",
                        "lines": 24
                    },
                    {
                        "name": "Footnotes",
                        "lines": 24
                    },
                    {
                        "name": "Headers and footers",
                        "lines": 21
                    },
                    {
                        "name": "Margins",
                        "lines": 15
                    },
                    {
                        "name": "Multiple columns",
                        "lines": 14
                    },
                    {
                        "name": "Creating a table of contents",
                        "lines": 22
                    },
                    {
                        "name": "Fractional point sizes",
                        "lines": 10
                    },
                    {
                        "name": "DIFFERENCES FROM troff ms",
                        "lines": 49
                    },
                    {
                        "name": "Strings",
                        "lines": 27
                    },
                    {
                        "name": "Text Settings",
                        "lines": 16
                    }
                ]
            },
            {
                "name": "NAMING CONVENTIONS",
                "lines": 23,
                "subsections": []
            },
            {
                "name": "FILES",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "AUTHORS",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 7,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "groffms - GNU roff manuscript macro package for formatting documents\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "groff -ms [option ...] [input-file ...]\ngroff -m ms [option ...] [input-file ...]\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "This manual page describes the GNU version of the ms macros, part of the groff typesetting\nsystem.  The ms macros are mostly compatible with the documented behavior of the 4.3 BSD Unix\nms macros (see Differences from troff ms below for details).  The ms macros are suitable for\nreports, letters, books, and technical documentation.\n",
                "subsections": []
            },
            "USAGE": {
                "content": "The ms macro package expects files to have a certain amount of structure.  The simplest\ndocuments can begin with a paragraph macro and consist of text separated by paragraph macros\nor even blank lines.  Longer documents have a structure as follows:\n",
                "subsections": [
                    {
                        "name": "Document type",
                        "content": "If you use the RP (report) macro at the beginning of the document, groff prints the\ncover page information on its own page; otherwise it prints the information on the\nfirst page with your document text immediately following.  Other document formats\nfound in AT&T troff are specific to AT&T or Berkeley, and are not supported in groff\nms.\n"
                    },
                    {
                        "name": "Format and layout",
                        "content": "By setting number registers, you can change your document's margins, spacing, headers\nand footers, footnotes, and the base point size for the text.  See Document control\nregisters below for more details.\n"
                    },
                    {
                        "name": "Cover page",
                        "content": "A cover page consists of a title, and optionally the author's name and institution, an\nabstract, and the date.  See Cover page macros below for more details.\n\nBody   Following the cover page is your document.  It consists of paragraphs, headings, and\nlists.\n"
                    },
                    {
                        "name": "Table of contents",
                        "content": "Longer documents usually include a table of contents, which you can add by placing the\nTC macro at the end of your document.\n"
                    },
                    {
                        "name": "Document control registers",
                        "content": "The following table lists the document control number registers.  For the sake of\nconsistency, set registers related to margins at the beginning of your document, or just\nafter the RP macro.\n"
                    },
                    {
                        "name": "Margin settings",
                        "content": "Reg.          Definition             Effective      Default\n────────────────────────────────────────────────────────────\nPO     Page offset (left margin)   next page        1i\nLL     Line length                 next paragraph   6i\nLT     Header/footer length        next paragraph   6i\nHM     Top (header) margin         next page        1i\nFM     Bottom (footer) margin      next page        1i\n────────────────────────────────────────────────────────────\n"
                    },
                    {
                        "name": "Text settings",
                        "content": "Reg.                        Definition                         Effective      Default\n───────────────────────────────────────────────────────────────────────────────────────\nPS       Point size                                           next paragraph   10p\nVS       Line spacing (leading)                               next paragraph   12p\nPSINCR   Point size increment for section headings of         next heading     1p\nincreasing importance\nGROWPS   Heading level beyond which PSINCR is ignored         next heading     0\n───────────────────────────────────────────────────────────────────────────────────────\n"
                    },
                    {
                        "name": "Paragraph settings",
                        "content": "Reg.                        Definition                        Effective      Default\n───────────────────────────────────────────────────────────────────────────────────────\nPI         Initial indent                                     next paragraph   5n\nPD         Space between paragraphs                           next paragraph   0.3v\nQI         Quoted paragraph indent                            next paragraph   5n\nPORPHANS   Number of initial lines to be kept together        next paragraph   1\nHORPHANS   Number of initial lines to be kept with heading    next heading     1\n───────────────────────────────────────────────────────────────────────────────────────\n"
                    },
                    {
                        "name": "Footnote settings",
                        "content": "Reg.     Definition        Effective      Default\n────────────────────────────────────────────────────\nFL     Footnote length   next footnote   \\n[LL]*5/6\nFI     Footnote indent   next footnote   2n\nFF     Footnote format   next footnote   0\n\nFPS    Point size        next footnote   \\n[PS]-2\nFVS    Vert. spacing     next footnote   \\n[FPS]+2\nFPD    Para. spacing     next footnote   \\n[PD]/2\n────────────────────────────────────────────────────\n"
                    },
                    {
                        "name": "Other settings",
                        "content": "Reg.               Definition              Effective    Default\n────────────────────────────────────────────────────────────────\nDD      Display, table, eqn, pic spacing   next para.   0.5v\nMINGW   Minimum width between columns      next page    2n\n────────────────────────────────────────────────────────────────\n"
                    },
                    {
                        "name": "Cover page macros",
                        "content": "Use the following macros to create a cover page for your document in the order shown.\n\n.RP [no]\nSpecifies the report format for your document.  The report format creates a separate\ncover page.  With no RP macro, groff prints a subset of the cover page on page 1 of\nyour document.\n\nIf you use the optional no argument, groff prints a title page but does not repeat any\nof the title page information (title, author, abstract, etc.) on page 1 of the\ndocument.\n\n.P1    (P-one) Prints the header on page 1.  The default is to suppress the header.\n\n.DA [xxx]\n(optional) Print the current date, or the arguments to the macro if any, on the title\npage (if specified) and in the footers.  This is the default for nroff.\n\n.ND [xxx]\n(optional) Print the current date, or the arguments to the macro if any, on the title\npage (if specified) but not in the footers.  This is the default for troff.\n\n.TL    Specifies the document title.  Groff collects text following the TL macro into the\ntitle, until reaching the author name or abstract.\n\n.AU    Specifies the author's name.  You can specify multiple authors by using an AU macro\nfor each author.\n\n.AI    Specifies the author's institution.  You can specify multiple institutions.\n\n.AB [no]\nBegins the abstract.  The default is to print the word ABSTRACT, centered and in\nitalics, above the text of the abstract.  The option no suppresses this heading.\n\n.AE    End the abstract.\n"
                    },
                    {
                        "name": "Paragraphs",
                        "content": "Use the PP macro to create indented paragraphs, and the LP macro to create paragraphs with no\ninitial indent.\n\nThe QP macro indents all text at both left and right margins by the amount of the register\nQI.  The effect is reminiscent of the HTML <BLOCKQUOTE> tag.  The next paragraph or heading\nreturns the margins to normal.  QP inserts the vertical space specified in register PD as\ninter-paragraph spacing.\n\nA paragraph bracketed between the macros QS and QE has the same appearance as a paragraph\nstarted with QP and a following paragraph started with LP.  Both QS and QE insert the inter-\nparagraph spacing specified in PD and the text is indented on both sides by the amount of\nregister QI.  The text between QS and QE can be split into further paragraphs by using .LP or\n.PP.\n\nThe XP macro produces an “exdented” paragraph; that is, one with a hanging indent.  The first\nline of the paragraph begins at the left margin, and subsequent lines are indented (the\nopposite of PP).\n\nFor each of the above paragraph types, and also for any list entry introduced by the IP macro\n(described later), the document control register PORPHANS, sets the minimum number of lines\nwhich must be printed, after the start of the paragraph, and before any page break occurs.\nIf there is insufficient space remaining on the current page to accommodate this number of\nlines, then a page break is forced before the first line of the paragraph is printed.\n\nSimilarly, when a section heading (see subsection “Headings” below) precedes any of these\nparagraph types, the HORPHANS document control register specifies the minimum number of lines\nof the paragraph which must be kept on the same page as the heading.  If insufficient space\nremains on the current page to accommodate the heading and this number of lines of paragraph\ntext, then a page break is forced before the heading is printed.\n"
                    },
                    {
                        "name": "Headings",
                        "content": "Use headings to create a hierarchical structure for your document.  By default, the ms macros\nprint headings in bold using the same font family and point size as the body text.  For\noutput devices which support scalable fonts, this behaviour may be modified by defining the\ndocument control registers GROWPS and PSINCR.\n\nThe following heading macros are available:\n\n.NH xx Numbered heading.  The argument xx is either a numeric argument to indicate the level\nof the heading, or S xx xx ... to set the section number explicitly.  If you specify\nheading levels out of sequence, such as invoking .NH 3 after .NH 1, groff prints a\nwarning on standard error.\n\nIf the GROWPS register is set to a value greater than the level of the heading, then\nthe point size of the heading will be increased by PSINCR units over the text size\nspecified by the PS register, for each level by which the heading level is less than\nthe value of GROWPS.  For example, the sequence:\n\n.nr PS 10\n.nr GROWPS 3\n.nr PSINCR 1.5p\n.\n.NH 1\nTop Level Heading\n.\n.NH 2\nSecond Level Heading\n.\n.NH 3\nThird Level Heading\n\nwill cause “1. Top Level Heading” to be printed in 13pt bold text, followed by\n“1.1. Second Level Heading” in 11.5pt bold text, while “1.1.1. Third Level Heading”,\nand all more deeply nested heading levels, will remain in the 10pt bold text which is\nspecified by the PS register.\n\nNote that the value stored in PSINCR is interpreted in groff basic units; the p\nscaling factor should be employed when assigning a value specified in points.\n\nThe style used to represent the section number, within a numbered heading, is\ncontrolled by the SN-STYLE string; this may be set to either the SN-DOT or the\nSN-NO-DOT style, (described below), by aliasing SN-STYLE accordingly.  By default,\nSN-STYLE is initialised by defining the alias\n\n.als SN-STYLE SN-DOT\n\nit may be changed to the SN-NO-DOT style, if preferred, by defining the alternative\nalias\n\n.als SN-STYLE SN-NO-DOT\n\nAny such change becomes effective with the first use of .NH, after the new alias is\ndefined.\n\nAfter invoking .NH, the assigned heading number is available in the strings SN-DOT (as\nit appears in the default formatting style for numbered headings, with a terminating\nperiod following the number), and SN-NO-DOT (with this terminating period omitted).\nThe string SN is also defined, as an alias for SN-DOT; if preferred, the user may\nredefine it as an alias for SN-NO-DOT, by including the initialisation:\n\n.als SN SN-NO-DOT\n\nat any time; the change becomes effective with the next use of .NH, after the new\nalias is defined.\n\n.SH [xx]\nUnnumbered subheading.  The use of the optional xx argument is a GNU extension, which\nadjusts the point size of the unnumbered subheading to match that of a numbered\nheading, introduced using .NH xx with the same value of xx.  For example, given the\nsame settings for PS, GROWPS and PSINCR, as used in the preceding .NH example, the\nsequence:\n\n.SH 2\nAn Unnumbered Subheading\n\nwill print “An Unnumbered Subheading” in 11.5pt bold text.\n"
                    },
                    {
                        "name": "Highlighting",
                        "content": "The ms macros provide a variety of methods to highlight or emphasize text:\n\n.B [txt [post [pre]]]\nSets its first argument in bold type.  If you specify a second argument, groff prints\nit in the previous font after the bold text, with no intervening space (this allows\nyou to set punctuation after the highlighted text without highlighting the\npunctuation).  Similarly, it prints the third argument (if any) in the previous font\nbefore the first argument.  For example,\n\n.B foo ) (\n\nprints “(foo)”.\n\nIf you give this macro no arguments, groff prints all text following in bold until the\nnext highlighting, paragraph, or heading macro.\n\n.R [txt [post [pre]]]\nSets its first argument in roman (or regular) type.  It operates similarly to the B\nmacro otherwise.\n\n.I [txt [post [pre]]]\nSets its first argument in italic type.  It operates similarly to the B macro\notherwise.\n\n.CW [txt [post [pre]]]\nSets its first argument in a constant-width face.  It operates similarly to the B\nmacro otherwise.\n\n.BI [txt [post [pre]]]\nSets its first argument in bold italic type.  It operates similarly to the B macro\notherwise.\n\n.BX [txt]\nPrints its argument and draws a box around it.  If you want to box a string that\ncontains spaces, use a digit-width space (\\0).\n\n.UL [txt [post]]\nPrints its first argument with an underline.  If you specify a second argument, groff\nprints it in the previous font after the underlined text, with no intervening space.\n\n.LG    Prints all text following in larger type (2 points larger than the current point size)\nuntil the next font size, highlighting, paragraph, or heading macro.  You can specify\nthis macro multiple times to enlarge the point size as needed.\n\n.SM    Prints all text following in smaller type (2 points smaller than the current point\nsize) until the next type size, highlighting, paragraph, or heading macro.  You can\nspecify this macro multiple times to reduce the point size as needed.\n\n.NL    Prints all text following in the normal point size (that is, the value of the PS\nregister).\n\n\\*{text\\*}\nPrint the enclosed text as a superscript.\n"
                    },
                    {
                        "name": "Indents",
                        "content": "You may need to indent sections of text.  A typical use for indents is to create nested lists\nand sublists.\n\nUse the RS and RE macros to start and end a section of indented text, respectively.  The PI\nregister controls the amount of indent.\n\nYou can nest indented sections as deeply as needed by using multiple, nested pairs of RS and\nRE.\n"
                    },
                    {
                        "name": "Lists",
                        "content": "The IP macro handles duties for all lists.  Its syntax is as follows:\n\n.IP [marker [width]]\nThe marker is usually a bullet character \\(bu for unordered lists, a number (or auto-\nincrementing number register) for numbered lists, or a word or phrase for indented\n(glossary-style) lists.\n\nThe width specifies the indent for the body of each list item.  Once specified, the\nindent remains the same for all list items in the document until specified again.\n"
                    },
                    {
                        "name": "Tab stops",
                        "content": "Use the ta request to set tab stops as needed.  Use the TA macro to reset tabs to the default\n(every 5n).  You can redefine the TA macro to create a different set of default tab stops.\n"
                    },
                    {
                        "name": "Displays and keeps",
                        "content": "Use displays to show text-based examples or figures (such as code listings).  Displays turn\noff filling, so lines of code can be displayed as-is without inserting br requests in between\neach line.  Displays can be kept on a single page, or allowed to break across pages.  The\nfollowing table shows the display types available.\n\nDisplay macro                               Type of display\nWith keep      No keep\n───────────────────────────────────────────────────────────────────────────────────────\n.DS L            .LD       Left-justified.\n.DS I [indent]   .ID       Indented (default indent in the DI register).\n.DS B            .BD       Block-centered (left-justified, longest line centered).\n.DS C            .CD       Centered.\n.DS R            .RD       Right-justified.\n───────────────────────────────────────────────────────────────────────────────────────\n\nUse the DE macro to end any display type.  The macros Ds and De  were  formerly  provided  as\naliases  for  DS  and  DE,  respectively, but they have been removed, and should no longer be\nused.  X11 documents which actually use Ds and De always load a specific macro file from  the\nX11 distribution (macros.t) which provides proper definitions for the two macros.\n\nTo  keep  text  together  on  a page, such as a paragraph that refers to a table (or list, or\nother item) immediately following, use the KS and KE macros.  The KS macro begins a block  of\ntext to be kept on a single page, and the KE macro ends the block.\n\nYou  can  specify  a floating keep using the KF and KE macros.  If the keep cannot fit on the\ncurrent page, groff holds the contents of the keep and allows text following the keep (in the\nsource  file) to fill in the remainder of the current page.  When the page breaks, whether by\nan explicit bp request or by reaching the end of the page, groff prints the floating keep  at\nthe  top  of  the new page.  This is useful for printing large graphics or tables that do not\nneed to appear exactly where specified.\n\nThe macros B1 and B2 can be used to enclose a text within a box; .B1 begins the box, and  .B2\nends it.  Text in the box is automatically placed in a diversion (keep).\n"
                    },
                    {
                        "name": "Tables, figures, equations, and references",
                        "content": "The  ms macros support the standard groff preprocessors: tbl, pic, eqn, and refer.  Mark text\nmeant for preprocessors by enclosing it in pairs of tags as follows:\n\n.TS [H] and .TE\nDenote a table to be processed by the  tbl  preprocessor.   The  optional  H  argument\ninstructs  groff  to  create a running header with the information up to the TH macro.\nGroff prints the header at the beginning of the table; if the table runs onto  another\npage, groff prints the header on the next page as well.\n\n.PS and .PE\nDenote  a  graphic to be processed by the pic preprocessor.  You can create a pic file\nby hand, using the AT&T pic manual available on the Web as a reference, or by using  a\ngraphics program such as xfig.\n\n.EQ [align] and .EN\nDenote  an  equation  to  be  processed  by  the eqn preprocessor.  The optional align\nargument can be C, L, or I to  center  (the  default),  left-justify,  or  indent  the\nequation, respectively.\n\n.[ and .]\nDenote a reference to be processed by the refer preprocessor.  The GNU refer(1) manual\npage provides a comprehensive reference to the preprocessor  and  the  format  of  the\nbibliographic database.\n"
                    },
                    {
                        "name": "Footnotes",
                        "content": "The  ms  macros  provide  a flexible footnote system.  You can specify a numbered footnote by\nusing the \\ escape, followed by the text of the footnote enclosed by FS and FE macros.\n\nYou can specify symbolic footnotes by placing the mark character (such as \\(dg for the dagger\ncharacter)  in the body text, followed by the text of the footnote enclosed by FS \\(dg and FE\nmacros.\n\nYou can control how groff prints footnote numbers by changing the value of the FF register as\nfollows:\n\n0      Prints the footnote number as a superscript; indents the footnote (default).\n\n1      Prints  the  number  followed  by  a  period  (that  is,  “1.”) and indents the\nfootnote.\n\n2      Like 1, without an indent.\n\n3      Like 1, but prints the footnote number as a paragraph with a hanging indent.\n\nYou can use footnotes safely within keeps and displays, but avoid  using  numbered  footnotes\nwithin  floating keeps.  You can set a second \\ between a \\ and its corresponding .FS; as\nlong as each .FS occurs after the corresponding \\ and the occurrences of  .FS  are  in  the\nsame order as the corresponding occurrences of \\.\n"
                    },
                    {
                        "name": "Headers and footers",
                        "content": "There are three ways to define headers and footers:\n\n•  Use  the  strings  LH, CH, and RH to set the left, center, and right headers.  Use LF, CF,\nand RF to set the left, center, and right footers.  The string-setting approach works best\nfor documents that do not distinguish between odd and even pages.\n\n•  Use  the  OH  and  EH  macros  to define headers for the odd and even pages, and OF and EF\nmacros to define footers for the odd and even pages.  This is more flexible than  defining\nthe individual strings.  The syntax for these macros is as follows:\n\n.XX 'left'center'right'\n\nwhere  XX  is one of the foregoing four macros and each of left, center, and right is text\nof your choice.  You can replace the quote (') marks with any character not  appearing  in\nthe header or footer text.\n\n•  You  can  redefine  the  PT and BT macros to change the behavior of the header and footer,\nrespectively.  The header process also calls the (undefined) HD macro after  PT;  you  can\ndefine  this  macro  if  you  need  additional  processing  after printing the header (for\nexample, to draw a line below the header).\n"
                    },
                    {
                        "name": "Margins",
                        "content": "You control margins using a set of number registers.  The following table lists the  register\nnames and defaults:\n\nReg.          Definition             Effective      Default\n────────────────────────────────────────────────────────────\nPO     Page offset (left margin)   next page        1i\nLL     Line length                 next paragraph   6i\nLT     Header/footer length        next paragraph   6i\nHM     Top (header) margin         next page        1i\nFM     Bottom (footer) margin      next page        1i\n────────────────────────────────────────────────────────────\n\nNote  that  there is no right margin setting.  The combination of page offset and line length\nprovide the information necessary to derive the right margin.\n"
                    },
                    {
                        "name": "Multiple columns",
                        "content": "The ms macros can set text in as many columns as  will  reasonably  fit  on  the  page.   The\nfollowing  macros  are  available.   All of them force a page break if a multi-column mode is\nalready set.  However, if the current mode is single-column,  starting  a  multi-column  mode\ndoes not force a page break.\n\n.1C    Single-column mode.\n\n.2C    Two-column mode.\n\n.MC [column-width [gutter-width]]\nMulti-column  mode.   If  you  specify no arguments, it is equivalent to the 2C macro.\nOtherwise, column-width is the width of each column  and  gutter-width  is  the  space\nbetween columns.  The MINGW number register is the default gutter width.\n"
                    },
                    {
                        "name": "Creating a table of contents",
                        "content": "Wrap  text  that you want to appear in the table of contents in XS and XE macros.  Use the TC\nmacro to print the table of contents at the end of the document, resetting  the  page  number\nto i (Roman numeral 1).\n\nYou can manually create a table of contents by specifying a page number as the first argument\nto XS.  Add subsequent entries using the XA macro.  For example:\n\n.XS 1\nIntroduction\n.XA 2\nA Brief History of the Universe\n.XA 729\nDetails of Galactic Formation\n...\n.XE\n\nUse the PX macro to print a manually-generated table of contents without resetting  the  page\nnumber.\n\nIf you give the argument no to either PX or TC, groff suppresses printing the title specified\nby the \\*[TOC] string.\n"
                    },
                    {
                        "name": "Fractional point sizes",
                        "content": "Traditionally, the ms macros only support integer values for the  document's  font  size  and\nvertical  spacing.   To  overcome  this  restriction, values larger than or equal to 1000 are\ntaken as fractional values, multiplied by 1000.  For example, ‘.nr PS 10250’  sets  the  font\nsize to 10.25 points.\n\nThe following four registers accept fractional point sizes: PS, VS, FPS, and FVS.\n\nDue  to  backwards  compatibility,  the  value of VS must be smaller than 40000 (this is 40.0\npoints).\n"
                    },
                    {
                        "name": "DIFFERENCES FROM troff ms",
                        "content": "The groff ms macros are a complete re-implementation, using no  original  AT&T  code.   Since\nthey  take  advantage of the extended features in groff, they cannot be used with AT&T troff.\nOther differences include:\n\n•  The internals of groff ms differ from the internals of Unix  ms.   Documents  that  depend\nupon implementation details of Unix ms may not format properly with groff ms.\n\n•  The error-handling policy of groff ms is to detect and report errors, rather than silently\nto ignore them.\n\n•  Some Bell Labs localisms are not  implemented  by  default.   However,  if  you  call  the\notherwise  undocumented  SC section-header macro, you will enable implementations of three\nother archaic Bell Labs macros: UC, P1, and P2.  These are not enabled by default  because\n(a) they were not documented, in the original ms manual, and (b) the P1 and UC macros both\ncollide with different macros in the Berkeley version of ms.\n\nThese emulations are sufficient to give back the 1976 Kernighan & Cherry paper Typesetting\nMathematics  –  User's  Guide  its  section  headings, and restore some text that had gone\nmissing as arguments of undefined macros.  No warranty express or implied is given  as  to\nhow well the typographic details these produce match the original Bell Labs macros.\n\n•  Berkeley localisms, in particular the TM and CT macros, are not implemented.\n\n•  Groff ms does not work in compatibility mode (e.g., with the -C option).\n\n•  There is no support for typewriter-like devices.\n\n•  Groff ms does not provide cut marks.\n\n•  Multiple line spacing is not supported (use a larger vertical spacing instead).\n\n•  Some Unix ms documentation says that the CW and GW number registers can be used to control\nthe column width and gutter width, respectively.  These number registers are not  used  in\ngroff ms.\n\n•  Macros that cause a reset (paragraphs, headings, etc.) may change the indent.  Macros that\nchange the indent do not increment or decrement the indent, but rather set it  absolutely.\nThis  can  cause  problems  for documents that define additional macros of their own.  The\nsolution is to use not the in request but instead the RS and RE macros.\n\n•  The number register GS is set to 1 by the groff ms macros, but is not used by the Unix  ms\nmacros.  Documents that need to determine whether they are being formatted with Unix ms or\ngroff ms should use this number register.\n\n•  To make groff ms use the default page offset (which also specifies the left  margin),  the\nPO  number  register  must  stay  undefined  until  the first ms macro is evaluated.  This\nimplies that PO should not be used early in the  document,  unless  it  is  changed  also:\nremember that accessing an undefined register automatically defines it.\n"
                    },
                    {
                        "name": "Strings",
                        "content": "You  can  redefine the following strings to adapt the groff ms macros to languages other than\nEnglish:\n\nString       Default Value\n───────────────────────────────\nREFERENCES   References\nABSTRACT     ABSTRACT\nTOC          Table of Contents\nMONTH1       January\nMONTH2       February\nMONTH3       March\nMONTH4       April\nMONTH5       May\nMONTH6       June\nMONTH7       July\nMONTH8       August\nMONTH9       September\nMONTH10      October\nMONTH11      November\nMONTH12      December\n───────────────────────────────\n\nThe \\*- string produces an em dash—like this.\n\nUse \\*Q and \\*U to get a left and right typographer's  quote,  respectively,  in  troff  (and\nplain quotes in nroff).\n"
                    },
                    {
                        "name": "Text Settings",
                        "content": "The  FAM string sets the default font family.  If this string is undefined at initialization,\nit is set to Times.\n\nThe point size, vertical spacing, and inter-paragraph spacing for footnotes are controlled by\nthe  number  registers  FPS,  FVS,  and  FPD;  at  initialization  these  are set to \\n(PS-2,\n\\n[FPS]+2, and  \\n(PD/2,  respectively.   If  any  of  these  registers  are  defined  before\ninitialization, the initialization macro does not change them.\n\nThe  hyphenation  flags  (as set by the hy request) are set from the HY register; the default\nis 6.\n\nImproved accent marks (as originally defined in  Berkeley's  ms  version)  are  available  by\nspecifying the AM macro at the beginning of your document.  You can place an accent over most\ncharacters by specifying the string defining the accent directly after  the  character.   For\nexample, n\\*~ produces an n with a tilde over it.\n"
                    }
                ]
            },
            "NAMING CONVENTIONS": {
                "content": "The  following  conventions  are  used  for  names  of macros, strings, and number registers.\nExternal names available to documents that use the groff ms  macros  contain  only  uppercase\nletters and digits.\n\nInternally the macros are divided into modules; naming conventions are as follows:\n\n•  Names used only within one module are of the form module*name.\n\n•  Names used outside the module in which they are defined are of the form module@name.\n\n•  Names associated with a particular environment are of the form environment:name; these are\nused only within the par module.\n\n•  name does not have a module prefix.\n\n•  Constructed names used to implement arrays are of the form array!index.\n\nThus the groff ms macros reserve the following names:\n\n•  Names containing the characters *, @, and :.\n\n•  Names containing only uppercase letters and digits.\n",
                "subsections": []
            },
            "FILES": {
                "content": "/usr/share/groff/1.22.4/tmac/ms.tmac (a wrapper file for s.tmac)\n/usr/share/groff/1.22.4/tmac/s.tmac\n",
                "subsections": []
            },
            "AUTHORS": {
                "content": "The GNU version of the ms macro package was written by James Clark  and  contributors.   This\ndocument was (re-)written by Larry Kollar ⟨lkollar@despammed.com⟩.\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "groff(1), troff(1), tbl(1), pic(1), eqn(1), refer(1)\n\nGroff: The GNU Implementation of troff, by Trent A. Fisher and Werner Lemberg\n\n\n\ngroff 1.22.4                                23 March 2022                                GROFFMS(7)",
                "subsections": []
            }
        }
    }
}