diff options
author | wlemb <wlemb> | 2002-04-23 20:18:13 +0000 |
---|---|---|
committer | wlemb <wlemb> | 2002-04-23 20:18:13 +0000 |
commit | a2df985d7d7c82373a4b02383a7ba152bd4ecb18 (patch) | |
tree | 65d7c8613cd293be498ff64f9e83327061152c0f | |
parent | ebc527c615e849de9d4b1659d6c8f88f10058ac7 (diff) | |
download | groff-a2df985d7d7c82373a4b02383a7ba152bd4ecb18.tar.gz |
* doc/groff.texinfo: Moving @cindex entries after @Def* to get
correct page references.
Fixed many index entries.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | doc/groff.texinfo | 951 |
2 files changed, 502 insertions, 455 deletions
@@ -1,3 +1,9 @@ +2002-04-23 Werner LEMBERG <wl@gnu.org> + + * doc/groff.texinfo: Moving @cindex entries after @Def* to get + correct page references. + Fixed many index entries. + 2002-04-23 Bernd Warken <bwarken@mayn.de> * man/roff.man: Enlarged. diff --git a/doc/groff.texinfo b/doc/groff.texinfo index ecc028ea..87fede3a 100644 --- a/doc/groff.texinfo +++ b/doc/groff.texinfo @@ -956,9 +956,9 @@ The first version of @acronym{UNIX} was developed on a @w{PDP-7} which was sitting around Bell Labs. In 1971 the developers wanted to get a @w{PDP-11} for further work on the operating system. In order to justify the cost for this system, they proposed that they would -implement a document formatting system for the AT&T patents division. -This first formatting program was a reimplementation of McIllroy's -@code{roff}, written by J.@w{ }F.@w{ }Ossanna. +implement a document formatting system for the @acronym{AT&T} patents +division. This first formatting program was a reimplementation of +McIllroy's @code{roff}, written by J.@w{ }F.@w{ }Ossanna. @cindex @code{nroff}, the program When they needed a more flexible language, a new version of @code{roff} @@ -1392,13 +1392,19 @@ For a 100@dmn{dpi} X11 previewer. For a 100@dmn{dpi} X11 previewer with a 12@dmn{pt} base font. @item ascii +@cindex encoding, @acronym{ASCII} +@cindex @acronym{ASCII}, encoding For typewriter-like devices. @item latin1 +@cindex encoding, latin-1 +@cindex latin-1, encoding For typewriter-like devices that support the @w{Latin-1} (@w{ISO 8859-1}) character set. @item utf8 +@cindex encoding, utf-8 +@cindex utf-8, encoding For typewriter-like devices which use the Unicode (@w{ISO 10646}) character set with @w{UTF-8} encoding. @@ -1502,7 +1508,7 @@ Inhibit all error messages. @item -C Enable compatibility mode. @xref{Implementation Differences}, for the -list of incompatibilities between @code{groff} and traditional Unix +list of incompatibilities between @code{groff} and traditional @acronym{AT&T} @code{troff}. @item -d@var{cs} @@ -1858,7 +1864,7 @@ request @w{@samp{.ls 2}}. Reactivate single spaced mode by typing A number of requests allow to change the way the output looks, sometimes called the @dfn{layout} of the output page. Most of these -requests adjust the placing of @dfn{white space} (blank lines or +requests adjust the placing of @dfn{whitespace} (blank lines or spaces). @cindex new page (@code{bp}) @@ -2180,6 +2186,7 @@ This chapter documents the main macro packages that come with @node man, mdoc, Macro Packages, Macro Packages @section @file{man} @cindex manual pages +@cindex man pages @pindex an.tmac @pindex man.tmac @pindex man-old.tmac @@ -2215,7 +2222,7 @@ It is possible to use @samp{-man} instead of @w{@samp{-m man}}. @table @code @item -rcR=1 -This option (the default if a tty output device is used) creates a +This option (the default if a TTY output device is used) creates a single, very long page instead of multiple pages. Use @code{-rcR=0} to disable it. @@ -2338,18 +2345,18 @@ For example, to start a paragraph with bullets as the designator and @endExample @endDefmac +@Defmac {HP, [@Var{nnn}], man} @cindex hanging indentation [@code{man}] @cindex @code{man} macros, hanging indentation -@Defmac {HP, [@Var{nnn}], man} Set up a paragraph with hanging left indentation. The indentation is set to @var{nnn} if that argument is supplied (default unit is @samp{n}), otherwise the default indentation value is used. Font size and face are reset to their default values. @endDefmac +@Defmac {RS, [@Var{nnn}], man} @cindex left margin, how to move [@code{man}] @cindex @code{man} macros, moving left margin -@Defmac {RS, [@Var{nnn}], man} Move the left margin to the right by the value @var{nnn} if specified (default unit is @samp{n}); otherwise the default indentation value is used. Calls to the @code{RS} macro can be nested. @@ -2388,10 +2395,10 @@ Set the text on the same line or the text on the next line in a font that is one point size smaller than the default font. @endDefmac -@cindex boldface [@code{man}] -@cindex @code{man} macros, boldface @Defmac {SB, [@Var{text}], man} -Set the text on the same line or the text on the next line in boldface +@cindex bold face [@code{man}] +@cindex @code{man} macros, bold face +Set the text on the same line or the text on the next line in bold face font, one point size smaller than the default font. @endDefmac @@ -2433,9 +2440,9 @@ the macro is called, then the text of the next line appears in bold face. @endDefmac +@Defmac {I, [@Var{text}], man} @cindex italic fonts [@code{man}] @cindex @code{man} macros, italic fonts -@Defmac {I, [@Var{text}], man} Set @var{text} in italic. If no text is present on the line where the macro is called, then the text of the next line appears in italic. @endDefmac @@ -2451,21 +2458,21 @@ macro is called, then the text of the next line appears in italic. The default indentation is 7.2@dmn{n} for all output devices except for @code{grohtml} which ignores indentation. +@Defmac {DT, , man} @cindex tab stops [@code{man}] @cindex @code{man} macros, tab stops -@Defmac {DT, , man} Set tabs every 0.5@w{ }inches. Since this macro is always called during a @code{TH} request, it makes sense to call it only if the tab positions have been changed. @endDefmac +@Defmac {PD, [@Var{nnn}], man} @cindex empty space before a paragraph [@code{man}] @cindex @code{man} macros, empty space before a paragraph -@Defmac {PD, [@Var{nnn}], man} Adjust the empty space before a new paragraph (or section). The optional argument gives the amount of space (default unit is @samp{v}); without parameter, the value is reset to its default value -(1@w{ }line for tty devices, 0.4@dmn{v}@w{ }otherwise). +(1@w{ }line for TTY devices, 0.4@dmn{v}@w{ }otherwise). @endDefmac This affects the macros @code{SH}, @code{SS}, @code{TP}, @code{LP} (as @@ -2490,10 +2497,10 @@ The `registered' sign. The `trademark' sign. @endDefstr -@cindex @code{lq} glyph, and @code{lq} string [@code{man}] -@cindex @code{rq} glyph, and @code{rq} string [@code{man}] @DefstrList {lq, man} @DefstrListEnd {rq, man} +@cindex @code{lq} glyph, and @code{lq} string [@code{man}] +@cindex @code{rq} glyph, and @code{rq} string [@code{man}] Left and right quote. This is equal to @code{\(lq} and @code{\(rq}, respectively. @endDefstr @@ -2529,7 +2536,7 @@ and automatically call the right preprocessor(s). @node mdoc, ms, man, Macro Packages @section @file{mdoc} -@cindex @file{mdoc} +@cindex @code{mdoc} macros @c XXX documentation @c XXX this is a placeholder until we get stuff knocked into shape @@ -2541,7 +2548,7 @@ at the command line). @node ms, me, mdoc, Macro Packages @section @file{ms} -@cindex @file{ms} +@cindex @code{ms} macros The @file{-ms} macros are suitable for reports, letters, books, @@ -2583,7 +2590,7 @@ or Berkeley) are not included, while several new commands are. @node General ms Structure, ms Document Control Registers, ms Intro, ms @subsection General structure of an @file{ms} document -@cindex @file{ms}, general structure +@cindex @code{ms} macros, general structure The @file{ms} macro package expects a certain amount of structure, but not as much as packages such as @file{man} or @file{mdoc}. @@ -2649,7 +2656,7 @@ body text after printing. @node ms Document Control Registers, ms Cover Page Macros, General ms Structure, ms @subsection Document control registers -@cindex @file{ms}, document control registers +@cindex @code{ms} macros, document control registers The following is a list of document control number registers. For the sake of consistency, @@ -2803,8 +2810,8 @@ Default: 2@dmn{n}. @node ms Cover Page Macros, ms Body Text, ms Document Control Registers, ms @subsection Cover page macros -@cindex @file{ms}, cover page macros -@cindex Cover page macros, @file{ms} +@cindex @code{ms} macros, cover page +@cindex cover page macros, [@code{ms}] Use the following macros to create a cover page for your document in the order shown. @@ -2878,8 +2885,8 @@ End the abstract. @endDefmac The following is example mark-up for a title page. -@cindex Title page, example markup -@cindex Example markup, title page +@cindex title page, example markup +@cindex example markup, title page @Example @cartouche @@ -2917,7 +2924,7 @@ user demand. @node ms Body Text, ms Page Layout, ms Cover Page Macros, ms @subsection Body text -@cindex @file{ms}, body text +@cindex @code{ms} macros, body text This section describes macros used to mark up the body of your document. Examples include paragraphs, sections, and other groups. @@ -2939,7 +2946,7 @@ Examples include paragraphs, sections, and other groups. @node Paragraphs in ms, Headings in ms, ms Body Text, ms Body Text @subsubsection Paragraphs -@cindex @file{ms}, paragraph macros +@cindex @code{ms} macros, paragraph handling The following paragraph types are available. @@ -3004,7 +3011,7 @@ free software. @node Headings in ms, Highlighting in ms, Paragraphs in ms, ms Body Text @subsubsection Headings -@cindex @file{ms}, heading macros +@cindex @code{ms} macros, headings Use headings to create a hierarchical structure for your document. The @file{ms} macros print headings in @strong{bold}, @@ -3032,7 +3039,7 @@ Unnumbered subheading. @node Highlighting in ms, Lists in ms, Headings in ms, ms Body Text @subsubsection Highlighting -@cindex @file{ms}, highlighting macros +@cindex @code{ms} macros, highlighting The @file{ms} macros provide a variety of methods to highlight or emphasize text: @@ -3116,7 +3123,7 @@ Prints all text following in the normal point size @node Lists in ms, Indents in ms, Highlighting in ms, ms Body Text @subsubsection Lists -@cindex @file{ms}, list macros +@cindex @code{ms} macros, lists The @code{.IP} macro handles duties for all lists. @@ -3133,8 +3140,8 @@ list items in the document until specified again. @endDefmac The following is an example of a bulleted list. -@cindex Example markup, bulleted list (ms) -@cindex Bulleted list, example markup (ms) +@cindex example markup, bulleted list [@code{ms}] +@cindex bulleted list, example markup [@code{ms}] @Example A bulleted list: @@ -3161,8 +3168,8 @@ o money @sp 1 The following is an example of a numbered list. -@cindex Example markup, numbered list (ms) -@cindex Numbered list, example markup (ms) +@cindex example markup, numbered list [@code{ms}] +@cindex numbered list, example markup [@code{ms}] @Example .nr step 1 1 @@ -3192,8 +3199,8 @@ register in this example. @sp 1 The following is an example of a glossary-style list. -@cindex Example markup, glossary-style list (ms) -@cindex Glossary-style list, example markup (ms) +@cindex example markup, glossary-style list [@code{ms}] +@cindex glossary-style list, example markup [@code{ms}] @Example A glossary-style list: @@ -3267,8 +3274,8 @@ Gotta pay for those lawyers and guns! @sp 1 To set nested lists, use the @code{RS} and @code{RE} macros. @xref{Indents in ms}, for more information. -@cindex @file{ms}, nested lists -@cindex Nested lists (ms) +@cindex @code{ms} macros, nested lists +@cindex nested lists [@code{ms}] For example: @@ -3344,10 +3351,10 @@ of default tab stops. @node ms Displays and Keeps, ms Insertions, Tabstops in ms, ms Body Text @subsubsection Displays and keeps -@cindex @file{ms}, displays -@cindex @file{ms}, keeps -@cindex Keeps (ms) -@cindex Displays (ms) +@cindex @code{ms} macros, displays +@cindex @code{ms} macros, keeps +@cindex keeps [@code{ms}] +@cindex displays [@code{ms}] Use displays to show text-based examples or figures (such as code listings). @@ -3456,14 +3463,14 @@ Text in the box is automatically placed in a diversion (keep). @node ms Insertions, Example multi-page table, ms Displays and Keeps, ms Body Text @subsubsection Tables, figures, equations, and references -@cindex @file{ms}, tables -@cindex @file{ms}, figures -@cindex @file{ms}, equations -@cindex @file{ms}, references -@cindex Tables (ms) -@cindex Figures (ms) -@cindex Equations (ms) -@cindex References (ms) +@cindex @code{ms} macros, tables +@cindex @code{ms} macros, figures +@cindex @code{ms} macros, equations +@cindex @code{ms} macros, references +@cindex tables [@code{ms}] +@cindex figures [@code{ms}] +@cindex equations [@code{ms}] +@cindex references [@code{ms}] The @file{ms} macros support the standard @code{groff} preprocessors: @@ -3517,8 +3524,8 @@ database. @node Example multi-page table, ms Footnotes, ms Insertions, ms Body Text @subsubsection An example multi-page table -@cindex Example markup, multi-page table (ms) -@cindex Multi-page table, example markup (ms) +@cindex example markup, multi-page table [@code{ms}] +@cindex multi-page table, example markup [@code{ms}] The following is an example of how to set up a table that may print across two or more pages. @@ -3543,8 +3550,8 @@ l | l . @node ms Footnotes, , Example multi-page table, ms Body Text @subsubsection Footnotes -@cindex @file{ms}, footnotes -@cindex Footnotes (ms) +@cindex @code{ms} macros, footnotes +@cindex footnotes [@code{ms}] The @file{ms} macro package has a flexible footnote system. You can specify either numbered footnotes or symbolic footnotes @@ -3574,8 +3581,8 @@ prints footnote numbers by changing the value of the @node ms Page Layout, Differences from AT&T ms, ms Body Text, ms @subsection Page layout -@cindex @file{ms}, page layout -@cindex Page layout (ms) +@cindex @code{ms} macros, page layout +@cindex page layout [@code{ms}] The default output from the @file{ms} macros provides a minimalist page layout: @@ -3598,10 +3605,10 @@ the proper number registers and strings. @node ms Headers and Footers, ms Margins, ms Page Layout, ms Page Layout @subsubsection Headers and footers -@cindex @file{ms}, headers -@cindex @file{ms}, footers -@cindex Headers (ms) -@cindex Footers (ms) +@cindex @code{ms} macros, headers +@cindex @code{ms} macros, footers +@cindex headers [@code{ms}] +@cindex footers [@code{ms}] For documents that do not distinguish between odd and even pages, set the following strings: @@ -3638,7 +3645,7 @@ appearing in the header or footer text. @node ms Margins, ms Multiple Columns, ms Headers and Footers, ms Page Layout @subsubsection Margins -@cindex @file{ms}, margins +@cindex @code{ms} macros, margins You control margins using a set of number registers. @xref{ms Document Control Registers}, for details. @@ -3647,8 +3654,8 @@ You control margins using a set of number registers. @node ms Multiple Columns, ms TOC, ms Margins, ms Page Layout @subsubsection Multiple columns -@cindex @file{ms}, multiple columns -@cindex Multiple columns (ms) +@cindex @code{ms} macros, multiple columns +@cindex multiple columns [@code{ms}] The @file{ms} macros can set text in as many columns as will reasonably fit on the page. @@ -3678,8 +3685,8 @@ The @code{MINGW} number register controls the default gutter width. @node ms TOC, ms Strings and Special Characters, ms Multiple Columns, ms Page Layout @subsubsection Creating a table of contents -@cindex @file{ms}, creating table of contents -@cindex Table of contents, creating (ms) +@cindex @code{ms} macros, creating table of contents +@cindex table of contents, creating [@code{ms}] The facilities in the @file{ms} macro package for creating a table of contents are semi-automated at best. @@ -3773,12 +3780,12 @@ a great deal of time in the long run if you use @file{ms} regularly. @node ms Strings and Special Characters, , ms TOC, ms Page Layout @subsubsection Strings and Special Characters -@cindex @file{ms}, strings -@cindex @file{ms}, special characters -@cindex @file{ms}, accent marks -@cindex Accent marks -@cindex Special characters -@cindex Strings in @file{ms} +@cindex @code{ms} macros, strings +@cindex @code{ms} macros, special characters +@cindex @code{ms} macros, accent marks +@cindex accent marks [@code{ms}] +@cindex special characters [@code{ms}] +@cindex strings [@code{ms}] The @file{ms} macros provide the following predefined strings. You can change the string definitions to help in creating @@ -3939,8 +3946,8 @@ Uppercase @AE{} ligature. @node Differences from AT&T ms, , ms Page Layout, ms @subsection Differences from @acronym{AT&T} @file{ms} -@cindex @file{ms}, differences from @acronym{AT&T} -@cindex @acronym{AT&T}, @code{ms} differences +@cindex @code{ms} macros, differences from @acronym{AT&T} +@cindex @acronym{AT&T} @code{troff}, @code{ms} macro package differences This section lists the (minor) differences between the @code{groff -ms} macros and @acronym{AT&T} @@ -3992,7 +3999,7 @@ A cover sheet macro @c --------------------------------------------------------------------- @node Additional ms Macros, , Missing ms Macros, Differences from AT&T ms -@subsubsection @code{groff} macros not appearing in AT&T @code{troff} +@subsubsection @code{groff} macros not appearing in @acronym{AT&T} @code{troff} The @code{groff -ms} macros have a few minor extensions compared to the @acronym{AT&T} @code{troff -ms} macros. @@ -4040,7 +4047,7 @@ You can change these to handle (for example) the local language. @node me, mm, ms, Macro Packages @section @file{me} -@cindex @file{me} +@cindex @code{me} macro package @c XXX documentation @c XXX this is a placeholder until we get stuff knocked into shape @@ -4052,7 +4059,7 @@ groff's @file{doc} directory. @node mm, , me, Macro Packages @section @file{mm} -@cindex @file{mm} +@cindex @code{mm} macro package @c XXX documentation @c XXX this is a placeholder until we get stuff knocked into shape @@ -4066,7 +4073,7 @@ the command line). @node gtroff Reference, Preprocessors, Macro Packages, Top @chapter @code{gtroff} Reference @cindex reference, @code{gtroff} -@cindex @code{gtroff} reference +@cindex @code{gtroff}, reference This chapter covers @strong{all} of the facilities of @code{gtroff}. Users of macro packages may skip it if not interested in details. @@ -4544,8 +4551,8 @@ not; this works only within @code{if} and @code{while} requests). See below for the use of unary operators in motion requests. @item -@cindex extremum operators -@cindex operators, extremum +@cindex extremum operators (@code{>?}, @code{<?}) +@cindex operators, extremum (@code{>?}, @code{<?}) @opindex >? @opindex <? Extrema: @samp{>?} (maximum), @samp{<?} (minimum). @@ -4611,9 +4618,9 @@ of the @emph{input} line. @cindex @code{pvs} request, using @code{+} and@w{ }@code{-} @cindex @code{rt} request, using @code{+} and@w{ }@code{-} @cindex @code{ti} request, using @code{+} and@w{ }@code{-} -@cindex @code{\H} escape, using @code{+} and@w{ }@code{-} -@cindex @code{\R} escape, using @code{+} and@w{ }@code{-} -@cindex @code{\s} escape, using @code{+} and@w{ }@code{-} +@cindex @code{\H}, using @code{+} and@w{ }@code{-} +@cindex @code{\R}, using @code{+} and@w{ }@code{-} +@cindex @code{\s}, using @code{+} and@w{ }@code{-} @samp{+} and @samp{-} are also treated differently by the following requests and escapes: @code{bp}, @code{in}, @code{ll}, @code{lt}, @code{nm}, @code{nr}, @code{pl}, @code{pn}, @code{po}, @code{ps}, @@ -4622,15 +4629,15 @@ Here, leading plus and minus signs indicate increments and decrements. @xref{Setting Registers}, for some examples. +@Defesc {\\B, ', anything, '} @cindex numeric expression, valid @cindex valid numeric expression -@Defesc {\\B, ', anything, '} Return@w{ }1 if @var{anything} is a valid numeric expression; or@w{ }0 if @var{anything} is empty or not a valid numeric expression. @endDefesc -@cindex space characters in expressions -@cindex expressions and space characters +@cindex space characters, in expressions +@cindex expressions, and space characters Due to the way arguments are parsed, spaces are not allowed in expressions, unless the entire expression is surrounded by parentheses. @@ -4831,7 +4838,7 @@ arguments (@emph{no} tabs here). @cindex structuring source code of documents or macro packages @cindex documents, structuring the source code -@cindex macro packages, strucuring the source code +@cindex macro packages, structuring the source code Since a control character followed by whitespace only is ignored, it is common practice to use this feature for structuring the source code of documents or macro packages. @@ -5198,8 +5205,8 @@ All escape sequences except @code{\%}, @code{\:}, @code{\@{}, @code{\@}}, @code{\/}, @code{\c}, @code{\e}, and @code{\p}. @end itemize -@cindex printing backslash (@code{\\}, @code{\e}, @code{\E}, @code{\(rs}) -@cindex backslash, printing (@code{\\}, @code{\e}, @code{\E}, @code{\(rs}) +@cindex printing backslash (@code{\\}, @code{\e}, @code{\E}, @code{\[rs]}) +@cindex backslash, printing (@code{\\}, @code{\e}, @code{\E}, @code{\[rs]}) To have a backslash (actually, the current escape character) appear in the output several escapes are defined: @code{\\}, @code{\e} or @code{\E}. These are very similar, and only differ with respect to being used in @@ -5227,19 +5234,17 @@ Start a comment. Everything to the end of the input line is ignored. This may sound simple, but it can be tricky to keep the comments from interfering with the appearance of the final output. -@cindex @code{ds} request, and comments -@cindex @code{ds1} request, and comments -@cindex @code{as} request, and comments -@cindex @code{as1} request, and comments +@cindex @code{ds}, @code{ds1} requests, and comments +@cindex @code{as}, @code{as1} requests, and comments If the escape is to the right of some text or a request, that portion of the line is ignored, but the space leading up to it is noticed by @code{gtroff}. This only affects the @code{.ds} and @code{.as} request and its variants. -@cindex tabs before comments +@cindex tabs, before comments @cindex comments, lining up with tabs One possibly irritating idiosyncracy is that tabs must not be used to -line up comments. Tabs are not treated as white space between the +line up comments. Tabs are not treated as whitespace between the request and macro arguments. @cindex undefined request @@ -5430,16 +5435,26 @@ with a @samp{0}: @endDefreq @Defreq {rr, ident} +@cindex removing number register (@code{rr}) +@cindex number register, removing (@code{rr}) +@cindex register, removing (@code{rr}) Remove number register @var{ident}. If @var{ident} doesn't exist, the request is ignored. @endDefreq @Defreq {rnn, ident1 ident2} +@cindex renaming number register (@code{rnn}) +@cindex number register, renaming (@code{rnn}) +@cindex register, renaming (@code{rnn}) Rename number register @var{ident1} to @var{ident2}. If either @var{ident1} or @var{ident2} doesn't exist, the request is ignored. @endDefreq @Defreq {aln, ident1 ident2} +@cindex alias, number register, creating (@code{aln}) +@cindex creating alias, for number register (@code{aln}) +@cindex number register, creating alias (@code{aln}) +@cindex register, creating alias (@code{aln}) Create an alias @var{ident1} for a number register @var{ident2}. The new name and the old name are exactly equivalent. If @var{ident1} is undefined, a warning of type @samp{reg} is generated, and the request @@ -5455,13 +5470,13 @@ is ignored. @xref{Debugging}, for information about warnings. Numeric registers can be accessed via the @code{\n} escape. +@DefescList {\\n, , i, } +@DefescItem {\\n, @lparen{}, id, } +@DefescListEnd {\\n, @lbrack{}, ident, @rbrack} @cindex nested assignments @cindex assignments, nested @cindex indirect assignments @cindex assignments, indirect -@DefescList {\\n, , i, } -@DefescItem {\\n, @lparen{}, id, } -@DefescListEnd {\\n, @lbrack{}, ident, @rbrack} Interpolate number register with name @var{ident} (one-character name@w{ }@var{i}, two-character name @var{id}). This means that the value of the register is expanded in-place while @code{gtroff} is parsing the input line. @@ -5497,8 +5512,8 @@ Number registers can also be auto-incremented and auto-decremented. The increment or decrement value can be specified with a third argument to the @code{nr} request or @code{\R} escape. -@cindex @code{\R}, difference to @code{nr} @Defreq {nr, ident value incr} +@cindex @code{\R}, difference to @code{nr} Set number register @var{ident} to @var{value}; the increment for auto-incrementing is set to @var{incr}. Note that the @code{\R} escape doesn't support this notation. @@ -5634,17 +5649,17 @@ thousand and Roman numeral ten thousand (Unicode code points If @var{ident} doesn't exist, it is created. @cindex read-only register, changing format -@cindex changing format, read-only register +@cindex changing format, and read-only registers Changing the output format of a read-only register causes an error. It is necessary to first copy the register's value to a writeable register, then apply the @code{af} request to this other register. @endDefreq -@cindex format of register (@code{\g}) -@cindex register, format (@code{\g}) @DefescList {\\g, , i, } @DefescItem {\\g, @lparen{}, id, } @DefescListEnd {\\g, @lbrack{}, ident, @rbrack{}} +@cindex format of register (@code{\g}) +@cindex register, format (@code{\g}) Return the current format of the specified register @var{ident} (one-character name@w{ }@var{i}, two-character name @var{id}). For example, @samp{\ga} after the previous example would produce the @@ -5781,7 +5796,7 @@ The process ID of @code{gtroff}. @item .g @vindex .g -@cindex @code{gtroff} identification register (@code{.g}) +@cindex @code{gtroff}, identification register (@code{.g}) @cindex GNU-specific register (@code{.g}) Always@w{ }1. Macros should use this to determine whether they are running under GNU @code{troff}. @@ -5862,10 +5877,10 @@ Initially, @code{gtroff} fills and adjusts text to both margins. Filling can be disabled via the @code{nf} request and re-enabled with the @code{fi} request. -@cindex fill mode (@code{fi}) -@cindex mode, fill (@code{fi}) @DefreqList {fi, } @DefregListEnd {.u} +@cindex fill mode (@code{fi}) +@cindex mode, fill (@code{fi}) Activate fill mode (which is the default). This request implicitly enables adjusting; it also inserts a break in the text currently being filled. The read-only number register @code{.u} is set to@w{ }1. @@ -5876,9 +5891,9 @@ The fill mode status is associated with the current environment See @ref{Line Control}, for interaction with the @code{\c} escape. @endDefreq +@Defreq {nf, } @cindex no-fill mode (@code{nf}) @cindex mode, no-fill (@code{nf}) -@Defreq {nf, } Activate no-fill mode. Input lines are output as-is, retaining line breaks and ignoring the current line length. This command implicitly disables adjusting; it also causes a break. The number register @@ -5911,7 +5926,7 @@ Adjust text to the right margin, producing ragged-left text. @item c @cindex centered text -@cindex @code{ce} request, difference to @code{ad@w{ }c} +@cindex @code{ce} request, difference to @samp{.ad@w{ }c} Center filled text. This is different to the @code{ce} request which only centers text without filling. @@ -5979,15 +5994,15 @@ is formatted as @endExample @endDefreq +@DefreqList {ss, word_space_size [@Var{sentence_space_size}]} +@DefregItem {.ss} +@DefregListEnd {.sss} @cindex word space size register (@code{.ss}) @cindex size of word space register (@code{.ss}) @cindex space between words register (@code{.ss}) @cindex sentence space size register (@code{.sss}) @cindex size of sentence space register (@code{.sss}) @cindex space between sentences register (@code{.sss}) -@DefreqList {ss, word_space_size [@Var{sentence_space_size}]} -@DefregItem {.ss} -@DefregListEnd {.sss} Change the minimum size of a space between filled words. It takes its units as one twelfth of the space width parameter for the current font. Initially both the @var{word_space_size} and @@ -6015,17 +6030,17 @@ values of the parameters set by the first and second arguments of the The word space and sentence space values are associated with the current environment (@pxref{Environments}). -Contrary to traditional Unix @code{troff}, this request is @emph{not} -ignored if a tty output device is used; the given values are then +Contrary to traditional @acronym{AT&T} @code{troff}, this request is @emph{not} +ignored if a TTY output device is used; the given values are then rounded down to a multiple of@w{ }12 (@pxref{Implementation Differences}). The request is ignored if there is no parameter. @endDefreq -@cindex centering lines (@code{ce}) -@cindex lines, centering (@code{ce}) @DefreqList {ce, [@Var{nnn}]} @DefregListEnd {.ce} +@cindex centering lines (@code{ce}) +@cindex lines, centering (@code{ce}) Center text. While the @w{@samp{.ad c}} request also centers text, it fills the text as well. @code{ce} does not fill the text it affects. This request causes a break. The number of lines @@ -6077,11 +6092,11 @@ The @code{.ce} read-only number register contains the number of lines remaining to be centered, as set by the @code{ce} request. @endDefreq +@DefreqList {rj, [@Var{nnn}]} +@DefregListEnd {.rj} @cindex justifying text (@code{rj}) @cindex text, justifying (@code{rj}) @cindex right-justifying (@code{rj}) -@DefreqList {rj, [@Var{nnn}]} -@DefregListEnd {.rj} Justify unfilled text to the right margin. Arguments are identical to the @code{ce} request. The @code{.rj} read-only number register is the number of lines to be right-justified as set by the @code{rj} @@ -6142,14 +6157,14 @@ The hyphenation mode is associated with the current environment (@pxref{Environments}). @endDefreq +@DefreqList {hlm, [@Var{nnn}]} +@DefregItem {.hlm} +@DefregListEnd {.hlc} @cindex explicit hyphen (@code{\%}) @cindex hyphen, explicit (@code{\%}) @cindex consecutive hyphenated lines (@code{hlm}) @cindex lines, consecutive hyphenated (@code{hlm}) @cindex hyphenated lines, consecutive (@code{hlm}) -@DefreqList {hlm, [@Var{nnn}]} -@DefregItem {.hlm} -@DefregListEnd {.hlc} Set the maximum number of consecutive hyphenated lines to @var{nnn}. If this number is negative, there is no maximum. The default value is@w{ }@minus{}1 if @var{nnn} is omitted. This value is associated @@ -6190,10 +6205,6 @@ store such information; fortunately, with @code{gtroff}, this is no longer a restriction. @endDefreq -@cindex hyphenation character (@code{\%}) -@cindex character, hyphenation (@code{\%}) -@cindex disabling hyphenation (@code{\%}) -@cindex hyphenation, disabling (@code{\%}) @DefescList {\\%, , , } @deffnx Escape @t{\:} @ifnotinfo @@ -6202,6 +6213,10 @@ longer a restriction. @ifinfo @esindex @r{<colon>} @end ifinfo +@cindex hyphenation character (@code{\%}) +@cindex character, hyphenation (@code{\%}) +@cindex disabling hyphenation (@code{\%}) +@cindex hyphenation, disabling (@code{\%}) To tell @code{gtroff} how to hyphenate words on the fly, use the @code{\%} escape, also known as the @dfn{hyphenation character}. Preceding a word with this character prevents it from being @@ -6229,11 +6244,11 @@ The hyphenation character is associated with the current environment (@pxref{Environments}). @endDefreq -@cindex hyphenation patterns (@code{hpf}) -@cindex patterns for hyphenation (@code{hpf}) @DefreqList {hpf, pattern_file} @DefreqItem {hpfa, pattern_file} @DefreqListEnd {hpfcode, a b [c d @dots{}]} +@cindex hyphenation patterns (@code{hpf}) +@cindex patterns for hyphenation (@code{hpf}) Read in a file of hyphenation patterns. This file is searched for in the same way as @file{@var{name}.tmac} (or @file{tmac.@var{name}}) is searched for if the @option{-m@var{name}} option is specified. @@ -6304,9 +6319,9 @@ Invoking @code{hpf} causes an error if there is no current hyphenation language. @endDefreq +@Defreq {hcode, c1 code1 c2 code2 @dots{}} @cindex hyphenation code (@code{hcode}) @cindex code, hyphenation (@code{hcode}) -@Defreq {hcode, c1 code1 c2 code2 @dots{}} Set the hyphenation code of character @var{c1} to @var{code1}, that of @var{c2} to @var{code2}, etc. A hyphenation code must be a single input character (not a special character) other than a digit or a @@ -6318,11 +6333,11 @@ version of itself. This request is ignored if it has no parameter. @endDefreq +@DefreqList {hym, [@Var{length}]} +@DefregListEnd {.hym} @cindex hyphenation margin (@code{hym}) @cindex margin for hyphenation (@code{hym}) @cindex @code{ad} request, and hyphenation margin -@DefreqList {hym, [@Var{length}]} -@DefregListEnd {.hym} Set the (right) hyphenation margin to @var{length}. If the current adjustment mode is not @samp{b} or @samp{n}, the line is not hyphenated if it is shorter than @var{length}. Without an argument, @@ -6339,10 +6354,10 @@ The current hyphenation margin is available in the @code{.hym} read-only number register. @endDefreq -@cindex hyphenation space (@code{hys}) -@cindex @code{ad} request, and hyphenation space @DefreqList {hys, [@Var{hyphenation_space}]} @DefregListEnd {.hys} +@cindex hyphenation space (@code{hys}) +@cindex @code{ad} request, and hyphenation space Set the hyphenation space to @var{hyphenation_space}. If the current adjustment mode is @samp{b} or @samp{n}, don't hyphenate the line if it can be justified by adding no more than @var{hyphenation_space} @@ -6360,13 +6375,13 @@ The current hyphenation space is available in the @code{.hys} read-only number register. @endDefreq +@Defreq {shc, [@Var{char}]} @cindex soft hyphen character, setting (@code{shc}) @cindex character, soft hyphen, setting (@code{shc}) @cindex glyph, soft hyphen (@code{hy}) @cindex soft hyphen glyph (@code{hy}) @cindex @code{char} request, and soft hyphen character @cindex @code{tr} request, and soft hyphen character -@Defreq {shc, [@Var{char}]} Set the soft hyphen character to @var{char}. If the argument is omitted, the soft hyphen character is set to the default character @code{\(hy} (this is the start-up value of @code{gtroff} also). The @@ -6379,12 +6394,12 @@ definitions (specified with the @code{char} request) nor translations soft hyphen character. @endDefreq +@DefreqList {hla, language} +@DefregListEnd {.hla} @cindex @code{hpf} request, and hyphenation language @cindex @code{hw} request, and hyphenation language @pindex troffrc @pindex troffrc-end -@DefreqList {hla, language} -@DefregListEnd {.hla} Set the current hyphenation language to the string @var{language}. Hyphenation exceptions specified with the @code{hw} request and hyphenation patterns specified with the @code{hpf} and @code{hpfa} @@ -6420,9 +6435,9 @@ then @code{gtroff} moves that distance from the top of the page. This request causes a line break. The default scaling indicator is @samp{v}. @endDefreq -@cindex double spacing (@code{ls}) @DefreqList {ls, [@Var{nnn}]} @DefregListEnd {.L} +@cindex double spacing (@code{ls}) Output @w{@var{nnn}@minus{}1} blank lines after each line of text. With no argument, @code{gtroff} uses the previous value before the last @code{ls} call. @@ -6490,14 +6505,14 @@ This is a test with the \b escape. @endExample @endDefesc +@DefreqList {ns, } +@DefreqItem {rs, } +@DefregListEnd {.ns} @cindex @code{sp} request, and no-space mode @cindex no-space mode (@code{ns}) @cindex mode, no-space (@code{ns}) @cindex blank lines, disabling @cindex lines, blank, disabling -@DefreqList {ns, } -@DefreqItem {rs, } -@DefregListEnd {.ns} Enable @dfn{no-space mode}. In this mode, spacing (either via @code{sp} or via blank lines) is disabled. The @code{bp} request to advance to the next page is also disabled, except if it is accompanied @@ -6517,16 +6532,17 @@ except when it is the first paragraph after a section header). @node Tabs and Fields, Character Translations, Manipulating Spacing, gtroff Reference @section Tabs and Fields -@cindex tabs and fields -@cindex fields and tabs +@cindex tabs, and fields +@cindex fields, and tabs @cindex @acronym{EBCDIC} encoding of a tab A tab character (@acronym{ASCII} char@w{ }9, @acronym{EBCDIC} char@w{ }5) causes a horizontal movement to the next tab stop (much like it did on a typewriter). -@cindex tab character, non-interpreted (@code{\t}) @Defesc {\\t, , , } +@cindex tab character, non-interpreted (@code{\t}) +@cindex character, tab, non-interpreted (@code{\t}) This escape is a non-interpreted tab character. In copy mode (@pxref{Copy-in Mode}), @code{\t} is the same as a real tab character. @endDefesc @@ -6658,7 +6674,7 @@ Tab stops are associated with the current environment Calling @code{ta} without an argument removes all tab stops. @item -@cindex tab stops, for tty output devices +@cindex tab stops, for TTY output devices The start-up value of @code{gtroff} is @w{@samp{T 0.5i}} in troff mode and @w{@samp{T 0.8i}} in nroff mode (the latter is done with an explicit call to the @code{ta} request in the file @file{tty.tmac}. @@ -6681,9 +6697,9 @@ The @code{troff} version of the Plan@w{ }9 operating system uses register @code{.S} for the same purpose. @endDefreq +@Defreq {tc, [@Var{fill-char}]} @cindex tab repetition character (@code{tc}) @cindex character, tab repetition (@code{tc}) -@Defreq {tc, [@Var{fill-char}]} Normally @code{gtroff} fills the space to the next tab stop with whitespace. This can be changed with the @code{tc} request. With no argument @code{gtroff} reverts to using whitespace, which is the @@ -6691,10 +6707,11 @@ default. The value of this @dfn{tab repetition} character is associated with the current environment (@pxref{Environments}). @endDefreq -@cindex tab, line-tabs mode -@cindex line-tabs mode @DefreqList {linetabs, n} @DefregListEnd {.linetabs} +@cindex tab, line-tabs mode +@cindex line-tabs mode +@cindex mode, line-tabs If @var{n} is missing or not zero, enable @dfn{line-tabs} mode, or disable it otherwise (the default). In line-tabs mode, @code{gtroff} computes tab distances @@ -6754,16 +6771,17 @@ character: It moves to the next tab stop. The only difference is that for this movement, the fill character defaults to a period character and not to space. -@cindex leader character, non-interpreted (@code{\a}) @Defesc {\\a, , , } +@cindex leader character, non-interpreted (@code{\a}) +@cindex character, leader, non-interpreted (@code{\a}) This escape is a non-interpreted leader character. In copy mode (@pxref{Copy-in Mode}), @code{\a} is the same as a real leader character. @endDefesc +@Defreq {lc, [@Var{fill-char}]} @cindex leader repetition character (@code{lc}) @cindex character, leader repetition (@code{lc}) -@Defreq {lc, [@Var{fill-char}]} Declare the leader character. Without an argument, leaders act the same as tabs (i.e., using whitespace for filling). @code{gtroff}'s start-up value is @samp{.}. The value of this @dfn{leader repetition} @@ -6799,10 +6817,10 @@ This produces @cindex fields @cindex field delimiting character (@code{fc}) -@cindex delimiting character for fields (@code{fc}) +@cindex delimiting character, for fields (@code{fc}) @cindex character, field delimiting (@code{fc}) @cindex field padding character (@code{fc}) -@cindex padding character for fields (@code{fc}) +@cindex padding character, for fields (@code{fc}) @cindex character, field padding (@code{fc}) @dfn{Fields} are a more general way of laying out tabular data. A field is defined as the data between a pair of @dfn{delimiting characters}. @@ -6873,9 +6891,9 @@ no-break control character is associated with the current environment (@pxref{Environments}). @endDefreq +@Defreq {eo, } @cindex disabling @code{\} (@code{eo}) @cindex @code{\}, disabling (@code{eo}) -@Defreq {eo, } Disable the escape mechanism completely. After executing this request, the backslash character @samp{\} no longer starts an escape sequence. @@ -6901,9 +6919,9 @@ necessary then to double the escape character. Here an example: @endExample @endDefreq +@Defreq {ec, [@Var{c}]} @cindex escape character, changing (@code{ec}) @cindex character, escape, changing (@code{ec}) -@Defreq {ec, [@Var{c}]} Set the escape character to@w{ }@var{c}. With no argument the default escape character @samp{\} is restored. It can be also used to re-enable the escape mechanism after an @code{eo} request. @@ -7045,7 +7063,7 @@ Some notes: @cindex @code{\C}, and translations @cindex @code{\N}, and translations @cindex @code{char} request, and translations -@cindex special character +@cindex special characters @cindex character, special @cindex numbered character (@code{\N}) @cindex character, numbered (@code{\N}) @@ -7065,13 +7083,13 @@ Characters can be mapped onto the @code{\%} and @code{\~} escapes (but @code{\%} and @code{\~} can't be mapped onto another character). @item -@cindex backspace character and translations +@cindex backspace character, and translations @cindex character, backspace, and translations -@cindex leader character and translations +@cindex leader character, and translations @cindex character, leader, and translations -@cindex newline character and translations +@cindex newline character, and translations @cindex character, newline, and translations -@cindex tab character and translations +@cindex tab character, and translations @cindex character, tab, and translations @cindex @code{\a}, and translations @cindex @code{\t}, and translations @@ -7132,8 +7150,8 @@ Without an argument, the @code{tr} request is ignored. @end itemize @endDefreq -@cindex @code{\!}, and @code{trnt} @Defreq {trnt, @Var{a}@Var{b}@Var{c}@Var{d}@dots{}} +@cindex @code{\!}, and @code{trnt} @code{trnt} is the same as the @code{tr} request except that the translations do not apply to text that is transparently throughput into a diversion with @code{\!}. @xref{Diversions}, for more @@ -7165,41 +7183,41 @@ instead of @code{tr} it prints @samp{a}. @cindex mode, nroff Originally, @code{nroff} and @code{troff} were two separate programs, -the former for tty output, the latter for everything else. With GNU +the former for TTY output, the latter for everything else. With GNU @code{troff}, both programs are merged into one executable, sending -its output to a device driver (@code{grotty} for tty devices, +its output to a device driver (@code{grotty} for TTY devices, @code{grops} for @sc{PostScript}, etc.) which interprets the intermediate output of @code{gtroff}. For @acronym{UNIX} @code{troff} it makes sense to talk about @dfn{Nroff mode} and @dfn{Troff mode} since the differences are hardcoded. For GNU @code{troff}, this distinction is not appropriate because @code{gtroff} simply takes the information given in the font files for a particular device without -handling requests specially if a tty output device is used. +handling requests specially if a TTY output device is used. Usually, a macro package can be used with all output devices. Nevertheless, it is sometimes necessary to make a distinction between -tty and non-tty devices: @code{gtroff} provides two built-in +TTY and non-TTY devices: @code{gtroff} provides two built-in conditions @samp{n} and @samp{t} for the @code{if}, @code{ie}, and @code{while} requests to decide whether @code{gtroff} shall behave like @code{nroff} or like @code{troff}. +@Defreq {troff, } @pindex troffrc @pindex troffrc-end -@Defreq {troff, } Make the @samp{t} built-in condition true (and the @samp{n} built-in condition false) for @code{if}, @code{ie}, and @code{while} conditional requests. This is the default if @code{gtroff} (@emph{not} @code{groff}) is started with the @option{-R} switch to avoid loading of the start-up files @file{troffrc} and @file{troffrc-end}. Without @option{-R}, @code{gtroff} stays in troff -mode if the output device is not a tty (e.g.@: `ps'). +mode if the output device is not a TTY (e.g.@: `ps'). @endDefreq -@pindex tty.tmac @Defreq {nroff, } +@pindex tty.tmac Make the @samp{n} built-in condition true (and the @samp{t} built-in condition false) for @code{if}, @code{ie}, and @code{while} -conditional requests. This is the default if @code{gtroff} uses a tty +conditional requests. This is the default if @code{gtroff} uses a TTY output device; the code for switching to nroff mode is in the file @file{tty.tmac} which is loaded by the start-up file @code{troffrc}. @endDefreq @@ -7285,16 +7303,16 @@ parameters restore the previ- ous values. @endExample -@pindex troffrc @DefreqList {po, [@Var{offset}]} @DefreqItem {po, @t{+}@Var{offset}} @DefreqItem {po, @t{-}@Var{offset}} @DefregListEnd {.o} +@pindex troffrc Set horizontal page offset to @var{offset} (or increment or decrement the current value by @var{offset}). Note that this request does not cause a break, so changing the page offset in the middle of text being filled may not yield the expected result. The initial value is -1@dmn{i}. For tty output devices, it is set to 0 in the startup file +1@dmn{i}. For TTY output devices, it is set to 0 in the startup file @file{troffrc}; the default scaling indicator is @samp{m} (and not @samp{v} as incorrectly documented in the original @acronym{UNIX} troff manual). @@ -7448,12 +7466,12 @@ current position (at the end of the just emitted argument @code{\$1}) back to the beginning of the input line. Thus, the @samp{\l} escape draws a line from right to left. -@cindex input line continuation -@cindex line, input, continuation -@cindex continuation, input line -@cindex output line continuation -@cindex line, output, continuation -@cindex continuation, output line +@cindex input line continuation (@code{\}) +@cindex line, input, continuation (@code{\}) +@cindex continuation, input line (@code{\}) +@cindex output line, continuation (@code{\c}) +@cindex line, output, continuation (@code{\c}) +@cindex continuation, output line (@code{\c}) @cindex interrupted line @cindex line, interrupted @code{gtroff} makes a difference between input and output line @@ -7474,7 +7492,7 @@ This is a \ The @samp{|} operator is also affected. -@cindex @code{\R} escape, after @code{\c} +@cindex @code{\R}, after @code{\c} @code{\c} works on the output level. Anything after this escape on the same line is ignored, except @code{\R} which works as usual. Anything before @code{\c} on the same line will be appended to the current partial @@ -7485,7 +7503,7 @@ The visual results depend on whether no-fill mode is active. @itemize @bullet @item -@cindex @code{\c} escape, and no-fill mode +@cindex @code{\c}, and no-fill mode @cindex no-fill mode, and @code{\c} @cindex mode, no-fill, and @code{\c} If no-fill mode is active (using the @code{nf} request), the next input @@ -7500,7 +7518,7 @@ test. @endExample @item -@cindex @code{\c} escape, and fill mode +@cindex @code{\c}, and fill mode @cindex fill mode, and @code{\c} @cindex mode, fill, and @code{\c} If fill mode is active (using the @code{fi} request), a word interrupted @@ -7534,12 +7552,12 @@ associated with the current environment (@pxref{Environments}). @code{gtroff} provides some very primitive operations for controlling page layout. -@cindex page length (@code{pl}) -@cindex length of page (@code{pl}) @DefreqList {pl, [@Var{length}]} @DefreqItem {pl, @t{+}@Var{length}} @DefreqItem {pl, @t{-}@Var{length}} @DefregListEnd {.p} +@cindex page length (@code{pl}) +@cindex length of page (@code{pl}) Set the @dfn{page length} to @var{length} (or increment or decrement the current value by @var{length}). This is the length of the physical output page. The default scaling indicator is @samp{v}. @@ -7570,10 +7588,10 @@ length to 11@dmn{i}. @code{gtroff} provides several operations which help in setting up top and bottom titles (or headers and footers). +@Defreq {tl, @t{'}@Var{left}@t{'}@Var{center}@t{'}@Var{right}@t{'}} @cindex title line (@code{tl}) @cindex three-part title (@code{tl}) @cindex page number character (@code{%}) -@Defreq {tl, @t{'}@Var{left}@t{'}@Var{center}@t{'}@Var{right}@t{'}} Print a @dfn{title line}. It consists of three parts: a left justified portion, a centered portion, and a right justified portion. The argument separator @samp{'} can be replaced with any character not @@ -7609,13 +7627,13 @@ changing the font or font size) are undone after processing @code{tl}. @end itemize @endDefreq -@cindex length of title line (@code{lt}) -@cindex title line, length (@code{lt}) -@cindex title line length register (@code{.lt}) @DefreqList {lt, [@Var{length}]} @DefreqItem {lt, @t{+}@Var{length}} @DefreqItem {lt, @t{-}@Var{length}} @DefregListEnd {.lt} +@cindex length of title line (@code{lt}) +@cindex title line, length (@code{lt}) +@cindex title line length register (@code{.lt}) The title line is printed using its own line length, which is specified (or incremented or decremented) with the @code{lt} request. Initially, the title line length is set to 6.5@dmn{i}. If a negative @@ -7631,12 +7649,12 @@ number register; it is associated with the current environment @endDefreq -@cindex page number (@code{pn}) -@cindex number, page (@code{pn}) @DefreqList {pn, page} @DefreqItem {pn, @t{+}@Var{page}} @DefreqItem {pn, @t{-}@Var{page}} @DefregListEnd {.pn} +@cindex page number (@code{pn}) +@cindex number, page (@code{pn}) Change (increase or decrease) the page number of the @emph{next} page. The only argument is the page number; the request is ignored without a parameter. @@ -7646,15 +7664,15 @@ page: either the value set by a @code{pn} request, or the number of the current page plus@w{ }1. @endDefreq -@cindex page number register (@code{%}) @Defreg {%} +@cindex page number register (@code{%}) A read-write register holding the current page number. @endDefreg +@Defreq {pc, [@Var{char}]} @cindex changing the page number character (@code{pc}) @cindex page number character, changing (@code{pc}) @vindex % -@Defreq {pc, [@Var{char}]} Change the page number character (used by the @code{tl} request) to a different character. With no argument, this mechanism is disabled. Note that this doesn't affect the number register@w{ }@code{%}. @@ -7670,11 +7688,11 @@ Note that this doesn't affect the number register@w{ }@code{%}. @cindex page control @cindex control, page -@cindex new page (@code{bp}) -@cindex page, new (@code{bp}) @DefreqList {bp, [@Var{page}]} @DefreqItem {bp, @t{+}@Var{page}} @DefreqListEnd {bp, @t{-}@Var{page}} +@cindex new page (@code{bp}) +@cindex page, new (@code{bp}) Stop processing the current page and move to the next page. This request causes a break. It can also take an argument to set (increase, decrease) the page number of the next page. The only @@ -7691,16 +7709,16 @@ cause a break or actually eject a page. @endExample @cindex @code{bp} request, and top-level diversion -@cindex top-level diversion and @code{bp} +@cindex top-level diversion, and @code{bp} @cindex diversion, top-level, and @code{bp} @code{bp} has no effect if not called within the top-level diversion (@pxref{Diversions}). @endDefreq +@Defreq {ne, [@Var{space}]} @cindex orphan lines, preventing with @code{ne} @cindex conditional page break (@code{ne}) @cindex page break, conditional (@code{ne}) -@Defreq {ne, [@Var{space}]} It is often necessary to force a certain amount of space before a new page occurs. This is most useful to make sure that there is not a single @dfn{orphan} line left at the bottom of a page. The @code{ne} @@ -7722,9 +7740,9 @@ text text text for one line only. @endDefreq -@cindex @code{ne} request, comparison with @code{sv} @DefreqList {sv, [@Var{space}]} @DefreqListEnd {os, } +@cindex @code{ne} request, comparison with @code{sv} @code{sv} is similar to the @code{ne} request; it reserves the specified amount of vertical space. If the desired amount of space exists before the next trap (or the bottom page boundary if no trap is @@ -7797,7 +7815,7 @@ registers. @code{gtroff} can switch fonts at any point in the text. The basic set of fonts is @samp{R}, @samp{I}, @samp{B}, and @samp{BI}. -These are Times Roman, Italic, Bold, and Bold Italic. For non-tty +These are Times Roman, Italic, Bold, and Bold Italic. For non-TTY devices, there is also at least one symbol font which contains various special symbols (Greek, mathematics). @@ -7817,18 +7835,18 @@ special symbols (Greek, mathematics). @subsection Changing Fonts @cindex fonts +@DefreqList {ft, [@Var{font}]} +@DefescItem {\\f, , f, } +@DefescItem {\\f, @lparen{}, fn, } +@DefescListEnd {\\f, @lbrack{}, font, @rbrack} @cindex changing fonts (@code{ft}, @code{\f}) @cindex fonts, changing (@code{ft}, @code{\f}) @cindex @code{sty} request, and changing fonts @cindex @code{fam} request, and changing fonts -@cindex @code{\F} escape, and changing fonts +@cindex @code{\F}, and changing fonts @kindex styles @kindex family @pindex DESC -@DefreqList {ft, [@Var{font}]} -@DefescItem {\\f, , f, } -@DefescItem {\\f, @lparen{}, fn, } -@DefescListEnd {\\f, @lbrack{}, font, @rbrack} The @code{ft} request and the @code{\f} escape change the current font to @var{font} (one-character name@w{ }@var{f}, two-character name @var{fn}). @@ -7872,6 +7890,7 @@ the fly: @xref{Font Positions}, for an alternative syntax. @endDefreq +@Defreq {ftr, f [@Var{g}]} @cindex @code{ft} request, and font translations @cindex @code{ul} request, and font translations @cindex @code{bd} request, and font translations @@ -7882,7 +7901,6 @@ the fly: @cindex @code{fspecial} request, and font translations @cindex @code{fp} request, and font translations @cindex @code{sty} request, and font translations -@Defreq {ftr, f [@Var{g}]} Translate font@w{ }@var{f} to font@w{ }@var{g}. Whenever a font named@w{ }@var{f} is referred to in a @code{\f} escape sequence, or in the @code{ft}, @code{ul}, @code{bd}, @code{cs}, @code{tkf}, @@ -7906,8 +7924,8 @@ specified as the concatenation of the font family and style. Specifying a font without the family part causes @code{gtroff} to use that style of the current family. -@cindex postscript fonts -@cindex fonts, postscript +@cindex PostScript fonts +@cindex fonts, PostScript Currently, fonts for the devices @option{-Tps}, @option{-Tdvi}, and @option{-Tlbp} are set up to this mechanism. By default, @code{gtroff} uses the Times family with the four styles @@ -7916,14 +7934,14 @@ By default, @code{gtroff} uses the Times family with the four styles This way, it is possible to use the basic four fonts and to select a different font family on the command line (@pxref{Groff Options}). -@cindex changing font family (@code{fam}, @code{\F}) -@cindex font family, changing (@code{fam}, @code{\F}) @DefreqList {fam, [@Var{family}]} @DefregItem {.fam} @DefescItem {\\F, , f, } @DefescItem {\\F, @lparen{}, fm, } @DefescItem {\\F, @lbrack{}, family, @rbrack} @DefregListEnd {.fn} +@cindex changing font family (@code{fam}, @code{\F}) +@cindex font family, changing (@code{fam}, @code{\F}) Switch font family to @var{family} (one-character name@w{ }@var{f}, two-character name @var{fm}). If no argument is given, switch back to the previous font family. Use @code{\F[]} to do this with the @@ -7965,6 +7983,7 @@ If the current font is a style, the value of @code{\n[.fn]} is the proper concatenation of family and style name. @endDefreq +@Defreq {sty, n style} @cindex changing font style (@code{sty}) @cindex font style, changing (@code{sty}) @cindex @code{cs} request, and font styles @@ -7972,7 +7991,6 @@ is the proper concatenation of family and style name. @cindex @code{tkf} request, and font styles @cindex @code{uf} request, and font styles @cindex @code{fspecial} request, and font styles -@Defreq {sty, n style} Associate @var{style} with font position@w{ }@var{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 @@ -8053,11 +8071,11 @@ For the sake of old phototypesetters and compatibility with old versions of @code{troff}, @code{gtroff} has the concept of font @dfn{positions}, on which various fonts are mounted. -@cindex mounting font (@code{fp}) -@cindex font, mounting (@code{fp}) @DefreqList {fp, pos font [@Var{external-name}]} @DefregItem {.f} @DefregListEnd {.fp} +@cindex mounting font (@code{fp}) +@cindex font, mounting (@code{fp}) Mount font @var{font} at position @var{pos} (which must be a non-negative integer). This numeric position can then be referred to with font changing commands. When @code{gtroff} starts it is using @@ -8108,18 +8126,18 @@ fonts with long names in compatibility mode. Both the @code{ft} request and the @code{\f} escape have alternative syntax forms to access font positions. +@DefreqList {ft, nnn} +@DefescItem {\\f, , n, } +@DefescItem {\\f, @lparen{}, nn, } +@DefescListEnd {\\f, @lbrack{}, nnn, @rbrack} @cindex changing font position (@code{\f}) @cindex font position, changing (@code{\f}) @cindex @code{sty} request, and font positions @cindex @code{fam} request, and font positions -@cindex @code{\F} escape, and font positions +@cindex @code{\F}, and font positions @kindex styles @kindex family @pindex DESC -@DefreqList {ft, nnn} -@DefescItem {\\f, , n, } -@DefescItem {\\f, @lparen{}, nn, } -@DefescListEnd {\\f, @lbrack{}, nnn, @rbrack} Change the current font position to @var{nnn} (one-digit position@w{ }@var{n}, two-digit position @var{nn}), which must be a non-negative integer. @@ -8256,20 +8274,20 @@ groff -Tdvi -mec -man groff_char.7 > groff_char.dvi @c XXX list of common symbols @endDefesc +@Defesc {\\C, ', xxx, '} @cindex named character (@code{\C}) @cindex character, named (@code{\C}) -@Defesc {\\C, ', xxx, '} Typeset the character named @var{xxx}. Normally it is more convenient to use @code{\[@var{xxx}]}, but @code{\C} has the advantage that it is compatible with newer versions of @code{ditroff} and is available in compatibility mode. @endDefesc +@Defesc {\\N, ', n, '} @cindex numbered character (@code{\N}) @cindex character, numbered (@code{\N}) @cindex @code{char} request, used with @code{\N} @cindex Unicode -@Defesc {\\N, ', n, '} Typeset the character with code@w{ }@var{n} in the current font (this is @strong{not} the input character code). @var{n}@w{ }can be any integer. Most devices only have characters with codes between 0 @@ -8314,9 +8332,9 @@ This is the same as @code{\[-]}, the minus sign in the current font. @c XXX should be `glyph', not `character' +@Defreq {cflags, n c1 c2 @dots{}} @cindex character properties (@code{cflags}) @cindex properties of characters (@code{cflags}) -@Defreq {cflags, n c1 c2 @dots{}} Each character has certain properties associated with it. These properties can be modified with the @code{cflags} request. The first argument is the sum of the desired flags and the remaining @@ -8375,6 +8393,8 @@ characters @samp{"')]*\(dg\(rq} have this property). @end table @endDefreq +@DefreqList {char, c [@Var{string}]} +@DefreqListEnd {fchar, c [@Var{string}]} @cindex defining character (@code{char}) @cindex character, defining (@code{char}) @cindex creating new characters (@code{char}) @@ -8389,8 +8409,6 @@ characters @samp{"')]*\(dg\(rq} have this property). @cindex @code{\&}, and character definitions @cindex @code{\e}, and character definitions @cindex @code{hcode} request, and character definitions -@DefreqList {char, c [@Var{string}]} -@DefreqListEnd {fchar, c [@Var{string}]} Define a new character@w{ }@var{c} to be @var{string} (which can be empty). Every time character@w{ }@var{c} needs to be printed, @var{string} is processed in a temporary environment and the result is @@ -8434,9 +8452,9 @@ if it cannot find the glyph in the current font. @code{gtroff} carries out this test before checking special fonts. @endDefreq +@Defreq {rchar, c1 c2 @dots{}} @cindex removing character definition (@code{rchar}) @cindex character, removing definition (@code{rchar}) -@Defreq {rchar, c1 c2 @dots{}} Remove the definitions of characters @var{c1}, @var{c2},@w{ }@enddots{} This undoes the effect of a @code{char} or @code{fchar} request. @@ -8492,12 +8510,12 @@ did not have a wide variety of fonts, and when @code{nroff} and @code{troff} were separate programs. Most of them are no longer necessary in GNU @code{troff}. Nevertheless, they are supported. -@cindex changing the font height (@code{\H}) -@cindex font height, changing (@code{\H}) -@cindex height, font, changing (@code{\H}) @DefescList {\\H, ', height, '} @DefescItem {\\H, ', @t{+}@Var{height}, '} @DefescListEnd {\\H, ', @t{-}@Var{height}, '} +@cindex changing the font height (@code{\H}) +@cindex font height, changing (@code{\H}) +@cindex height, font, changing (@code{\H}) Change (increment, decrement) the height of the current font, but not the width. If @var{height} is zero, restore the original height. Default scaling indicator is @samp{z}. @@ -8528,10 +8546,10 @@ prints the word @samp{test} twice with the same font height (five points larger than the current font size). @endDefesc +@DefescList {\\S, ', slant, '} @cindex changing the font slant (@code{\S}) @cindex font slant, changing (@code{\S}) @cindex slant, font, changing (@code{\S}) -@DefescList {\\S, ', slant, '} Slant the current font by @var{slant} degrees. Positive values slant to the right. @@ -8550,9 +8568,9 @@ This request is incorrectly documented in the original @acronym{UNIX} troff manual; the slant is always set to an absolute value. @endDefesc -@cindex underlining (@code{ul}) @Defreq {ul, [@Var{lines}]} -The @code{ul} request normally underlines subsequent lines if a tty +@cindex underlining (@code{ul}) +The @code{ul} request normally underlines subsequent lines if a TTY output device is used. Otherwise, the lines are printed in italics (only the term `underlined' is used in the following). The single argument is the number of input lines to be underlined; with no @@ -8574,31 +8592,31 @@ changed with the @code{uf} request. @c XXX @xref should be changed to grotty @c @xref{Troff and Nroff Mode}, for a discussion how underlining is -@c implemented in for tty output devices, and which problems can arise. +@c implemented in for TTY output devices, and which problems can arise. The @code{ul} request does not underline spaces. @endDefreq +@Defreq {cu, [@Var{lines}]} @cindex continuous underlining (@code{cu}) @cindex underlining, continuous (@code{cu}) -@Defreq {cu, [@Var{lines}]} The @code{cu} request is similar to @code{ul} but underlines spaces as -well (if a tty output device is used). +well (if a TTY output device is used). @endDefreq +@Defreq {uf, font} @cindex underline font (@code{uf}) @cindex font for underlining (@code{uf}) -@Defreq {uf, font} Set the underline font (globally) used by @code{ul} and @code{cu}. By default, this is the font at position@w{ }2. @var{font} can be either a non-negative font position or the name of a font. @endDefreq -@cindex imitating bold face (@code{bd}) -@cindex bold face, imitating (@code{bd}) @DefreqList {bd, font [@Var{offset}]} @DefreqItem {bd, font1 font2 [@Var{offset}]} @DefregListEnd {.b} +@cindex imitating bold face (@code{bd}) +@cindex bold face, imitating (@code{bd}) Artificially create a bold font by printing each character twice, slightly offset. @@ -8634,11 +8652,11 @@ command in font files or with the @code{fspecial} request). @end itemize @endDefreq +@Defreq {cs, font [@Var{width} [@Var{em-size}]]} @cindex constant character space mode (@code{cs}) @cindex mode for constant character space (@code{cs}) @cindex character, constant space @cindex @code{ps} request, and constant character space mode -@Defreq {cs, font [@Var{width} [@Var{em-size}]]} Switch to and from constant character space mode. If activated, the width of every character is @math{@var{width}/36} ems. The em size is given absolutely by @var{em-size}; if this argument is missing, the em @@ -8660,20 +8678,20 @@ an integer. Ligatures are groups of characters that are run together. For example, the letters `f' and `i' can form a ligature `fi' as in the word `file'. This produces a cleaner look (albeit subtle) to the -printed output. Usually, ligatures are not available in fonts for tty +printed output. Usually, ligatures are not available in fonts for TTY output devices. Most @sc{PostScript} fonts support the fi and fl ligatures. The C/A/T -typesetter that was the target of AT&T @code{troff} also supported -`ff', `ffi', and `ffl' ligatures. Advanced typesetters or `expert' -fonts may include ligatures for `ft' and `ct', although GNU +typesetter that was the target of @acronym{AT&T} @code{troff} also +supported `ff', `ffi', and `ffl' ligatures. Advanced typesetters or +`expert' fonts may include ligatures for `ft' and `ct', although GNU @code{troff} does not support these (yet). +@DefreqList {lg, [@Var{flag}]} +@DefregListEnd {.lg} @cindex activating ligatures (@code{lg}) @cindex ligatures, activating (@code{lg}) @cindex ligatures enabled register (@code{.lg}) -@DefreqList {lg, [@Var{flag}]} -@DefregListEnd {.lg} Switch the ligature mechanism on or off; if the parameter is non-zero or missing, ligatures are enabled, otherwise disabled. Default is on. The current ligature mode can be found in the read-only number register @@ -8694,11 +8712,11 @@ kerning, `VA' is printed. Without kerning it appears as `V@w{}A'. Typewriter-like fonts and fonts for terminals where all characters have the same width don't use kerning. +@DefreqList {kern, [@Var{flag}]} +@DefregListEnd {.kern} @cindex activating kerning (@code{kern}) @cindex kerning, activating (@code{kern}) @cindex kerning enabled register (@code{.kern}) -@DefreqList {kern, [@Var{flag}]} -@DefregListEnd {.kern} Switch kerning on or off. If the parameter is non-zero or missing, enable pairwise kerning, otherwise disable it. The read-only number register @code{.kern} is set to@w{ }1 if pairwise kerning is enabled, @@ -8722,9 +8740,9 @@ onto a single line or spread some text to fill a narrow column. It must be used with great care since it is usually considered bad typography if the reader notices the effect. +@Defreq {tkf, f s1 n1 s2 n2} @cindex activating track kerning (@code{tkf}) @cindex track kerning, activating (@code{tkf}) -@Defreq {tkf, f s1 n1 s2 n2} Enable track kerning for font@w{ }@var{f}. If the current font is@w{ }@var{f} the width of every character is increased by an amount between @var{n1} and @var{n2} (@var{n1}, @var{n2} can be negative); if @@ -8746,12 +8764,12 @@ Sometimes, when typesetting letters of different fonts, more or less space at such boundaries are needed. There are two escapes to help with this. +@Defesc {\\/, , , } @cindex italic correction (@code{\/}) @cindex correction, italic (@code{\/}) -@cindex correction between italic and roman character (@code{\/}) +@cindex correction between italic and roman character (@code{\/}, @code{\,}) @cindex roman character, correction after italic character (@code{\/}) @cindex italic character, correction before roman character (@code{\/}) -@Defesc {\\/, , , } Increase the width of the preceding character so that the spacing between that character and the following character is correct if the following character is a roman character. For example, if an @@ -8774,11 +8792,11 @@ space is also called @dfn{italic correction}. @end iftex @endDefesc +@Defesc {\\\,, , , } @cindex left italic correction (@code{\,}) @cindex correction, left italic (@code{\,}) @cindex roman character, correction before italic character (@code{\,}) @cindex italic character, correction after roman character (@code{\,}) -@Defesc {\\\,, , , } Modify the spacing of the following character so that the spacing between that character and the preceding character is correct if the preceding character is a roman character. Use this escape sequence @@ -8916,14 +8934,14 @@ typesetters, as @dfn{leading} (this is pronounced `ledding'). @node Changing Type Sizes, Fractional Type Sizes, Sizes, Sizes @subsection Changing Type Sizes -@cindex changing type sizes (@code{ps}, @code{\s}) -@cindex type sizes, changing (@code{ps}, @code{\s}) -@cindex point sizes, changing (@code{ps}, @code{\s}) @DefreqList {ps, [@Var{size}]} @DefreqItem {ps, @t{+}@Var{size}} @DefreqItem {ps, @t{-}@Var{size}} @DefescItem {\\s, , size, } @DefregListEnd {.s} +@cindex changing type sizes (@code{ps}, @code{\s}) +@cindex type sizes, changing (@code{ps}, @code{\s}) +@cindex point sizes, changing (@code{ps}, @code{\s}) Use the @code{ps} request or the @code{\s} escape to change (increase, decrease) the type size (in points). Specify @var{size} as either an absolute point size, or as a relative change from the current size. @@ -9008,13 +9026,13 @@ or a range of sizes (such as 4000-72000). You can optionally end the list with a zero. @endDefreq -@cindex changing vertical line spacing (@code{vs}) -@cindex vertical line spacing, changing (@code{vs}) -@cindex vertical line spacing register (@code{.v}) @DefreqList {vs, [@Var{space}]} @DefreqItem {vs, @t{+}@Var{space}} @DefreqItem {vs, @t{-}@Var{space}} @DefregListEnd {.v} +@cindex changing vertical line spacing (@code{vs}) +@cindex vertical line spacing, changing (@code{vs}) +@cindex vertical line spacing register (@code{.v}) Change (increase, decrease) the vertical spacing by @var{space}. The default scaling indicator is @samp{p}. @@ -9069,13 +9087,13 @@ furthermore, certain preprocessors assume single spacing. @xref{Manipulating Spacing}, for more details on the @code{\x} escape and the @code{ls} request. -@cindex @code{ls} request, alternative to (@code{pvs}) -@cindex post-vertical line spacing, changing (@code{pvs}) -@cindex post-vertical line spacing register (@code{.pvs}) @DefreqList {pvs, [@Var{space}]} @DefreqItem {pvs, @t{+}@Var{space}} @DefreqItem {pvs, @t{-}@Var{space}} @DefregListEnd {.pvs} +@cindex @code{ls} request, alternative to (@code{pvs}) +@cindex post-vertical line spacing, changing (@code{pvs}) +@cindex post-vertical line spacing register (@code{.pvs}) Change (increase, decrease) the post-vertical spacing by @var{space}. The default scaling indicator is @samp{p}. @@ -9096,7 +9114,10 @@ post-vertical spacing; it is associated with the current environment @node Fractional Type Sizes, , Changing Type Sizes, Sizes @subsection Fractional Type Sizes @cindex fractional type sizes +@cindex fractional point sizes @cindex type sizes, fractional +@cindex point sizes, fractional +@cindex sizes, fractional @cindex @code{s} unit @cindex unit, @code{s} @@ -9145,12 +9166,12 @@ A read-only number register returning the point size in scaled points. (@pxref{Environments}). @endDefreg +@DefregList {.psr} +@DefregListEnd {.sr} @cindex last-requested point size registers (@code{.psr}, @code{.sr}) @cindex point size registers, last-requested (@code{.psr}, @code{.sr}) @cindex @code{.ps} register, in comparison with @code{.psr} @cindex @code{.s} register, in comparison with @code{.sr} -@DefregList {.psr} -@DefregListEnd {.sr} The last-requested point size in scaled points is contained in the @code{.psr} read-only number register. The last requested point size in points as a decimal fraction can be found in @code{.sr}. This is a @@ -9201,15 +9222,15 @@ Increase or or decrease the point size by @var{n}@w{ }scaled points; convenience (i.e.@: there are no built-in strings exept @code{.T}, but even this is a read-write string variable). -@cindex string interpolation (@code{\*}) -@cindex string expansion (@code{\*}) -@cindex interpolation of strings (@code{\*}) -@cindex expansion of strings (@code{\*}) @DefreqList {ds, name [@Var{string}]} @DefreqItem {ds1, name [@Var{string}]} @DefescItem {\\*, , n, } @DefescItem {\\*, @lparen{}, nm, } @DefescListEnd {\\*, @lbrack{}, name, @rbrack{}} +@cindex string interpolation (@code{\*}) +@cindex string expansion (@code{\*}) +@cindex interpolation of strings (@code{\*}) +@cindex expansion of strings (@code{\*}) Define and access a string variable @var{name} (one-character name@w{ }@var{n}, two-character name @var{nm}). If @var{name} already exists, @code{ds} overwrites the previous definition. @@ -9266,8 +9287,8 @@ included in your string. @cindex multi-line strings @cindex strings, multi-line -@cindex newline character in strings, escaping -@cindex escaping newline characters in strings +@cindex newline character, in strings, escaping +@cindex escaping newline characters, in strings Strings are not limited to a single line of text. A string can span several lines by escaping the newlines with a backslash. The resulting string is stored @emph{without} the newlines. @@ -9301,9 +9322,11 @@ save} input token is inserted at the beginning of the string, and a @result{} The value of xxx ix 12345. @endExample -@cindex name space of macros and strings -@cindex macros, shared name space with strings -@cindex strings, shared name space with macros +@cindex name space, common, of macros, diversions, and strings +@cindex common name space of macros, diversions, and strings +@cindex macros, shared name space with strings and diversions +@cindex strings, shared name space with macros and diversions +@cindex diversions, shared name space with macros and strings Strings, macros, and diversions (and boxes) share the same name space. Internally, even the same mechanism is used to store them. This has some interesting consequences. For example, it is possible to call a @@ -9366,7 +9389,7 @@ spaces in the copied string are already formatted, making them unstretchable. This can cause ugly results. @cindex stripping final newline in diversions -@cindex diversions, stripping final newline +@cindex diversion, stripping final newline @cindex final newline, stripping in diversions @cindex newline, final, stripping in diversions @cindex horizontal space, unformatting @@ -9393,10 +9416,10 @@ This is \*[xxx]. @xref{Gtroff Internals}, for more information. @endDefreq -@cindex appending to strings (@code{as}) -@cindex strings, appending (@code{as}) @DefreqList {as, name [@Var{string}]} @DefreqListEnd {as1, name [@Var{string}]} +@cindex appending to a string (@code{as}) +@cindex string, appending (@code{as}) The @code{as} request is similar to @code{ds} but appends @var{string} to the string stored as @var{name} instead of redefining it. If @var{name} doesn't exist yet, it is created. @@ -9415,8 +9438,8 @@ input token at the end. Rudimentary string manipulation routines are given with the next two requests. -@cindex substring (@code{substring}) @Defreq {substring, str n1 [@Var{n2}]} +@cindex substring (@code{substring}) Replace the string in register@w{ }@var{str} with the substring defined by the indices @var{n1} and@w{ }@var{n2}. The first character in the string has index one. If @var{n2} is omitted, it is taken to @@ -9433,12 +9456,12 @@ character before the last character has index@w{ }@minus{}1, etc. @endExample @endDefreq +@Defreq {length, reg str} @cindex length of a string (@code{length}) @cindex string, length of (@code{length}) -@Defreq {length, reg str} Compute the number of characters of @var{str} and return it in the number register @var{reg}. If @var{reg} doesn't exist, it is created. -@code{str} is read in copy mode. +@code{str} is read in copy mode. @Example .ds xxx abcd\h'3i'efgh @@ -9448,24 +9471,41 @@ number register @var{reg}. If @var{reg} doesn't exist, it is created. @endExample @endDefreq -@cindex rename request (@code{rn}) -@cindex rename macro (@code{rn}) -@cindex rename string (@code{rn}) @Defreq {rn, xx yy} -Rename the request, macro, or string @var{xx} to @var{yy}. +@cindex renaming request (@code{rn}) +@cindex request, renaming (@code{rn}) +@cindex renaming macro (@code{rn}) +@cindex macro, renaming (@code{rn}) +@cindex renaming string (@code{rn}) +@cindex string, renaming (@code{rn}) +@cindex renaming diversion (@code{rn}) +@cindex diversion, renaming (@code{rn}) +Rename the request, macro, diversion, or string @var{xx} to @var{yy}. @endDefreq -@cindex remove request (@code{rm}) -@cindex remove macro (@code{rm}) -@cindex remove string (@code{rm}) @Defreq {rm, xx} -Remove the request, macro, or string @var{xx}. @code{gtroff} treats -subsequent invocations as if the object had never been defined. +@cindex removing request (@code{rm}) +@cindex request, removing (@code{rm}) +@cindex removing macro (@code{rm}) +@cindex macro, removing (@code{rm}) +@cindex removing string (@code{rm}) +@cindex string, removing (@code{rm}) +@cindex removing diversion (@code{rm}) +@cindex diversion, removing (@code{rm}) +Remove the request, macro, diversion, or string @var{xx}. @code{gtroff} +treats subsequent invocations as if the object had never been defined. @endDefreq -@cindex alias, creating (@code{als}) -@cindex creating alias (@code{als}) @Defreq {als, new old} +@cindex alias, string, creating (@code{als}) +@cindex alias, macro, creating (@code{als}) +@cindex alias, diversion, creating (@code{als}) +@cindex creating alias, for string (@code{als}) +@cindex creating alias, for macro (@code{als}) +@cindex creating alias, for diversion (@code{als}) +@cindex string, creating alias (@code{als}) +@cindex macro, creating alias (@code{als}) +@cindex diversion, creating alias (@code{als}) Create an alias named @var{new} for the request, string, macro, or diversion object named @var{old}. The new name and the old name are exactly equivalent (it is similar to a hard rather than a soft @@ -9502,8 +9542,8 @@ nodes inserted additionally by @code{gtroff}. @node Operators in Conditionals, if-else, Conditionals and Loops, Conditionals and Loops @subsection Operators in Conditionals -@cindex @code{if} request, operators to use with it -@cindex @code{while} request, operators to use with it +@cindex @code{if} request, operators to use with +@cindex @code{while} request, operators to use with In @code{if} and @code{while} requests, there are several more operators available: @@ -9641,18 +9681,18 @@ The first request is the `if' part and the latter is the `else' part. @c @c and in 4.2 you still can't use @{ in macros. -@cindex begin of conditional block (@code{\@{}) -@cindex end of conditional block (@code{\@}}) -@cindex conditional block, begin (@code{\@{}) -@cindex conditional block, end (@code{\@}}) -@cindex block, conditional, begin (@code{\@{}) -@cindex block, condititional, end (@code{\@}}) @c @DefescList {\@{, , , } @c @DefescListEnd {\@}, , , } @deffn Escape @t{\@{} @deffnx Escape @t{\@}} @esindex \@{ @esindex \@} +@cindex begin of conditional block (@code{\@{}) +@cindex end of conditional block (@code{\@}}) +@cindex conditional block, begin (@code{\@{}) +@cindex conditional block, end (@code{\@}}) +@cindex block, conditional, begin (@code{\@{}) +@cindex block, condititional, end (@code{\@}}) In many cases, an if (or if-else) construct needs to execute more than one request. This can be done using the @code{\@{} and @code{\@}} escapes. The following example shows the possible ways to use these @@ -9758,10 +9798,10 @@ The closing brace of a @code{while} body must end a line. @end itemize @endDefreq +@Defreq {break, } @cindex @code{while} request, confusing with @code{br} @cindex @code{break} request, in a @code{while} loop @cindex @code{continue} request, in a @code{while} loop -@Defreq {break, } Break out of a @code{while} loop. Be sure not to confuse this with the @code{br} request (causing a line break). @endDefreq @@ -9879,11 +9919,11 @@ Note that macro identifiers are shared with identifiers for strings and diversions. @endDefreq -@cindex appending, to a macro (@code{am}) -@cindex macro appending (@code{am}) @DefreqList {am, xx} @DefreqItem {am1, xx} @DefreqListEnd {ami, xx yy} +@cindex appending to a macro (@code{am}) +@cindex macro, appending (@code{am}) Works similarly to @code{de} except it appends onto the macro named @var{xx}. So, to make the previously defined @samp{P} macro actually do indented instead of block paragraphs, add the necessary code to the @@ -9909,8 +9949,6 @@ are @var{xx} or @var{yy} before performing the append. Using @file{trace.tmac}, you can trace calls to @code{am} and @code{am1}. @endDefreq -@cindex alias, creating (@code{als}) -@cindex creating alias (@code{als}) @xref{Strings}, for the @code{als} request to rename a macro. The @code{de}, @code{am}, @code{di}, @code{da}, @code{ds}, and @@ -9973,20 +10011,20 @@ The following example prints the numbers 20 and@w{ }10: The arguments to a macro can be examined using a variety of escapes. -@cindex number of arguments register (@code{.$}) @Defreg {.$} +@cindex number of arguments register (@code{.$}) The number of arguments in a macro. This is a read-only number register. @endDefreg Any individual argument can be retrieved with one of the following escapes: -@cindex copy-in mode, and macro arguments -@cindex macro arguments (@code{\$}) -@cindex arguments, macro (@code{\$}) @DefescList {\\$, , n, } @DefescItem {\\$, @lparen{}, nn, } @DefescListEnd {\\$, @lbrack{}, nnn, @rbrack{}} +@cindex copy-in mode, and macro arguments +@cindex macro, arguments (@code{\$}) +@cindex arguments, macro (@code{\$}) Retrieve the @var{n}@dmn{th}, @var{nn}@dmn{th} or @var{nnn}@dmn{th} argument. As usual, the first form only accepts a single number (larger than zero), the second a two-digit number (larger or equal @@ -10015,10 +10053,9 @@ spaces. If not in compatibility mode, the input level of double quotes is preserved (see @ref{Request Arguments}). @endDefesc +@Defesc {\\$0, , , } @cindex macro name register (@code{\$0}) @cindex @code{als} request, and @code{\$0} -@cindex @code{als} request, use with @code{\$0} -@Defesc {\\$0, , , } The name used to invoke the current macro. The @code{als} request can make a macro have more than one name. @@ -10049,6 +10086,8 @@ The @code{als} request can make a macro have more than one name. @xref{Manipulating Spacing}, for a discussion of the main request for vertical motion, @code{sp}. +@DefreqList {mk, [@Var{reg}]} +@DefreqListEnd {rt, [@Var{dist}]} @cindex marking vertical page location (@code{mk}) @cindex page location, vertical, marking (@code{mk}) @cindex location, vertical, page, marking (@code{mk}) @@ -10057,8 +10096,6 @@ vertical motion, @code{sp}. @cindex page location, vertical, returning to marked (@code{rt}) @cindex location, vertical, page, returning to marked (@code{rt}) @cindex vertical page location, returning to marked (@code{rt}) -@DefreqList {mk, [@Var{reg}]} -@DefreqListEnd {rt, [@Var{dist}]} The request @code{mk} can be used to mark a location on a page, for movement to later. This request takes a register name as an argument in which to store the current page location. With no argument it @@ -10135,9 +10172,9 @@ implementation macro. The following escapes give fine control of movements about the page. +@Defesc {\\v, ', e, '} @cindex vertical motion (@code{\v}) @cindex motion, vertical (@code{\v}) -@Defesc {\\v, ', e, '} Move vertically, usually from the current location on the page (if no absolute position operator @samp{|} is used). The argument@w{ }@var{e} specifies the distance to move; positive is @@ -10165,10 +10202,12 @@ Move upwards@w{ }.5@dmn{v}. Move down@w{ }.5@dmn{v}. @endDefesc +@Defesc {\\h, ', e, '} @cindex inserting horizontal space (@code{\h}) @cindex horizontal space (@code{\h}) @cindex space, horizontal (@code{\h}) -@Defesc {\\h, ', e, '} +@cindex horizontal motion (@code{\h}) +@cindex motion, horizontal (@code{\h}) Move horizontally, usually from the current location (if no absolute position operator @samp{|} is used). The expression@w{ }@var{e} indicates how far to move: positive is rightwards and negative @@ -10177,9 +10216,9 @@ leftwards. The default scaling indicator for this escape is @samp{m}. There are a number of special-case escapes for horizontal motion. +@Defesc {\\@key{SP}, , , } @cindex space, unbreakable @cindex unbreakable space -@Defesc {\\@key{SP}, , , } An unbreakable and unpaddable (i.e.@: not expanded during filling) space. (Note: This is a backslash followed by a space.) @endDefesc @@ -10190,18 +10229,18 @@ when a line is adjusted. @endDefesc @Defesc {\\|, , , } -A 1/6@dmn{th} em space. Ignored for tty output devices (rounded to +A 1/6@dmn{th} em space. Ignored for TTY output devices (rounded to zero). @endDefesc @Defesc {\\^, , , } -A 1/12@dmn{th} em space. Ignored for tty output devices (rounded to +A 1/12@dmn{th} em space. Ignored for TTY output devices (rounded to zero). @endDefesc -@cindex space, width of a digit -@cindex digit width space @Defesc {\\0, , , } +@cindex space, width of a digit (@code{\0}) +@cindex digit width space (@code{\0}) A space the size of a digit. @endDefesc @@ -10211,8 +10250,6 @@ The following string sets the @TeX{} logo: .ds TeX T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X @endExample -@cindex width escape (@code{\w}) -@cindex escape, width (@code{\w}) @DefescList {\\w, ', text, '} @DefregItem {st} @DefregItem {sb} @@ -10221,6 +10258,7 @@ The following string sets the @TeX{} logo: @DefregItem {ct} @DefregItem {ssc} @DefregListEnd {skw} +@cindex width escape (@code{\w}) Return the width of the specified @var{text} in basic units. This allows horizontal movement based on the width of some arbitrary text (e.g.@: given as an argument to a macro). @@ -10274,55 +10312,55 @@ over that character. @end table @endDefesc +@DefescList {\\k, , p, } +@DefescItem {\\k, @lparen{}, ps, } +@DefescListEnd {\\k, @lbrack{}, position, @rbrack} @cindex saving horizontal input line position (@code{\k}) @cindex horizontal input line position, saving (@code{\k}) @cindex input line position, horizontal, saving (@code{\k}) @cindex position, horizontal input line, saving (@code{\k}) @cindex line, input, horizontal position, saving (@code{\k}) -@DefescList {\\k, , p, } -@DefescItem {\\k, @lparen{}, ps, } -@DefescListEnd {\\k, @lbrack{}, position, @rbrack} Store the current horizontal position in the @emph{input} line in number register with name @var{position} (one-character name@w{ }@var{p}, two-character name @var{ps}). Use this, for example, to return to the beginning of a string for highlighting or other decoration. @endDefesc +@Defreg {hp} @cindex horizontal input line position register (@code{hp}) @cindex input line, horizontal position, register (@code{hp}) @cindex position, horizontal, in input line, register (@code{hp}) @cindex line, input, horizontal position, register (@code{hp}) -@Defreg {hp} The current horizontal position at the input line. @endDefreg +@Defreg {.k} @cindex horizontal output line position register (@code{.k}) @cindex output line, horizontal position, register (@code{.k}) @cindex position, horizontal, in output line, register (@code{.k}) @cindex line, output, horizontal position, register (@code{.k}) -@Defreg {.k} A read-only number register containing the current horizontal output position. @endDefreg +@Defesc {\\o, ', @Var{a}@Var{b}@Var{c}, '} @cindex overstriking characters (@code{\o}) @cindex characters, overstriking (@code{\o}) -@Defesc {\\o, ', @Var{a}@Var{b}@Var{c}, '} Overstrike characters @var{a}, @var{b}, @var{c}, @dots{}; the characters are centered, and the resulting spacing is the largest width of the affected characters. @endDefesc +@Defesc {\\z, , c, , } @cindex zero-width printing (@code{\z}, @code{\Z}) @cindex printing, zero-width (@code{\z}, @code{\Z}) -@Defesc {\\z, , c, , } Print character @var{c} with zero width, i.e., without spacing. Use this to overstrike characters left-aligned. @endDefesc +@Defesc {\\Z, ', anything, '} @cindex zero-width printing (@code{\z}, @code{\Z}) @cindex printing, zero-width (@code{\z}, @code{\Z}) -@Defesc {\\Z, ', anything, '} Print @var{anything}, then restore the horizontal and vertical position. The argument may not contain tabs or leaders. @@ -10358,11 +10396,11 @@ information. All drawing is done via escapes. +@DefescList {\\l, ', @Var{l}, '} +@DefescListEnd {\\l, ', @Var{l}@Var{c}, '} @cindex drawing horizontal lines (@code{\l}) @cindex horizontal line, drawing (@code{\l}) @cindex line, horizontal, drawing (@code{\l}) -@DefescList {\\l, ', @Var{l}, '} -@DefescListEnd {\\l, ', @Var{l}@Var{c}, '} Draw a line horizontally. @var{l} is the length of the line to be drawn. If it is positive, start the line at the current location and draw to the right; its end point is the new current location. Negative @@ -10373,10 +10411,10 @@ and draws to the left, but the current location doesn't move. @samp{|}) which draws back to the beginning of the input line. Default scaling indicator is @samp{m}. -@cindex underscore character -@cindex character, underscore +@cindex underscore character (@code{\[ru]}) +@cindex character, underscore (@code{\[ru]}) @cindex line drawing character -@cindex character for line drawing +@cindex character, for line drawing The optional second parameter@w{ }@var{c} is a character to draw the line with. If this second argument is not specified, @code{gtroff} uses the underscore character, @code{\[ru]}. @@ -10403,15 +10441,15 @@ beginning of the @emph{input} line -- this works because the line length is negative, not moving the current point. @endDefesc +@DefescList {\\L, ', @Var{l}, '} +@DefescListEnd {\\L, ', @Var{l}@Var{c}, '} @cindex drawing vertical lines (@code{\L}) @cindex vertical line drawing (@code{\L}) @cindex line, vertical, drawing (@code{\L}) @cindex line drawing character @cindex character for line drawing -@cindex box rule character -@cindex character, box rule -@DefescList {\\L, ', @Var{l}, '} -@DefescListEnd {\\L, ', @Var{l}@Var{c}, '} +@cindex box rule character (@code{\[br]}) +@cindex character, box rule (@code{\[br]}) Draw vertical lines. Its parameters are similar to the @code{\l} escape, except that the default scaling indicator is @samp{v}. The movement is downwards for positive values, @@ -10519,8 +10557,7 @@ Draw a spline from the current location to the relative point @item \D'f @var{n}' @cindex gray shading (@w{@code{\D'f @dots{}'}}) -@cindex shading (@w{@code{\D'f @dots{}'}}) -@cindex shades for filling objects (@w{@code{\D'f @dots{}'}}) +@cindex shading filled objects (@w{@code{\D'f @dots{}'}}) Set the shade of gray to be used for filling solid objects to@w{ }@var{n}; @var{n}@w{ }must be an integer between 0 and@w{ }1000, where 0 corresponds solid white and 1000 to solid black, and values in between @@ -10530,7 +10567,7 @@ circles, solid ellipses, and solid polygons. By default, a level of @item \D'p @var{dx1} @var{dy1} @var{dx2} @var{dy2} @dots{}' @cindex drawing a polygon (@w{@code{\D'p @dots{}'}}) -@cindex polygon, drawing (@w{@code{\D''p @dots{}}}) +@cindex polygon, drawing (@w{@code{\D'p @dots{}'}}) Draw a polygon from the current location to the relative position (@var{dx1},@var{dy1}) and then to (@var{dx2},@var{dy2}) and so on. When the specified data points are exhausted, a line is drawn back @@ -10577,10 +10614,10 @@ the default behaviour of @code{ditroff}). @xref{Drawing Functions}. +@Defesc {\\b, ', string, '} @cindex pile, character (@code{\b}) @cindex character pile (@code{\b}) @cindex stacking characters (@code{\b}) -@Defesc {\\b, ', string, '} @dfn{Pile} a sequence of characters vertically, and center it vertically on the current line. Use it to build large brackets and braces. @@ -10590,7 +10627,7 @@ Here an example how to create a large opening brace: \b'\[lt]\[bv]\[lk]\[bv]\[lb]' @endExample -@cindex @code{\b} escape, limitations +@cindex @code{\b}, limitations @cindex limitations of @code{\b} escape The first character is on the top, the last character in the argument is at the bottom. Note that @code{gtroff} separates the characters @@ -10613,11 +10650,12 @@ the @code{\x} escape. @dfn{Traps} are locations, which, when reached, call a specified macro. These traps can occur at a given location on the page, at a -given location in the current diversion, -at a blank line, -after a certain number of input lines, -or at the end of input. +given location in the current diversion, at a blank line, +after a certain number of input lines, or at the end of input. +@cindex planting a trap +@cindex trap, planting +Setting a trap is also called @dfn{planting}. @cindex trap, springing @cindex springing a trap It is also said that a trap is @dfn{sprung} if the associated macro @@ -10653,11 +10691,11 @@ setting body text in multiple columns setting footnotes @end itemize +@DefreqList {vpt, flag} +@DefregListEnd {.vpt} @cindex enabling vertical position traps (@code{vpt}) @cindex vertical position traps, enabling (@code{vpt}) @cindex vertical position trap enable register (@code{.vpt}) -@DefreqList {vpt, flag} -@DefregListEnd {.vpt} Enable vertical position traps if @var{flag} is non-zero, or disables them otherwise. Vertical position traps are traps set by the @code{wh} or @code{dt} requests. Traps set by the @code{it} request are not @@ -10741,9 +10779,9 @@ position (the many empty lines caused by the @code{bp} request are omitted): @endExample @endDefreq +@Defreg {.t} @cindex distance to next trap register (@code{.t}) @cindex trap, distance, register (@code{.t}) -@Defreg {.t} A read-only number register holding the distance to the next trap. If there are no traps between the current position and the bottom of the @@ -10753,9 +10791,9 @@ integer which can be represented in @code{groff}) if there are no diversion traps. @endDefreg +@Defreq {ch, macro dist} @cindex changing trap location (@code{ch}) @cindex trap, changing location (@code{ch}) -@Defreq {ch, macro dist} Change the location of a trap. The first argument is the name of the macro to be invoked at the trap, and the second argument is the new location for the trap @@ -10782,9 +10820,9 @@ sprung. Useful in conjunction with the @code{.trunc} register. @xref{Page Control}, for more information. @endDefreg +@Defreg {.trunc} @cindex @code{ne} request, and the @code{.trunc} register @cindex truncated vertical space register (@code{.trunc}) -@Defreg {.trunc} A read-only register containing the amount of vertical space truncated by the most recently sprung vertical position trap, or, if the trap was sprung by an @code{ne} request, minus the amount of vertical motion @@ -10801,11 +10839,11 @@ actually is. @cindex diversion traps @cindex traps, diversion +@Defreq {dt, dist macro} @cindex @code{.t} register, and diversions @cindex setting diversion trap (@code{dt}) @cindex diversion trap, setting (@code{dt}) @cindex trap, diversion, setting (@code{dt}) -@Defreq {dt, dist macro} Set a trap @emph{within} a diversion. @var{dist} is the location of the trap (identical to the @code{.wh} request; default scaling indicator is @@ -10821,11 +10859,11 @@ number register @code{.t} still works within diversions. @cindex input line traps @cindex traps, input line +@DefreqList {it, n macro} +@DefreqItem {itc, n macro} @cindex setting input line trap (@code{it}) @cindex input line trap, setting (@code{it}) @cindex trap, input line, setting (@code{it}) -@DefreqList {it, n macro} -@DefreqItem {itc, n macro} Set an input line trap. @var{n}@w{ }is the number of lines of input which may be read before springing the trap, @var{macro} is the macro to be invoked. @@ -10865,8 +10903,9 @@ of already processed lines. @subsection Blank Line Traps @cindex blank line traps @cindex traps, blank line -@cindex blank line macro (@code{blm}) + @Defreq {blm, macro} +@cindex blank line macro (@code{blm}) Set a blank line trap. @code{gtroff} executes @var{macro} when it encounters a blank line in the input file. @@ -10879,12 +10918,12 @@ the input file. @cindex end-of-input traps @cindex traps, end-of-input +@Defreq {em, macro} @cindex setting end-of-input trap (@code{em}) @cindex end-of-input trap, setting (@code{em}) @cindex trap, end-of-input, setting (@code{em}) @cindex end-of-input macro (@code{em}) @cindex macro, end-of-input (@code{em}) -@Defreq {em, macro} Set a trap at the end of input. @var{macro} is executed after the last line of the input file has been processed. @@ -10927,14 +10966,14 @@ For orthogonality it is said that @code{gtroff} is in the @dfn{top-level diversion} if no diversion is active (i.e., the data is diverted to the output device). +@DefreqList {di, macro} +@DefreqListEnd {da, macro} @cindex beginning diversion (@code{di}) @cindex diversion, beginning (@code{di}) @cindex ending diversion (@code{di}) @cindex diversion, ending (@code{di}) -@cindex appending to diversion (@code{da}) +@cindex appending to a diversion (@code{da}) @cindex diversion, appending (@code{da}) -@DefreqList {di, macro} -@DefreqListEnd {da, macro} Begin a diversion. Like the @code{de} request, it takes an argument of a macro name to divert subsequent text into. The @code{da} macro appends to an existing diversion. @@ -10983,6 +11022,8 @@ After the diversion. @code{box} or @code{boxa} without an argument ends the diversion. @endDefreq +@DefregList {.z} +@DefregListEnd {.d} @cindex @code{nl} register, and @code{.d} @cindex nested diversions @cindex diversion, nested @@ -10990,8 +11031,6 @@ After the diversion. @cindex vertical position in diversion register (@code{.d}) @cindex position, vertical, in diversion, register (@code{.d}) @cindex diversion, vertical position in, register (@code{.d}) -@DefregList {.z} -@DefregListEnd {.d} Diversions may be nested. The read-only number register @code{.z} contains the name of the current diversion (this is a string-valued register). The read-only number register @code{.d} contains the current @@ -10999,11 +11038,11 @@ vertical place in the diversion. If not in a diversion it is the same as the register @code{nl}. @endDefreg +@Defreg {.h} @cindex high-water mark register (@code{.h}) @cindex mark, high-water, register (@code{.h}) @cindex position of lowest text line (@code{.h}) @cindex text line, position of lowest (@code{.h}) -@Defreg {.h} The @dfn{high-water mark} on the current page. It corresponds to the text baseline of the lowest line on the page. This is a read-only register. @@ -11071,10 +11110,10 @@ and @code{dl} contain the vertical and horizontal size of the diversion. @end example @endDefreg -@cindex transparent output (@code{\!}, @code{\?}) -@cindex output, transparent (@code{\!}, @code{\?}) @DefescList {\\!, , , } @DefescListEnd {\\?, , @Var{anything}, \\?} +@cindex transparent output (@code{\!}, @code{\?}) +@cindex output, transparent (@code{\!}, @code{\?}) Prevent requests, macros, and escapes from being interpreted when read into a diversion. This takes the given text and @dfn{transparently} embeds it into the diversion. This is useful for @@ -11118,10 +11157,10 @@ prints@w{ }4. Both escapes read the data in copy mode. @endDefesc +@Defreq {asciify, div} @cindex unformatting diversions (@code{asciify}) @cindex diversion, unformatting (@code{asciify}) -@cindex @code{trin} and @code{asciify} request -@Defreq {asciify, div} +@cindex @code{trin} request, and @code{asciify} @dfn{Unformat} the diversion specified by @var{div} in such a way that @acronym{ASCII} characters, characters translated with the @code{trin} request, space characters, and some escape sequences that @@ -11201,11 +11240,11 @@ These environments may be given arbitrary names (see @ref{Identifiers}, for more info). Old versions of @code{troff} only had environments named @samp{0}, @samp{1}, and @samp{2}. -@cindex switching environment (@code{ev}) -@cindex environment, switching (@code{ev}) -@cindex environment number/name register (@code{.ev}) @DefreqList {ev, [@Var{env}]} @DefregListEnd {.ev} +@cindex switching environments (@code{ev}) +@cindex environment, switching (@code{ev}) +@cindex environment number/name register (@code{.ev}) Switch to another environment. The argument @var{env} is the name of the environment to switch to. With no argument, @code{gtroff} switches back to the previous environment. There is no limit on the number of @@ -11238,9 +11277,9 @@ Here is an example: @endExample @endDefreq +@Defreq {evc, env} @cindex copying environment (@code{evc}) @cindex environment, copying (@code{evc}) -@Defreq {evc, env} Copy the environment @var{env} into the current environment. The following environment data is not copied: @@ -11271,10 +11310,10 @@ The number of consecutive hyphenated lines (set to zero). @end itemize @endDefreq -@cindex environment, last character @DefregList {.cht} @DefregItem {.cdp} @DefregListEnd {.csk} +@cindex environment, last character The @code{\n[.cht]} register contains the maximum extent (above the baseline) of the last character added to the current environment. @@ -11295,9 +11334,9 @@ of the last character added to the current environment. @node Suppressing output, Colors, Environments, gtroff Reference @section Suppressing output +@Defesc {\\O, , num, } @cindex suppressing output (@code{\O}) @cindex output, suppressing (@code{\O}) -@Defesc {\\O, , num, } Disable or enable output depending on the value of @var{num}: @table @samp @@ -11353,6 +11392,7 @@ production of the next inline image. @node Colors, I/O, Suppressing output, gtroff Reference @section Colors +@cindex colors @Defreq {defcolor, ident scheme color_components} Define color with name @var{ident}. @var{scheme} can be one of the @@ -11436,9 +11476,9 @@ The fill color is associated with the current environment @code{gtroff} has several requests for including files: -@cindex including a file (@code{so}) -@cindex file inclusion (@code{so}) @Defreq {so, file} +@cindex including a file (@code{so}) +@cindex file, inclusion (@code{so}) Read in the specified @var{file} and includes it in place of the @code{so} request. This is quite useful for large documents, e.g.@: keeping each chapter in a separate file. @@ -11463,10 +11503,10 @@ has the form @file{@var{name}.tmac} and it isn't found, @code{mso} tries to include @file{tmac.@var{name}} and vice versa. @endDefreq -@cindex transparent output (@code{cf}, @code{trf}) -@cindex output, transparent (@code{cf}, @code{trf}) @DefreqList {trf, file} @DefreqListEnd {cf, file} +@cindex transparent output (@code{cf}, @code{trf}) +@cindex output, transparent (@code{cf}, @code{trf}) Transparently output the contents of @var{file}. Each line is output as if it were preceded by @code{\!}; however, the lines are not subject to copy mode interpretation. If the file does not end with a newline, @@ -11497,19 +11537,19 @@ While @code{cf} copies the contents of @var{file} completely unprocessed, Both requests cause a line break. @endDefreq +@Defreq {nx, [@Var{file}]} @cindex processing next file (@code{nx}) @cindex file, processing next (@code{nx}) @cindex next file, processing (@code{nx}) -@Defreq {nx, [@Var{file}]} Force @code{gtroff} to continue processing of the file specified as an argument. If no argument is given, immediately jump to the end of file. @endDefreq +@Defreq {rd, [@Var{prompt} [@Var{arg1} @Var{arg2} @dots{}]]} @cindex reading from standard input (@code{rd}) @cindex standard input, reading from (@code{rd}) @cindex input, standard, reading from (@code{rd}) -@Defreq {rd, [@Var{prompt} [@Var{arg1} @Var{arg2} @dots{}]]} Read from standard input, and include what is read as though it were part of the input file. Text is read until a blank line is encountered. @@ -11637,12 +11677,12 @@ The @code{systat} read-write number register contains the return value of the @code{system()} function executed by the last @code{sy} request. @endDefreq +@DefreqList {open, stream file} +@DefreqListEnd {opena, stream file} @cindex opening file (@code{open}) @cindex file, opening (@code{open}) -@cindex appending to file (@code{opena}) +@cindex appending to a file (@code{opena}) @cindex file, appending to (@code{opena}) -@DefreqList {open, stream file} -@DefreqListEnd {opena, stream file} Open the specified @var{file} for writing and associates the specified @var{stream} with it. @@ -11654,12 +11694,12 @@ Both @code{open} and @code{opena} cause an error if used in safer mode option to activate unsafe mode. @endDefreq +@DefreqList {write, stream data} +@DefreqListEnd {writec, stream data} @cindex copy-in mode, and @code{write} requests @cindex mode, copy-in, and @code{write} requests @cindex writing to file (@code{write}) @cindex file, writing to (@code{write}) -@DefreqList {write, stream data} -@DefreqListEnd {writec, stream data} Write to the file associated with the specified @var{stream}. The stream must previously have been the subject of an open request. The remainder of the line is @@ -11670,8 +11710,8 @@ The @code{writec} request is like @code{write}, but only @code{write} appends a newline to the data. @endDefreq -@cindex @code{asciify} and @code{writem} @Defreq {writem, stream xx} +@cindex @code{asciify} request, and @code{writem} Write the contents of the macro or string @var{xx} to the file associated with the specified @var{stream}. @@ -11681,9 +11721,9 @@ ignored. Consequently, diversions must be unformatted with the means a loss of information. @endDefreq +@Defreq {close, stream} @cindex closing file (@code{close}) @cindex file, closing (@code{close}) -@Defreq {close, stream} Close the specified @var{stream}; the stream is no longer an acceptable argument to the @code{write} request. @@ -11743,7 +11783,7 @@ backslash) cause an error. @kindex use_charnames_in_special @pindex DESC@r{, and @code{use_charnames_in_special}} -@cindex @code{\X} and special characters +@cindex @code{\X}, and special characters If the @samp{use_charnames_in_special} keyword is set in the @file{DESC} file, special characters no longer cause an error; the name @var{xx} is represented as @samp{\(@var{xx})} in the @w{@samp{x X}} output command. @@ -11773,15 +11813,14 @@ extension (@pxref{Line Continuation}). @node Miscellaneous, Gtroff Internals, Postprocessor Access, gtroff Reference @section Miscellaneous -@cindex miscellaneous This section documents parts of @code{gtroff} which cannot (yet) be categorized elsewhere in this manual. +@Defreq {nm, [@Var{start} [@Var{inc} [@Var{space} [@Var{indent}]]]]} @cindex printing line numbers (@code{nm}) @cindex line numbers, printing (@code{nm}) @cindex numbers, line, printing (@code{nm}) -@Defreq {nm, [@Var{start} [@Var{inc} [@Var{space} [@Var{indent}]]]]} Print line numbers. @var{start} is the line number of the @emph{next} output line. @var{inc} indicates which line numbers are printed. @@ -11811,7 +11850,8 @@ an argument, it can be reactivated with @samp{.nm +0}, using the previously active line numbering parameters. The parameters of @code{nm} are associated with the current environment -(@pxref{Environments}). +(@pxref{Environments}). The current output line number is available +in the number register @code{ln}. @Example .po 1m @@ -11846,16 +11886,14 @@ And here the result: @endExample @endDefreq -@c XXX xref ln register - @Defreq {nn, [@Var{skip}]} Temporarily turn off line numbering. The argument is the number of lines not to be numbered; this defaults to@w{ }1. @endDefreq +@Defreq {mc, char [@Var{dist}]} @cindex margin character (@code{mc}) @cindex character, for margins (@code{mc}) -@Defreq {mc, char [@Var{dist}]} Print margin character to the right of the text. The first argument is the character to be printed. The second argument is the distance away from the right @@ -11890,13 +11928,13 @@ there are programs available for doing this (they are called @end ignore @endDefreq -@cindex PostScript, bounding box -@cindex bounding box @DefreqList {psbb, filename} @DefregItem {llx} @DefregItem {lly} @DefregItem {urx} @DefregListEnd {ury} +@cindex PostScript, bounding box +@cindex bounding box Retrieve the bounding box of the PostScript image found in @var{filename}. The file must conform to @@ -12026,13 +12064,13 @@ of the fallback glyph. Anyway, the translation is still active; @code{gtroff} is not easy to debug, but there are some useful features and strategies for debugging. +@Defreq {lf, line filename} @pindex soelim @cindex multi-file documents @cindex documents, multi-file @cindex setting input line number (@code{lf}) @cindex input line number, setting (@code{lf}) @cindex number, input line, setting (@code{lf}) -@Defreq {lf, line filename} Change the line number and the file name @code{gtroff} shall use for error and warning messages. @var{line} is the input line number of the @emph{next} line. @@ -12042,21 +12080,13 @@ Without argument, the request is ignored. This is a debugging aid for documents which are split into many files, then put together with @code{soelim} and other preprocessors. Usually, it isn't invoked manually. - -@c XXX example - -@ignore -@Example -... example of soelim'ed doc ... -@endExample -@end ignore @endDefreq -@cindex printing to stderr (@code{tm}) -@cindex stderr, printing to (@code{tm}) @DefreqList {tm, string} @DefreqItem {tm1, string} @DefreqListEnd {tmc, string} +@cindex printing to stderr (@code{tm}, @code{tm1}, @code{tmc}) +@cindex stderr, printing to (@code{tm}, @code{tm1}, @code{tmc}) Send @var{string} to the standard error output; this is very useful for printing debugging messages among other things. @@ -12070,16 +12100,16 @@ The @code{tmc} request is similar to @code{tm1} but does not append a newline (as is done in @code{tm} and @code{tm1}). @endDefreq -@cindex aborting (@code{ab}) @Defreq {ab, [@Var{string}]} +@cindex aborting (@code{ab}) Similar to the @code{tm} request, except that it causes @code{gtroff} to stop processing. With no argument it prints @samp{User Abort.} to standard error. @endDefreq +@Defreq {ex, } @cindex @code{ex} request, use in debugging @cindex exiting (@code{ex}) -@Defreq {ex, } The @code{ex} request also causes @code{gtroff} to stop processing; see also @ref{I/O}. @endDefreq @@ -12102,9 +12132,9 @@ If it is known in advance that there will be many errors and no useful output, @code{gtroff} can be forced to suppress formatted output with the @option{-z} flag. +@Defreq {pm, } @cindex dumping symbol table (@code{pm}) @cindex symbol table, dumping (@code{pm}) -@Defreq {pm, } Print the entire symbol table on @code{stderr}. Names of all defined macros, strings, and diversions are print together with their size in bytes. Since @code{gtroff} sometimes adds nodes by itself, the @@ -12116,27 +12146,27 @@ print only the total of the sizes, and the size isn't returned in blocks of 128 characters. @endDefreq +@Defreq {pnr, } @cindex dumping number registers (@code{pnr}) @cindex number registers, dumping (@code{pnr}) -@Defreq {pnr, } Print the names and contents of all currently defined number registers on @code{stderr}. @endDefreq +@Defreq {ptr, } @cindex dumping traps (@code{ptr}) @cindex traps, dumping (@code{ptr}) -@Defreq {ptr, } Print the names and positions of all traps (not including input line traps and diversion traps) on @code{stderr}. Empty slots in the page trap list are printed as well, because they can affect the priority of subsequently planted traps. @endDefreq +@Defreq {fl, } @cindex flush output (@code{fl}) @cindex output, flush (@code{fl}) @cindex interactive use of @code{gtroff} @cindex @code{gtroff}, interactive use -@Defreq {fl, } Instruct @code{gtroff} to flush its output immediately. The intent is for interactive use, but this behaviour is currently not implemented in @code{gtroff}. Contrary to @acronym{UNIX} @code{troff}, @@ -12146,9 +12176,9 @@ non-trivial to communicate interactively. This request causes a line break. @endDefreq +@Defreq {backtrace, } @cindex backtrace of input stack (@code{backtrace}) @cindex input stack, backtrace (@code{backtrace}) -@Defreq {backtrace, } Print a backtrace of the input stack to the standard error stream. Consider the following in file @file{test}: @@ -12177,8 +12207,8 @@ The option @option{-b} of @code{gtroff} internally calls a variant of this request on each error and warning. @endDefreq -@cindex input stack, setting limit @Defreg {slimit} +@cindex input stack, setting limit Use the @code{slimit} number register to set the maximum number of objects on the input stack. If @code{slimit} is less than or equal to@w{ }0, @@ -12191,10 +12221,10 @@ With no limit, a buggy recursive macro can exhaust virtual memory. (@option{-w}) and for printing backtraces (@option{-b}) when a warning or an error occurs. The most verbose level of warnings is @option{-ww}. -@cindex level of warnings (@code{warn}) -@cindex warnings, level (@code{warn}) @DefreqList {warn, [@Var{flags}]} @DefregListEnd {.warn} +@cindex level of warnings (@code{warn}) +@cindex warnings, level (@code{warn}) Control the level of warnings checked for. The @var{flags} are the sum of the numbers associated with each warning that is to be enabled; all other warnings are disabled. The number associated with each warning is @@ -12270,8 +12300,14 @@ current diversion. @item mac @itemx 512 -@cindex @code{de} request, and warnings -@c XXX more index entries +@cindex @code{de}, @code{de1}, @code{dei} requests, and warnings +@cindex @code{am}, @code{am1}, @code{ami} requests, and warnings +@cindex @code{ds}, @code{ds1} requests, and warnings +@cindex @code{as}, @code{as1} requests, and warnings +@cindex @code{di} request, and warnings +@cindex @code{da} request, and warnings +@cindex @code{box}, @code{boxa} requests, and warnings +@cindex @code{\*}, and warnings 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 is given @@ -12280,7 +12316,8 @@ for each name. @item reg @itemx 1024 @cindex @code{nr} request, and warnings -@c XXX more index entries +@cindex @code{\R}, and warnings +@cindex @code{\n}, and warnings Use of undefined number registers. When an undefined number register is used, that register is automatically defined to have a value of@w{ }0. So, in most cases, at most one warning is given for use of a particular @@ -12288,11 +12325,12 @@ name. @item tab @itemx 2048 +@cindex @code{\t}, and warnings Use of a tab character where a number was expected. @item right-brace @itemx 4096 -@cindex @code{\@}}, debugging +@cindex @code{\@}}, and warnings Use of @code{\@}} where a number was expected. @item missing @@ -12305,8 +12343,9 @@ Invalid input characters. @item escape @itemx 32768 -Unrecognized escape sequences. When an unrecognized escape sequence is -encountered, the escape character is ignored. +Unrecognized escape sequences. When an unrecognized escape sequence +@code{\@var{X}} is encountered, the escape character is ignored, and +@var{X} is printed. @item space @itemx 65536 @@ -12347,7 +12386,7 @@ All warnings. @section Implementation Differences @cindex implementation differences @cindex differences in implementation -@cindex incompatibilities with Unix @code{troff} +@cindex incompatibilities with @acronym{AT&T} @code{troff} @cindex compatibility mode @cindex mode, compatibility @@ -12363,8 +12402,8 @@ interprets .dsabcd @endExample -@cindex @code{\*}, incompatibilities with Unix @code{troff} -@cindex @code{\n}, incompatibilities with Unix @code{troff} +@cindex @code{\*}, incompatibilities with @acronym{AT&T} @code{troff} +@cindex @code{\n}, incompatibilities with @acronym{AT&T} @code{troff} @noindent as defining a string @samp{ab} with contents @samp{cd}. Normally, GNU @code{troff} interprets this as a call of a macro named @@ -12404,7 +12443,7 @@ before interpreting any files sourced by the @var{cmd}. @endDefreq @cindex input level in delimited arguments -@cindex delimited arguments, incompatibilities with Unix @code{troff} +@cindex delimited arguments, incompatibilities with @acronym{AT&T} @code{troff} Two other features are controlled by @option{-C}. If not in compatibility mode, GNU @code{troff} preserves the input level in delimited arguments: @@ -12419,11 +12458,11 @@ In compatibility mode, the string @samp{72def'} is returned; without @option{-C} the resulting string is @samp{168} (assuming a TTY output device). -@cindex @code{\f}, incompatibilities with Unix @code{troff} -@cindex @code{\H}, incompatibilities with Unix @code{troff} -@cindex @code{\R}, incompatibilities with Unix @code{troff} -@cindex @code{\s}, incompatibilities with Unix @code{troff} -@cindex @code{\S}, incompatibilities with Unix @code{troff} +@cindex @code{\f}, incompatibilities with @acronym{AT&T} @code{troff} +@cindex @code{\H}, incompatibilities with @acronym{AT&T} @code{troff} +@cindex @code{\R}, incompatibilities with @acronym{AT&T} @code{troff} +@cindex @code{\s}, incompatibilities with @acronym{AT&T} @code{troff} +@cindex @code{\S}, incompatibilities with @acronym{AT&T} @code{troff} Finally, the escapes @code{\f}, @code{\H}, @code{\R}, @code{\s}, and @code{\S} are transparent for recognizing the beginning of a line only in compatibility mode (this is a rather obscure feature). For example, @@ -12439,20 +12478,20 @@ Hallo! prints @samp{Hallo!} in bold face if in compatibility mode, and @samp{.xx} in bold face otherwise. -@cindex @code{\A}, incompatibilities with Unix @code{troff} -@cindex @code{\|}, incompatibilities with Unix @code{troff} -@cindex @code{\^}, incompatibilities with Unix @code{troff} -@cindex @code{\&}, incompatibilities with Unix @code{troff} -@cindex @code{\@{}, incompatibilities with Unix @code{troff} -@cindex @code{\@}}, incompatibilities with Unix @code{troff} -@cindex @code{\@key{SP}}, incompatibilities with Unix @code{troff} -@cindex @code{\'}, incompatibilities with Unix @code{troff} -@cindex @code{\`}, incompatibilities with Unix @code{troff} -@cindex @code{\-}, incompatibilities with Unix @code{troff} -@cindex @code{\_}, incompatibilities with Unix @code{troff} -@cindex @code{\!}, incompatibilities with Unix @code{troff} -@cindex @code{\%}, incompatibilities with Unix @code{troff} -@cindex @code{\c}, incompatibilities with Unix @code{troff} +@cindex @code{\A}, incompatibilities with @acronym{AT&T} @code{troff} +@cindex @code{\|}, incompatibilities with @acronym{AT&T} @code{troff} +@cindex @code{\^}, incompatibilities with @acronym{AT&T} @code{troff} +@cindex @code{\&}, incompatibilities with @acronym{AT&T} @code{troff} +@cindex @code{\@{}, incompatibilities with @acronym{AT&T} @code{troff} +@cindex @code{\@}}, incompatibilities with @acronym{AT&T} @code{troff} +@cindex @code{\@key{SP}}, incompatibilities with @acronym{AT&T} @code{troff} +@cindex @code{\'}, incompatibilities with @acronym{AT&T} @code{troff} +@cindex @code{\`}, incompatibilities with @acronym{AT&T} @code{troff} +@cindex @code{\-}, incompatibilities with @acronym{AT&T} @code{troff} +@cindex @code{\_}, incompatibilities with @acronym{AT&T} @code{troff} +@cindex @code{\!}, incompatibilities with @acronym{AT&T} @code{troff} +@cindex @code{\%}, incompatibilities with @acronym{AT&T} @code{troff} +@cindex @code{\c}, incompatibilities with @acronym{AT&T} @code{troff} GNU @code{troff} does not allow the use of the escape sequences @code{\|}, @code{\^}, @code{\&}, @code{\@{}, @code{\@}}, @code{\@key{SP}}, @code{\'}, @code{\`}, @code{\-}, @code{\_}, @code{\!}, @@ -12462,8 +12501,11 @@ registers, fonts or environments; @acronym{UNIX} @code{troff} does. The avoiding use of these escape sequences in names. @cindex fractional point sizes +@cindex fractional type sizes @cindex point sizes, fractional -@cindex @code{ps} request, incompatibilities with Unix @code{troff} +@cindex type sizes, fractional +@cindex sizes, fractional +@cindex @code{ps} request, incompatibilities with @acronym{AT&T} @code{troff} Fractional point sizes cause one noteworthy incompatibility. In @acronym{UNIX} @code{troff} the @code{ps} request ignores scale indicators and thus @@ -12477,14 +12519,13 @@ sets the point size to 10@w{ }points, whereas in GNU @code{troff} it sets the point size to 10@w{ }scaled points. @xref{Fractional Type Sizes}, for more information. -@cindex @code{bd} request, incompatibilities with Unix @code{troff} -@cindex @code{cs} request, incompatibilities with Unix @code{troff} -@cindex @code{tkf} request, incompatibilities with Unix @code{troff} -@cindex @code{tr} request, incompatibilities with Unix @code{troff} -@cindex @code{fp} request, incompatibilities with Unix @code{troff} -@cindex input and output characters, compatibility with Unix -@cindex output characters, compatibility with Unix -@cindex characters, input and output, compatibility with Unix +@cindex @code{bd} request, incompatibilities with @acronym{AT&T} @code{troff} +@cindex @code{cs} request, incompatibilities with @acronym{AT&T} @code{troff} +@cindex @code{tr} request, incompatibilities with @acronym{AT&T} @code{troff} +@cindex @code{fp} request, incompatibilities with @acronym{AT&T} @code{troff} +@cindex input and output characters, compatibility with @acronym{AT&T} @code{troff} +@cindex output characters, compatibility with @acronym{AT&T} @code{troff} +@cindex characters, input and output, compatibility with @acronym{AT&T} @code{troff} In GNU @code{troff} there is a fundamental difference between unformatted, input characters, and formatted, output characters. Everything that affects how an output character is output is stored @@ -12508,13 +12549,13 @@ constructed might have had. For example, .x @endExample -@cindex printing backslash (@code{\\}, @code{\e}, @code{\E}, @code{\(rs}) -@cindex backslash, printing (@code{\\}, @code{\e}, @code{\E}, @code{\(rs}) -@cindex @code{\e}, incompatibilities with Unix @code{troff} -@cindex @code{\!}, incompatibilities with Unix @code{troff} -@cindex @code{\?}, incompatibilities with Unix @code{troff} -@cindex transparent output, incompatibilities with Unix @code{troff} -@cindex output, transparent, incompatibilities with Unix @code{troff} +@cindex printing backslash (@code{\\}, @code{\e}, @code{\E}, @code{\[rs]}) +@cindex backslash, printing (@code{\\}, @code{\e}, @code{\E}, @code{\[rs]}) +@cindex @code{\e}, incompatibilities with @acronym{AT&T} @code{troff} +@cindex @code{\!}, incompatibilities with @acronym{AT&T} @code{troff} +@cindex @code{\?}, incompatibilities with @acronym{AT&T} @code{troff} +@cindex transparent output, incompatibilities with @acronym{AT&T} @code{troff} +@cindex output, transparent, incompatibilities with @acronym{AT&T} @code{troff} @noindent prints @samp{\\} in GNU @code{troff}; each pair of input backslashes is turned into one output backslash and the resulting output backslashes @@ -12772,7 +12813,7 @@ is available as an extra package from the following address: @c @cindex ISO 6249 SGR @c @cindex terminal control sequences @c @cindex control sequences, for terminals -@c For tty output devices, underlining is done by emitting sequences of +@c For TTY output devices, underlining is done by emitting sequences of @c @samp{_} and @samp{\b} (the backspace character) before the actual @c character. Literally, this is printing an underline character, then @c moving back one character position, and printing the actual character @@ -12809,8 +12850,8 @@ is available as an extra package from the following address: @node Embedding PostScript, , Invoking grops, grops @subsection Embedding @sc{PostScript} -@cindex embedding postscript -@cindex postscript, embedding +@cindex embedding PostScript +@cindex PostScript, embedding @c XXX @@ -12929,7 +12970,7 @@ and secondly to troff -Thtml @end example -The postscript device is used to create all the image files, and the +The PostScript device is used to create all the image files, and the register @code{ps4html} enables the macro sets to ignore floating keeps, footers, and headings. @@ -12982,7 +13023,7 @@ template name or the default name. @node gtroff Output, Font Files, File formats, File formats @section @code{gtroff} Output -@cindex @code{gtroff} output +@cindex @code{gtroff}, output @cindex output, @code{gtroff} This section describes the format output of GNU @code{troff}. The @@ -13098,7 +13139,7 @@ Device control. @cindex control of devices The @samp{x} command is normally followed by a letter or word indicating -the function to perform, followed by white space separated arguments. +the function to perform, followed by whitespace separated arguments. The first argument can be abbreviated to the first letter. @@ -13281,8 +13322,8 @@ called@w{ }@file{@var{f}}. @node DESC File Format, Font File Format, Font Files, Font Files @subsection @file{DESC} File Format -@cindex @file{DESC} file format -@cindex font description file format +@cindex @file{DESC} file, format +@cindex font description file, format @cindex format of font description file @pindex DESC@r{ file format} @@ -13359,7 +13400,7 @@ in the @file{DESC} file. @node Font File Format, , DESC File Format, Font Files @subsection Font File Format -@cindex font file format +@cindex font file, format @cindex format of font files A font file has two sections. The first section is a sequence of lines |