diff options
Diffstat (limited to 'doc')
-rwxr-xr-x | doc/Makefile | 11 | ||||
-rw-r--r-- | doc/groff.texinfo | 399 |
2 files changed, 242 insertions, 168 deletions
diff --git a/doc/Makefile b/doc/Makefile index 8e70de0a..655bc5bf 100755 --- a/doc/Makefile +++ b/doc/Makefile @@ -31,7 +31,7 @@ revision=`sed -e 's/^0$$//' -e 's/^[1-9].*$$/.&/' ../REVISION` all: $(DOCS) -.SUFFIXES: .tr .me .ms .ps .dit .html .ascii +.SUFFIXES: .tr .me .ms .ps .dit .html .ascii .texinfo .dvi .dit.ps: $(GROPS) $< >$@ @@ -62,13 +62,16 @@ all: $(DOCS) sed -e "s;@VERSION@;$(version)$(revision);" $< \ | $(GROFF) -Tps $(FFLAG) -U -ms -markup >$@ +.texinfo.dvi: + texi2dvi -e $< + install: clean: -rm -f *.ps *.html *.ascii *.png *.gif *.dit core - -rm -f *.aux *.cp *.cps *.cv *.cn *.dvi *.fn *.fns *.ky *.kys \ - *.log *.op *.pg *.pgs *.ps *.toc *.tp *.tps *.tr *.vr *.vrs \ - texput.log + -rm -f *.aux *.dvi *.log *.toc texput.log + -rm -f *.cp *.cps *.cv *.cn *.fn *.fns *.gl *.gls *.ky *.kys \ + *.ma *.mas *.op *.ops *.pg *.pgs *.tp *.tps *.tr *.vr *.vrs distclean: clean diff --git a/doc/groff.texinfo b/doc/groff.texinfo index bf489f96..5557b193 100644 --- a/doc/groff.texinfo +++ b/doc/groff.texinfo @@ -24,11 +24,13 @@ @c tindex: environment variables @c maindex: macros and strings @c glindex: glyph names +@c opindex: operators @c @c tindex and cindex are merged. @defcodeindex ma @defcodeindex gl +@defcodeindex op @syncodeindex tp cp @@ -36,18 +38,34 @@ @deffn \category\ @t{\name\} \arg\ @end macro +@macro end_Deffn +@end deffn +@end macro + @macro Deffnx{category, name, arg} @deffnx \category\ @t{\name\} \arg\ @end macro +@macro end_Deffnx +@end deffnx +@end macro + @macro Defmac{name, arg} @defmac @t{\name\} \arg\ @end macro +@macro end_Defmac +@end defmac +@end macro + @macro Defmacx{name, arg} @defmacx @t{\name\} \arg\ @end macro +@macro end_Defmacx +@end defmacx +@end macro + @c XXX comment all examples @@ -178,7 +196,8 @@ contributions are welcome. Send them to bug-groff@@gnu.org. * Output Devices:: * File formats:: * Installation:: -* Request and Operator Index:: +* Request and Escape Index:: +* Operator Index:: * Register Index:: * Macro and String Index:: * Glyph Name Index:: @@ -736,8 +755,8 @@ X@w{ }windows. GNU @code{troff} also eliminated the need for a separate @code{nroff} program with a postprocessor which would produce @acronym{ASCII} output. @item -A version of the @option{-me} macros and an implementation of the -@option{-man} macros. +A version of the @file{me} macros and an implementation of the +@file{man} macros. @end itemize Also, a front-end was included which could construct the, sometimes @@ -745,8 +764,8 @@ painfully long, pipelines required for all the post- and preprocessors. Development of GNU @code{troff} progressed rapidly, and saw the additions of a replacement for @code{refer}, an implementation of the -@option{-ms} and @option{-mm} macros, and a program to deduce how to -format a document (@code{grog}). +@file{ms} and @file{mm} macros, and a program to deduce how to format a +document (@code{grog}). It was declared a stable (i.e.@: non-beta) package with the release of version@w{ }1.04 around November@w{ }1991. @@ -819,8 +838,8 @@ difficult to use by itself. However, @code{groff} provides a }starting paragraphs, printing headers and footers, etc.)@: should be done. These macros can be collected together into a @dfn{macro package}. There are a number of macro packages available; the most -common (and the ones described in this manual) are @option{-man}, -@option{-mdoc}, @option{-me}, @option{-ms}, and @option{-mm}. +common (and the ones described in this manual) are @file{man}, +@file{mdoc}, @file{me}, @file{ms}, and @file{mm}. @node Preprocessor Intro, Output device intro, Macro Package Intro, Introduction @@ -875,11 +894,11 @@ HP LaserJet@w{ }4 and Canon LBP printers, and @acronym{HTML}. Large portions of this manual were taken from existing documents, most notably, the manual pages for the @code{groff} package by James Clark, -and Eric Allman's papers on the @option{-me} macro package. +and Eric Allman's papers on the @file{me} macro package. -The section on the @option{-man} macro package is partly based on -Susan@w{ }G.@: Kleinmann's @file{groff_man} manual page written for the -Debian GNU/Linux system. +The section on the @file{man} macro package is partly based on Susan@w{ +}G.@: Kleinmann's @file{groff_man} manual page written for the Debian +GNU/Linux system. @@ -957,7 +976,8 @@ gtroff [ -abivzCERU ] [ -w@var{name} ] [ -W@var{name} ] [ -d@var{cs} ] @end example Options without an argument can be grouped behind a single @option{-}. -A filename of @samp{-} denotes the standard input. +A filename of @samp{-} denotes the standard input. It is possible to +have whitespace between an option and its parameter. @pindex grog The @code{grog} command can be used to guess the correct @code{groff} @@ -1178,28 +1198,33 @@ groff -t -mandoc -Tascii file | less @noindent This is basically what a call to the @code{man} program does. The -manual page @var{file} is processed with the @option{-mandoc} macros -(which in turn either calls the @option{-man} or the @option{-mdoc} -macro package), using the @code{tbl} preprocessor and the -@acronym{ASCII} output device. Finally, the result is displayed with -the @code{less} pager. +manual page @var{file} is processed with the @file{mandoc} macros (which +in turn either calls the @file{man} or the @file{mdoc} macro package), +using the @code{tbl} preprocessor and the @acronym{ASCII} output device. +Finally, the result is displayed with the @code{less} pager. @example -groff -X -me file +groff -X -m me file @end example @noindent -Preview @var{file} with @code{gxditview}, using the @option{-me} macro +Preview @var{file} with @code{gxditview}, using the @file{me} macro package. Since no @option{-T} option is specified, use the default -device (@samp{ps}). +device (@samp{ps}). Note that you can either say @w{@samp{-m me}} or +@w{@samp{-me}}; the latter is an anachronism from the early days of +@acronym{UNIX}.@footnote{The same is true for the other main macro +packages that come with @code{groff}: @file{man}, @file{mdoc}, +@file{ms}, @file{mm}, and @file{mandoc}. This won't work in general; +for example, to load @file{tmac.safer}, either @samp{-msafer} or +@w{@samp{-m safer}} must be used.} @example groff -man -rD1 -z file @end example @noindent -Check @var{file} with the @option{-man} macro package, forcing -double-sided printing---don't produce any output. +Check @var{file} with the @file{man} macro package, forcing double-sided +printing---don't produce any output. @subsection @code{grog} @@ -1547,13 +1572,13 @@ actually more appropriate for tables of contents. Some macro packages provide stock formats for various kinds of documents. Many of them provide a common format for the title and -opening pages of a technical paper. The @option{-mm} macros in -particular provide formats for letters and memoranda. +opening pages of a technical paper. The @file{mm} macros in particular +provide formats for letters and memoranda. @subsection Multiple Columns -Some macro packages (except @option{-man}) provide the ability to have -two or more columns on a page. +Some macro packages (except @file{man}) provide the ability to have two +or more columns on a page. @subsection Font and Size changes @@ -1587,18 +1612,20 @@ This chapter documents the main macro packages that come with @code{groff}. @menu -* -man:: -* -mdoc:: -* -ms:: -* -me:: -* -mm:: +* man:: +* mdoc:: +* ms:: +* me:: +* mm:: @end menu -@node -man, -mdoc, Macro Packages, Macro Packages -@section -man -@cindex @option{-man} +@node man, mdoc, Macro Packages, Macro Packages +@section @file{man} +@cindex @file{man} +@cindex manual pages @pindex tmac.an +@pindex tmac.man This is the most popular and probably the most important macro package of @code{groff}. It is easy to use, and a vast majority of manual pages @@ -1611,19 +1638,21 @@ are based on it. * Miscellaneous man stuff:: @end menu -@node Man options, Man usage, -man, -man +@node Man options, Man usage, man, man @subsection Options -The command line format for using the @option{-man} macros with +The command line format for using the @file{man} macros with @code{groff} is: @c XXX document @TMAC_AN_PREFIX@ @example -groff -man [ -rC1 ] [ -rD1 ] [ -rP @var{nnn} ] [ -rX @var{nnn} ] +groff -m man [ -rC1 ] [ -rD1 ] [ -rP @var{nnn} ] [ -rX @var{nnn} ] [ @var{files}@dots{} ] @end example +It is possible to use @samp{-man} instead of @w{@samp{-m man}}. + @table @code @item -rC1 If more than one manual page is given on the command line, number the @@ -1639,7 +1668,7 @@ After page @var{nnn}, number pages as @var{nnn}a, @var{nnn}b, following page numbers: 1, 2, 2a, 2b, 2c, etc. @end table -@node Man usage, Man font macros, Man options, -man +@node Man usage, Man font macros, Man options, man @subsection Usage @pindex man.local @@ -1669,7 +1698,7 @@ again (except if the @option{-rC1} option is given on the command line)---this feature is intended only for formatting multiple man pages; a single man page should contain exactly one @code{TH} macro at the beginning of the file. -@end defmac +@end_Defmac @maindex SH @Defmac{SH, [@var{heading}]} @@ -1678,7 +1707,7 @@ out all the text following @code{SH} up to the end of the line (resp.@: the text in the next line if there is no argument to @code{SH}) in bold face, at a default size of 9@w{ }point. Additionally, the left margin for the following text is reset to its default value. -@end defmac +@end_Defmac @maindex SS @Defmac{SS, [@var{heading}]} @@ -1687,7 +1716,7 @@ following @code{SS} up to the end of the line (resp.@: the text in the next line if there is no argument to @code{SS}) in bold face, at a default size of 10@w{ }point. Additionally, the left margin for the following text is reset to its default value. -@end defmac +@end_Defmac @maindex TP @Defmac{TP, [@var{nnn}]} @@ -1706,7 +1735,7 @@ the paragraph begins on the line following the label, entirely indented. Note that neither font shape nor font size of the label is set to a default value; on the other hand, the rest of the text will have default font settings. -@end defmac +@end_Defmac @maindex LP @maindex PP @@ -1719,7 +1748,7 @@ current position, followed by a vertical space downwards by the amount specified by the @code{PD} macro. The font size and shape are reset to the default value (10@dmn{pt} resp.@: Roman). Finally, the current left margin is restored. -@end defmac +@end_Defmac @maindex IP @Defmac{IP, [@var{designator}] [@var{nnn}]} @@ -1737,7 +1766,7 @@ For example, to start a paragraph with bullets as the designator and @example .IP \(bu 4 @end example -@end defmac +@end_Defmac @maindex HP @Defmac{HP, [@var{nnn}]} @@ -1745,14 +1774,14 @@ Sets 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 its default values. -@end defmac +@end_Defmac @maindex RS @Defmac{RS, [@var{nnn}]} This macro moves 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. -@end defmac +@end_Defmac @maindex RE @Defmac{RE, [@var{nnn}]} @@ -1760,7 +1789,7 @@ This macro moves the left margin back to level @var{nnn}; if no argument is given, it moves one level back. The first level (i.e., no call to @code{RS} yet) has number@w{ }1, and each call to @code{RS} increases the level by@w{ }1. -@end defmac +@end_Defmac @maindex SH @maindex SS @@ -1780,7 +1809,7 @@ macro): @code{SH}, @code{SS}, @code{TP}, @code{LP} (@code{PP}, The macros @code{RS} and @code{RE} also cause a break but no insertion of vertical space. -@node Man font macros, Miscellaneous man stuff, Man usage, -man +@node Man font macros, Miscellaneous man stuff, Man usage, man @subsection Macros to set fonts The standard font is Roman; the default text size is 10@w{ }point. @@ -1789,13 +1818,13 @@ The standard font is Roman; the default text size is 10@w{ }point. @Defmac{SM, [@var{text}]} Causes the text on the same line or the text on the next line to appear in a font that is one point size smaller than the default font. -@end defmac +@end_Defmac @maindex SB @Defmac{SB, [@var{text}]} Causes the text on the same line or the text on the next line to appear in boldface font, one point size smaller than the default font. -@end defmac +@end_Defmac @maindex BI @Defmac{BI, text} @@ -1809,37 +1838,37 @@ italic. The text must be on the same line as the macro call. Thus @noindent would cause `this' and `that' to appear in bold face, while `word and' appears in italics. -@end defmac +@end_Defmac @maindex IB @Defmac{IB, text} Causes text to appear alternately in italic and bold face. The text must be on the same line as the macro call. -@end defmac +@end_Defmac @maindex RI @Defmac{RI, text} Causes text on the same line to appear alternately in roman and italic. The text must be on the same line as the macro call. -@end defmac +@end_Defmac @maindex IR @Defmac{IR, text} Causes text on the same line to appear alternately in italic and roman. The text must be on the same line as the macro call. -@end defmac +@end_Defmac @maindex BR @Defmac{BR, text} Causes text on the same line to appear alternately in bold face and roman. The text must be on the same line as the macro call. -@end defmac +@end_Defmac @maindex RB @Defmac{RB, text} Causes text on the same line to appear alternately in roman and bold face. The text must be on the same line as the macro call. -@end defmac +@end_Defmac @maindex R @Defmac{R, [@var{text}]} @@ -1847,28 +1876,28 @@ Causes @var{text} to appear in roman font. If no text is present on the line where the macro is called, then the text of the next line appears in roman. This is the default font to which text is returned at the end of processing of the other macros. -@end defmac +@end_Defmac @maindex B @Defmac{B, [@var{text}]} Causes @var{text} to appear in bold face. If no text is present on the line where the macro is called, then the text of the next line appears in bold face. -@end defmac +@end_Defmac @maindex I @Defmac{I, [@var{text}]} Causes @var{text} to appear 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. -@end defmac +@end_Defmac -@node Miscellaneous man stuff, , Man font macros, -man +@node Miscellaneous man stuff, , Man font macros, man @subsection Miscellaneous @pindex grohtml -@cindex @option{-man}, default indentation -@cindex default indentation, @option{-man} +@cindex @file{man}, default indentation +@cindex default indentation, @file{man} The default indentation is 7.2@dmn{n} for all output devices except for @code{grohtml} which uses 1.2@dmn{i} instead. @@ -1878,7 +1907,7 @@ The default indentation is 7.2@dmn{n} for all output devices except for Sets 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. -@end defmac +@end_Defmac @maindex PD @Defmac{PD, [@var{nnn}]} @@ -1886,7 +1915,7 @@ Adjusts the empty space before a new paragraph (resp.@: section). The optional argument gives the amount of space (default units are @samp{v}); without parameter, the value is reset to its default value (1@w{ }line for tty devices, 0.4@dmn{v}@w{ }otherwise). -@end defmac +@end_Defmac @maindex SH @maindex SS @@ -1904,17 +1933,17 @@ The following strings are defined: @maindex \*S @Defmac{\\*S} Switch back to the default font size. -@end defmac +@end_Defmac @maindex \*R @Defmac{\\*R} The `registered' sign. -@end defmac +@end_Defmac @maindex \*(Tm @Defmac{\\*(Tm} The `trademark' sign. -@end defmac +@end_Defmac @maindex \*(lq @maindex \*(rq @@ -1924,7 +1953,7 @@ The `trademark' sign. @Defmacx{\\*(rq} Left and right quote. This is equal to @code{\(lq} and @code{\(rq}, respectively. -@end defmac +@end_Defmac @cindex preprocessor, calling convention @cindex calling convention of preprocessors @@ -1946,30 +1975,30 @@ Modern implementations of the @code{man} program read this first line and automatically call the right preprocessor(s). -@node -mdoc, -ms, -man, Macro Packages -@section -mdoc -@cindex @option{-mdoc} +@node mdoc, ms, man, Macro Packages +@section @file{mdoc} +@cindex @file{mdoc} @c XXX documentation -@node -ms, -me, -mdoc, Macro Packages -@section -ms -@cindex @option{-ms} +@node ms, me, mdoc, Macro Packages +@section @file{ms} +@cindex @file{ms} @c XXX documentation -@node -me, -mm, -ms, Macro Packages -@section -me -@cindex @option{-me} +@node me, mm, ms, Macro Packages +@section @file{me} +@cindex @file{me} @c XXX documentation -@node -mm, , -me, Macro Packages -@section -mm -@cindex @option{-mm} +@node mm, , me, Macro Packages +@section @file{mm} +@cindex @file{mm} @c XXX documentation @@ -2070,7 +2099,7 @@ will fit nicely on a line without inserting excessive amounts of space between words is not great, @code{gtroff} will hyphenate words so that lines can be justified without there being too much space between words. It uses an internal hyphenation algorithm (a simplified version of the -algorithm used within @TeX{}), to indicate which words can be hyphenated +algorithm used within @TeX{}) to indicate which words can be hyphenated and how to do so. When a word is hyphenated the first part of the word will be added to the current filled line being output (with an attached hyphen), and the other portion will be added to the next line to be @@ -2097,10 +2126,27 @@ a comma or a period as part of an abbreviation. @samp{!}, @samp{?} and @samp{.}) as @dfn{end of sentence} characters. When @code{gtroff} encounters one of these characters at the end of a line it will append two @dfn{sentence spaces} in the formatted output. -(Thus, one of the conventions mentioned in @ref{Input Conventions}). +(Thus, one of the conventions mentioned in @ref{Input Conventions}.) + +@cindex transparent characters +@cindex character, transparent +@glindex dg +@glindex rq +@cindex " +@cindex ' +@cindex ) +@cindex ] +@cindex * +In addition, the following characters resp.@: glyphs are treated +transparently while handling end of sentence characters: @samp{"}, +@samp{'}, @samp{)}, @samp{]}, @samp{*}, @code{dg}, and @code{rq}. + +See the @code{cflags} request in @ref{Using Symbols}, for more details. + +@findex \& +To prevent the insertion of extra space after an end of sentence +character (at the end of a line), append @code{\&}. -@c XXX also describe how characters like ) are treated here -jjc -@c gotta do some research on this -trent @node Tab Stops, Implicit Line Breaks, Sentences, Text @subsection Tab Stops @@ -2166,10 +2212,7 @@ The end of file will also cause a break---otherwise the last line of the document may vanish! Certain requests also cause breaks, implicitly or explicitly. This will -be discussed later. - -@xref{Manipulating Filling and Adjusting}. -@c XXX list all requests which cause a break +be discussed in @ref{Manipulating Filling and Adjusting}. @node Input Conventions, Measurements, Text, Programming Tutorial @@ -2191,7 +2234,7 @@ themselves, as entire phrases are often added or deleted when editing. Try to keep lines less than 40-60@w{ }characters, to allow space for inserting more text. @item -Do not try to do any formatting in a @acronym{WYSIWYG} manner (i.e.@: +Do not try to do any formatting in a @acronym{WYSIWYG} manner (i.e., don't try and use spaces to get proper indentation). @end itemize @@ -2334,11 +2377,11 @@ certain scalar value, use @samp{u} as the unit for that value. @item @cindex arithmetic operators @cindex operators, arithmetic -@findex + -@findex - -@findex / -@findex * -@findex % +@opindex + +@opindex - +@opindex / +@opindex * +@opindex % Arithmetic: @samp{+} (addition), @samp{-} (subtraction), @samp{/} (division), @samp{*} (multiplication), @samp{%} (modulo). @@ -2348,27 +2391,27 @@ signed integer. @item @cindex comparison operators @cindex operators, comparison -@findex < -@findex > -@findex >= -@findex <= -@findex = -@findex == +@opindex < +@opindex > +@opindex >= +@opindex <= +@opindex = +@opindex == Comparison: @samp{<} (less than), @samp{>} (greater than), @samp{<=} (less than or equal), @samp{>=} (greater than or equal), @samp{=} (equal), @samp{==} (the same as @samp{=}). @item @cindex logical operators @cindex operators, logical -@findex & -@findex : +@opindex & +@opindex : Logical: @samp{&} (logical and), @samp{:} (logical or). @item @cindex unary operators @cindex operators, unary -@findex - -@findex + -@findex ! +@opindex - +@opindex + +@opindex ! @findex if @findex while Unary operators: @samp{-} (negating, i.e.@: changing the sign), @samp{+} @@ -2378,8 +2421,8 @@ below for the use of unary operators in motion requests. @item @cindex extremum operators @cindex operators, extremum -@findex >? -@findex <? +@opindex >? +@opindex <? Extrema: @samp{>?} (maximum), @samp{<?} (minimum). For example, @samp{5>?3} yields@w{ }@samp{5}. @c XXX add examples @@ -2394,17 +2437,17 @@ indicators in the evaluation of @var{e}. @cindex parentheses @cindex order of evaluation in expressions @cindex expression, order of evaluation -@findex ( -@findex ) +@opindex ( +@opindex ) Parentheses may be used as in any other language. However, in @code{gtroff} they are necessary to ensure order of evaluation. @code{gtroff} has no operator precedence; expressions are evaluated left to right. This means that @samp{3+5*4} is evaluated as if it were parenthesized like @samp{(3+5)*4}, not as @samp{3+(5*4)}, as expected. -@findex + -@findex - -@findex | +@opindex + +@opindex - +@opindex | @cindex motion operators @cindex operators, motion For many requests which cause a motion on the page, the unary operators @@ -2412,7 +2455,7 @@ work differently. The @samp{+} and @samp{-} operators then indicate a motion relative to the current position (down or up, respectively), and the @samp{|} operator indicates an absolute position on the page or input line. -@c XXX (????) +@c XXX xref @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}, @@ -2496,7 +2539,7 @@ sort of associative table. \A'end-list' @result{} 1 @end example -@end deffn +@end_Deffn @xref{Escapes}, for details on parameter delimiting characters. @@ -2764,19 +2807,19 @@ Finally, the escapes @code{\D}, @code{\h}, @code{\H}, @code{\l}, @item The digits @code{0}-@code{9}. @cindex operators -@findex + -@findex - -@findex / -@findex * -@findex % -@findex < -@findex > -@findex = -@findex & -@findex : -@findex ( -@findex ) -@findex . +@opindex + +@opindex - +@opindex / +@opindex * +@opindex % +@opindex < +@opindex > +@opindex = +@opindex & +@opindex : +@opindex ( +@opindex ) +@opindex . @item The (single character) operators @samp{+-/*%<>=&:().}. @item @@ -2872,8 +2915,8 @@ ignored completely. Another commenting scheme seen sometimes is three consecutive single quotes (@code{'''}) at the beginning of a line. This works, but @code{gtroff} will give a warning about an undefined macro (namely -@code{''}, which is harmless, but irritating. -@end deffn +@code{''}), which is harmless, but irritating. +@end_Deffn @Deffn{Escape, \\#} Now to avoid all this @code{gtroff} has a new comment mechanism using @@ -2895,7 +2938,7 @@ Test Test @noindent as expected. -@end deffn +@end_Deffn @findex ig For large blocks of text, the @code{ig} request may be useful. @@ -2934,7 +2977,7 @@ Registers are defined resp.@: set via the @code{nr} request or the @Deffnx{Escape, \\R, ident value} Set number register @var{ident} to @var{value}. If @var{ident} doesn't exist, it will be created. -@end deffn +@end_Deffn For example, the following two lines are equivalent: @@ -2976,15 +3019,15 @@ must be taken to get the desired result: @noindent The surrounding parentheses prevent the interpretation of the minus sign as a decrementing operator. -@end deffn +@end_Deffn @Deffn{Request, rr, ident} Remove number register @var{ident}. -@end deffn +@end_Deffn @Deffn{Request, rnn, ident1 ident2} Rename number register @var{ident1} to @var{ident2}. -@end deffn +@end_Deffn @Deffn{Request, aln, ident1 ident2} This request creates an alias @var{ident1} for a number register @@ -2992,7 +3035,7 @@ This request creates an alias @var{ident1} for a number register If @var{ident1} is undefined, a warning of type @samp{reg} will be generated, and the request will be ignored. @xref{Debugging}, for information about warnings. -@end deffn +@end_Deffn @node Interpolating Registers, Auto-increment, Setting Registers, Registers @subsection Interpolating Registers @@ -3013,7 +3056,7 @@ input line. \n(as @result{} 10 @end example -@end deffn +@end_Deffn @node Auto-increment, Assigning Formats, Interpolating Registers, Registers @subsection Auto-increment @@ -3028,7 +3071,7 @@ argument to the @code{nr} request or @code{\N} escape. @Deffnx{Escape, \\N, ident value incr} Set number register @var{ident} to @var{value}; the increment for auto-incrementing is set to @var{incr}. -@end deffn +@end_Deffn To activate auto-incrementing, the escape @code{\n} has a special syntax form. @@ -3039,7 +3082,7 @@ Before interpolating, increment resp.@: decrement @var{ident} by the auto-increment value as specified with the @code{nr} request (or the @code{\N} escape). If no auto-increment value has been specified, both syntax forms are identical to @code{\n}. -@end deffn +@end_Deffn For example, @@ -3119,14 +3162,14 @@ The following example will produce @samp{10, X, j, 010}: .af a 001 \na @end example -@end deffn +@end_Deffn @Deffn{Escape, \\g, ident} Return the current format of the specified register @var{ident}. For example, @samp{\ga} after the previous example would produce the string @samp{001}. If the register hasn't been defined yet, nothing is returned. -@end deffn +@end_Deffn @node Built-in Registers, , Assigning Formats, Registers @subsection Built-in Registers @@ -3276,25 +3319,30 @@ other requests will also cause breaks, but implicitly. These are @Deffn{Request, br, } Break the current line, i.e., the input collected so far will be emitted without adjustment. -@end deffn +@end_Deffn -@findex nf -@findex fi @vindex .u Initially, @code{gtroff} will fill and adjust text to both margins. Filling can be disabled via the @code{nf} request and re-enabled with -the @code{fi} request. These implicitly disable and re-enable -adjusting. Both of these will cause a break in the text currently being -filled. The number register @code{.u} is equal to@w{ }1 in fill mode -and@w{ }0 in no-fill mode. +the @code{fi} request. -@findex ad -@findex na -Adjusting can be disabled with the @code{ad} request and re-enabled with -the @code{na} request. The @code{ad} request takes a single argument to -indicate how to adjust text. +@Deffn{Request, fi, } +Activate fill mode (which is the default). This request implicitly +enables adjusting; it will also cause a break in the text currently +being filled. The number register @code{.u} is set to@w{ }1. +@end_Deffn -@table @samp +@Deffn{Request, nf, } +Activate no-fill mode. Input lines are output as-is, retaining line +breaks. The current line length will be ignored. This command +implicitly disables adjusting; it also causes a break. The number +register @code{.u} will be set to@w{ }0. +@end_Deffn + +@Deffn{Request, ad, [@var{mode}]} +Enable adjusting. @var{mode} can have one of the following values: + +@table @code @item l @cindex ragged-right Adjust text to the left margin. This produces what is traditionally @@ -3311,8 +3359,8 @@ Center filled text. Justify to both margins. This is default of @code{gtroff}. @end table -With no argument to @code{ad}, @code{gtroff} will adjust lines the same -way it was the last time it was filling. For example: +With no argument, @code{gtroff} will adjust lines the same way before +adjusting has been deactivated (with a call to @code{na}, for example). @example text @@ -3328,7 +3376,14 @@ text @vindex .j The current adjustment mode is available in the number register -@code{.j}. +@code{.j}; it can be stored and subsequently used to set adjustment. +@end_Deffn + +@Deffn{Request, na, } +Disable adjusting. This request won't change the current adjustment +mode: A call to @code{ad} afterwards will use the previous adjustment +setting. +@end_Deffn @findex \p The escape @code{\p} will cause a break and the remaining text to be @@ -3893,7 +3948,7 @@ and bottom titles (or headers and footers) @cindex title line @cindex three-part title @findex tl -@findex % +@vindex % The @code{tl} request will print a @dfn{title line}, which consists of three parts: a left justified portion, a centered portion and a right justified portion. The argument to @code{tl} is specified as @@ -4301,7 +4356,12 @@ the character overlaps vertically (initially character @samp{\(br} has this property) @item 32 @cindex transparent characters -@cindex characters, transparent +@cindex character, transparent +@cindex ' +@cindex " +@cindex ] +@cindex ) +@cindex * @glindex dg @glindex rq an end of sentence character followed by any number of characters with @@ -5045,7 +5105,7 @@ name. This would be called as @example -.vl $Id: groff.texinfo,v 1.23 2000/03/28 09:26:07 wlemb Exp $ +.vl $Id: groff.texinfo,v 1.24 2000/04/08 05:36:27 wlemb Exp $ @end example @xref{Request Arguments}. @@ -5259,7 +5319,7 @@ Here a small useful example: @end example @noindent -@findex | +@opindex | Note that this works by outputting a box rule (a vertical line), then the text given as an argument and then another box rule. Then the line drawing escapes both draw from the current location to the beginning of @@ -7172,7 +7232,7 @@ Most entries in kernpairs section will have a negative value for@w{ -@node Installation, Request and Operator Index, File formats, Top +@node Installation, Request and Escape Index, File formats, Top @chapter Installation @cindex installation @@ -7180,14 +7240,25 @@ Most entries in kernpairs section will have a negative value for@w{ -@node Request and Operator Index, Register Index, Installation, Top -@chapter Request and Operator Index +@node Request and Escape Index, Operator Index, Installation, Top +@chapter Request and Escape Index + +In this index, escapes are listed with a leading backslash (@samp{\}) to +distinguish them from requests which appear without the leading control +character (normally either @samp{.} or @samp{'}). @printindex fn -@node Register Index, Macro and String Index, Request and Operator Index, Top +@node Operator Index, Register Index, Request and Escape Index, Top +@chapter Operator Index + +@printindex op + + + +@node Register Index, Macro and String Index, Operator Index, Top @chapter Register Index @printindex vr |