Home
Main website
Display Sidebar
Hide Ads
Recent Changes
View Source:
groff_mm(7)
Edit
PageHistory
Diff
Info
LikePages
GROFF_MM !!!GROFF_MM NAME SYNOPSIS DESCRIPTION INTERNALS AUTHOR FILES SEE ALSO ---- !!NAME groff_mm - groff mm macros !!SYNOPSIS __groff -mm__ [[ ''options''... ] [[ ''files''... ] !!DESCRIPTION The groff mm macros are intended to be compatible with the DWB mm macros with the following limitations: no Bell Labs localisms implemented. the macros OK and PM is not implemented. groff mm does not support cut marks __mm__ is intended to be international. Therefore it is possible to write short national macrofiles which change all english text to the preferred language. Use __mmse__ as an example. A file called __locale__ or ''lang''___locale__ is read after the initiation of the global variables. It is therefore possible to localize the macros with companyname and so on. In this manual square brackets is used to show optional arguments. __Number registers and strings__ Many macros can be controlled by number registers and strings. A number register is assigned with the __nr__ command:__ .nr__ ''XXX [[+-]n [[i]''__ XXX__ is the name of the register, __n__ is the value to be assigned, and __i__ is increment value for auto-increment. __n__ can have a plus or minus sign as prefix if an increment or decrement of the current value is wanted. (Auto-increment or decrement occurs if the number register is used with a plus or minus sign, __n+[[XXX]__ or __n-[[XXX]__.) Strings is defined with __ds__.__ .ds__ ''YYY string'' The string is assigned everything to the end of the line, even blanks. Initial blanks in ''string'' should be prefixed with a double-quote. (Strings are used in the text as __*[[YYY]__.) __Special formatting of number registers__ A number register is printed with normal digits if no format has been given. Set the format with __af__:__ .af__ ''R c R'' is the name of the register, ''c'' is the format. __Form__ __Sequence__ 1 0, 1, 2, 3, ... 001 000, 001, 002, 003, ... i 0, i, ii, iii, iv, ... I 0, I, II, III, IV, ... a 0, a, b, c, ..., z, aa, ab, ... A 0, A, B, C, ..., Z, AA, AB, ... __Macros:__ __)E level text__ Adds __text__ (heading-text) to the table of contents with __level__ either 0 or between 1-7. See also __.H__. This macro is used for customized table of contents. __1C [[1]__ Begin one column processing. An __1__ as argument disables the page-break. Use wide footnotes, small footnotes may be overprinted. __2C__ Begin two column processing. Splits the page in two columns. It is a special case of __MC__. See also __1C__. __AE__ Abstract end, see __AS__. __AF [[name of firm]__ Authors firm, should be called before __AU__, see also __COVER__. __AL [[type [[text-indent [[1]]]__ Start autoincrement list. Items are numbered beginning on one. The ''type'' argument controls the type of numbers. Arg Description 1 Arabic (the default) A Upper-case letters (A-Z) a Lower-case letters (a-z) I Upper-case roman i Lower-case roman ''Text-indent'' sets the indent and overrides __Li__. A third argument will prohibit printing of a blank line before each item. __APP name text__ Begin an appendix with name ''name''. Automatic naming occurs if ''name'' is ''A__ if auto is used. An new page is ejected, and a header is also produced if the number variable __Aph__ is non-zero. This is the default. The appendix always appear in the 'List of contents' with correct pagenumber. The name ''APPENDIX'' can be changed by setting the string __App__ to the desired text. The string __Apptxt__ contains the current appendix text. __APPSK name pages text__ Same as __.APP__, but the pagenr is incremented with ''pages''. This is used when diagrams or other non-formatted documents are included as appendixes. __AS [[arg [[indent]]__ Abstract start. Indent is specified in 'ens', but scaling is allowed. Argument ''arg'' controls where the abstract is printed. Arg Placement 0 Abstract will be printed on page 1 and on the cover sheet if used in the released-paper style (__MT 4__), otherwise it will be printed on page 1 without a cover sheet. 1 Abstract will only be printed on the cover sheet (__MT 4__ only). 2 Abstract will be printed only on the cover sheet (other than __MT 4__ only). The cover sheet is printed without need for __CS__. Abstract is not printed at all in external letters (__MT 5__). The ''indent'' controls the indentation of both margins, otherwise will normal text indent be used. __AST [[title]__ Abstract title. Default is __ABSTRACT__. Sets the text above the abstract text. __AT title1 [[title2 ...]__ Authors title. __AT__ must appear just after each __AU__. The title will show up after the name in the signature block. __AU [[name [[initials [[loc [[dept [[ext [[room [[arg [[arg [[arg]]]]]]]]]__ Author information, specifies the author of the memo or paper, and will be printed on the cover sheet and on other similar places. __AU__ must not appear before __TL__. The author information can contain initials, location, department, telephone extension, room number or name and up to three extra arguments. __AV [[name [[1]]__ Approval signature, generates an approval line with place for signature and date. The string __APPROVED:__ can be changed with variable __Letapp__, and the string __Date__ in __Letdate__. __AVL [[name]__ Letter signature, generates a line with place for signature. __B [[bold-text [[prev-font-text [[bold...]]]__ Begin boldface. No limit on the number of arguments. All arguments will be concatenated to one word, the first, third and so on will be printed in boldface. __B1__ Begin box (as the ms macro). Draws a box around the text. The text will be indented one character, and the right margin will be one character shorter. __B2__ End box. Finish the box started by __B1__. __BE__ End bottom block, see __BS__. __BI [[bold-text [[italic-text [[bold-text [[...]]]]__ Bold-italic. No limit on the number of arguments, see __B__. __BL [[text-indent [[1]]__ Start bullet list, initialize a list with a bullet and a space in the beginning of each list item (see __LI__). ''Text-indent'' overrides the default indentation of the list items set by number register __Pi__. A third argument will prohibit printing of a blank line before each item. __BR [[bold-text [[roman-text [[bold-text [[...]]]]__ Bold-roman. No limit on the number of arguments. __BS__ Bottom block start. Begins the definition of a text block which is printed at the bottom of each page. Block ends with __BE__. __BVL text-indent [[mark-indent [[1]]__ Start of broken variable-item list. Broken variable-item list has no fixed mark, it assumes that every __LI__ has a mark instead. The text will always begin at the next line after the mark. ''Text-indent'' sets the indent to the text, and ''mark-indent'' the distance from the current indent to the mark. A third argument will prohibit printing of a blank line before each item. __COVER [[arg]__ __COVER__ begins a coversheet definition. It is important that __.COVER__ appears before any normal text. __.COVER__ uses ''arg'' to build the filename /usr/share/groff/1.17.2/tmac/mm/''arg''.cov. Therefore it is possible to create unlimited types of coversheets. ''ms.cov'' is supposed to look like the __ms__ coversheet. __.COVER__ requires a __.COVEND__ at the end of the coverdefinition. Always use this order of the covermacros: .COVER .TL .AF .AU .AT .AS .AE .COVEND However, only __.TL__ and __.AU__ are required. __COVEND__ This finish the cover description and prints the cover-page. It is defined in the cover file. __DE__ Display end. Ends a block of text, display, that begins with __DS__ or __DF__. __DF [[format [[fill [[rindent]]]__ Begin floating display (no nesting allowed). A floating display is saved in a queue and is printed in the order entered. ''Format'', ''fill'' and ''rindent'' is the same as in __DS__. Floating displays are controlled by the two number registers __De__ and __Df__. __De register__ 0 Nothing special, this is the default. 1 A page eject will occur after each printed display, giving only one display per page and no text following it. __Df register__ 0 Displays are printed at the end of each section (when section-page numbering is active) or at the end of the document. 1 A new display will be printed on the current page if there is enough space, otherwise it will be printed at the end of the document. 2 One display will be printed at the top of each page or column (in multi-column mode). 3 Print one display if there is enough space for it, otherwise it will be printed at the top of the next page or column. 4 Print as many displays that will fit in a new page or column. A page break will occur between each display if __De__ is not zero. 5 Fill the current page with displays and the rest beginning at a new page or column. (This is the default.) A page break will occur between each display if __De__ is not zero. __DL [[text-indent [[1 [[1]]]__ Dash list start. Begins a list where each item is printed after a dash. ''Text-indent'' changes the default indentation of the list items set by number register __Pi__. A second argument prevents the empty line between each list item to be printed. See __LI__. A third argument will prohibit printing of a blank line before each item. __DS [[format [[fill [[rindent]]]__ Static display start. Begins collection of text until __DE__. The text is printed together on the same page, unless it is longer than the height of the page. __DS__ can be nested to a unlimited depth (reasonably :-). __format__ No indentation. none No indentation. L No indentation. I Indent text with the value of number register __Si__. C Center each line CB Center the whole display as a block. R Right adjust the lines. RB Right adjust the whole display as a block L, I, C and CB can also be specified as 0, 1, 2 or 3 for compatibility reasons. (Don't use it. :-) __fill__ Line-filling turned off. none Line-filling turned off. N Line-filling turned off. F Line-filling turned on. N and F can also be specified as 0 or 1. An empty line will normally be printed before and after the display. Setting number register __Ds__ to 0 will prevent this. ''Rindent'' shortens the line length by that amount. __EC [[title [[override [[flag [[refname]]]]__ Equation title. Sets a title for an equation. The ''override'' argument change the numbering. __flag__ none ''override'' is a prefix to the number. 0 ''override'' is a prefix to the number. 1 ''override'' is a suffix to the number. 2 ''override'' replaces the number. __EC__ uses the number register __Ec__ as counter. It is possible to use __.af__ to change the format of the number. If number register __Of__ is 1, then the format of title will use a dash instead of a dot after the number. The string __Le__ controls the title of the List of Equations, default is ''LIST OF EQUATIONS''. The List of Equations will only be printed if number register __Le__ is 1, default 0. The string __Liec__ contains the word ''Equation'', wich is printed before the number. If ''refname'' is used, then the equation number is saved with __.SETR__, and can be retrieved with __.GETST__ ''refname''. Special handling of the title will occur if __EC__ is used inside __DS__/__DE__, it will not be affected by the format of __DS__. __EF [[arg]__ Even-page footer, printed just above the normal page footer on even pages, see __PF__. __EH [[arg]__ Even-page header, printed just below the normal page header on even pages, see __PH__. __EN__ Equation end, see __EQ__. __EOP__ End of page user-defined macro. This macro will be called instead of the normal printing of the footer. The macro will be executed in a separate environment, without any trap active. See __TP__. __Strings available to EOP__ EOPf Argument from __PF__. EOPef Argument from __EF__. EOPof Argument from __OF__. __EPIC width height [[name]__ __EPIC__ draws a box with the given ''width'' and ''height'', it will also print the text ''name'' or a default string if ''name'' is not specified.. This is used to include external pictures, just give the size of the picture. See __PIC__ __EQ [[label]__ Equation start. __EQ__/__EN__ are the delimiters for equations written for __eqn__. __EQ__/__EN__ must be inside a __DS__/__DE__-pair, except when __EQ__ is only used to set options in __eqn__. The ''label'' will appear at the right margin of the equation, unless number register __Eq__ is 1. Then the label will appear at the left margin. __EX [[title [[override [[flag [[refname]]]]__ Exhibit title, arguments are the same as for __EC__. __EX__ uses the number register __Ex__ as counter. The string __Lx__ controls the title of the List of Exhibits, default is ''LIST OF EXHIBITS''. The List of Exhibits will only be printed if number register __Lx__ is 1, default 1. The string __Liex__ contains the word ''Exhibit'', which is printed before the number. If ''refname'' is used, then the exhibit number is saved with __.SETR__, and can be retrieved with __.GETST__ ''refname''. Special handling of the title will occur if __EX__ is used inside __DS__/__DE__, it will not be affected by the format of __DS__. __FC [[closing]__ Prints ''Yours very truly,'' as a formal closing of a letter or memorandum. The argument replaces the defualt string. The default is stored in string variable __Letfc__. __FD [[arg [[1]]__ Footnote default format. Controls the hyphenation (hyphen), right margin justification (adjust), indentation of footnote text (indent). It can also change the label justification (ljust). __arg hyphen adjust indent ljust __0 no yes yes left 1 yes yes yes left 2 no no yes left 3 yes no yes left 4 no yes no left 5 yes yes no left 6 no no no left 7 yes no no left 8 no yes yes right 9 yes yes yes right 10 no no yes right 11 yes no yes right Argument greater than or equal to 11 is considered as arg 0. Default for mm is 10. __FE__ Footnote end. __FG [[title [[override [[flag [[refname]]]]__ Figure title, arguments are the same as for __EC__. __FG__ uses the number register __Fg__ as counter. The string __Lf__ controls the title of the List of Figures, default is ''LIST OF FIGURES''. The List of Figures will only be printed if number register __Lf__ is 1, default 1. The string __Lifg__ contains the word ''Figure'', wich is printed before the number. If ''refname'' is used, then the figure number is saved with __.SETR__, and can be retrieved with __.GETST__ ''refname''. Special handling of the title will occur if __FG__ is used inside __DS__/__DE__, it will not be affected by the format of __DS__. __FS [[label]__ Footnote start. The footnote is ended by __FE__. Footnotes is normally automatically numbered, the number is available in string __F__. Just add __*F__ in the text. By adding ''label'', it is possible to have other number or names on the footnotes. Footnotes in displays is now possible. An empty line separates footnotes, the height of the line is controlled by number register __Fs__, default value is 1. __GETHN refname [[varname]__ Includes the headernumber where the corresponding __SETR__ ''refname'' was placed. Will be X.X.X. in pass 1. See __INITR__. If ''varname'' is used, __GETHN__ sets the stringvariable ''varname'' to the headernumber. __GETPN refname [[varname]__ Includes the pagenumber where the corresponding __SETR__ ''refname'' was placed. Will be 9999 in pass 1. See __INITR__. If ''varname'' is used, __GETPN__ sets the stringvariable ''varname'' to the pagenumber. __GETR refname__ Combines __GETHN__ and __GETPN__ with the text 'chapter' and ', page'. The string ''Qrf'' contains the text for reference: .ds Qrf See chapter \*[[Qrfh], page \*[[Qrfp]. ''Qrf'' may be changed to support other languages. Strings ''Qrfh'' and ''Qrfp'' are set by __GETR__ and contains the page and headernumber. __GETST refname [[varname]__ Includes the string saved with the second argument to __.SETR__. Will be dummystring in pass 1. If varname is used, __GETST__ sets the stringvariable ''varname'' to the saved string. See __INITR__. __H level [[heading-text [[heading-suffix]]__ Numbered section heading. Section headers can have a level between 1 and 7, level 1 is the top level. The text is given in ''heading-text'', and must be surrounded by double quotes if it contains spaces. __Heading-suffix__ is added to the header in the text but not in the table of contents. This is normally used for footnote marks and similar things. Don't use __*F__ in ''heading-suffix'', it won't work. A manual label must be used, see __FS__. An eventual paragraph, __P__, directly after __H__ will be ignored, __H__ is taking care of spacing and indentation. __Page ejection before heading__ Number register __Ej__ controls page ejection before the heading. Normally, a level one heading gets two blank lines before it, higher levels gets only one. A new page is ejected before each first-level heading if number register __Ej__ is 1. All levels below or equal the value of __Ej__ gets a new page. Default value for __Ej__ is 0. __Heading break level__ A line break occurs after the heading if the heading level is less or equal to number register __Hb__. Default value 2. __Heading space level__ A blank line is inserted after the heading if the heading level is less or equal to number register __Hs__. Default value 2. Text will follow the heading on the same line if the level is greater than both __Hb__ and __Hs__. __Post-heading indent__ Indentation of the text after the heading is controlled by number register __Hi__, default value 0. __Hi__ 0 The text will be left-justified. 1 Indentation of the text will follow the value of number register __Pt__, see __P__. 2 The text will be lined up with the first word of the heading. __Centered section headings__ All headings whose level is equal or below number register __Hc__ and also less than or equal to __Hb__ or __Hs__ is centerered. __Font control of the heading__ The font of each heading level is controlled by string __HF__. It contains a fontnumber or fontname for each level. Default is __2 2 2 2 2 2 2__ (all headings in italic). Could also be written as __I I I I I I I__. All omitted values are presumed to be a 1. __Point size control__. String __HP__ controls the pointsize of each heading, in the same way as __HF__ controls the font. A value of 0 selects the default point size. Default value is __0 0 0 0 0 0 0__. Beware that only the point size changes, not the vertical size. That can be controlled by the user specified macro __HX__ and/or __HZ__. __Heading counters__ Seven number registers, named __H1__ thru __H7__ contains the counter for each heading level. The values are printed using arabic numerals, this can be changed with the macro __HM__ (see below). All marks are concatenated before printing. To avoid this, set number register __Ht__ to 1. That will only print the current heading counter at each heading. __Automatic table of contents__ All headings whose level is equal or below number register __Cl__ is saved to be printed in the table of contents. Default value is 2. __Special control of the heading, user-defined macros__. These macros can be defined by the user to get a finer control of vertical spacing, fonts or other features. Argument ''level'' is the level-argument to __H__, but 0 for unnumbered headings (see __HU__). Argument ''rlevel'' is the real level, it is set to number register __Hu__ for unnumbered headings. Argument ''heading-text'' is the text argument to __H__ and __HU__. __HX__ ''level rlevel heading-text''__ HX__ is called just before the printing of the heading. The following register is available for __HX__. __HX__ may alter __}0__, __}2__ and __;3__. __string }0__ Contains the heading mark plus two spaces if ''rlevel'' is non-zero, otherwise empty. __register ;0__ Contains the position of the text after the heading. 0 means that the text should follow the heading on the same line, 1 means that a line break should occur before the text and 2 means that a blank line should separate the heading and the text. __string }2__ Contains two spaces if register __;0__ is 0. It is used to separate the heading from the text. The string is empty if __;0__ is non-zero. __register ;3__ Contains the needed space in units after the heading. Default is 2v. Can be used to change things like numbering (__}0__), vertical spacing (__}2__) and the needed space after the heading. __HY__ ''dlevel rlevel heading-text''__ HY__ is called after size and font calculations and might be used to change indentation. __HZ__ ''dlevel rlevel heading-text''__ HZ__ is called after the printing of the heading, just before __H__ or __HU__ exits. Could be used to change the page header according to the section heading. __HC [[hyphenation-character]__ Set hyphenation character. Default value is %. Resets to the default if called without argument. Hyphenation can be turned off by setting number register __Hy__ to 0 in the beginning of the file. __HM [[arg1 [[arg2 [[... [[arg7]]]]__ Heading mark style. Controls the type of marking for printing of the heading counters. Default is 1 for all levels. __Argument__ 1 Arabic numerals. 0001 Arabic numerals with leading zeroes, one or more. A Upper-case alphabetic a Lower-case alphabetic I Upper-case roman numerals i lower-case roman numerals ''empty'' Arabic numerals. __HU heading-text__ Unnumbered section header. __HU__ behavies like __H__ at the level in number register __Hu__. See __H__. __HX dlevel rlevel heading-text__ Userdefined heading exit. Called just before printing the header. See __H__. __HY dlevel rlevel heading-text__ Userdefined heading exit. Called just before printing the header. See __H__. __HZ dlevel rlevel heading-text__ Userdefined heading exit. Called just after printing the header. See __H__. __I [[italic-text [[prev-font-text [[italic-text [[...]]]]__ Italic. Changes the font to italic if called without arguments. With one argument it will set the word in italic. With two argument it will concatenate them and set the first word in italic and the second in the previous font. There is no limit on the number of argument, all will be concatenated. __IA [[addressee-name [[title]]__ Begins specification of the addressee and addressee's address in letter style. Several names can be specified with empty __IA__/__IE__-pairs, but only one address. See __LT__. __IB [[italic-text [[bold-text [[italic-text [[...]]]]__ Italic-bold. Even arguments is printed in italic, odd in boldface. See __I__. __IE__ Ends the address-specification after __IA__. __INITI type filename [[macro]__ Initialize the new index system, sets the filename to collect index lines in with __IND__. Argument ''type'' selects the type of index, page number, header marks or both. The default is ''N''. It is also possible to create a macro that is responsible for formatting each row. Add the name of the macro as argument 3. The macro will be called with the index as argument(s). __type__ N Page numbers H Header marks B Both page numbers and header marks, tab separated __INITR filename__ Initialize the refencemacros. References will be written to ''filename.tmp'' and ''filename.qrf''. Requires two passes with groff. The first looks for references and the second includes them. __INITR__ can be used several times, but it is only the first occurrence of __INITR__ that is active. Option __-U__ might be needed if __unsafe__-errors occur. See also __SETR__, __GETPN__ and __GETHN__. __IND arg1 [[arg2 [[...]]__ __IND__ writes a line in the index file selected by __INITI__ with all arguments and the page number or header mark separated by tabs. __Examples__ arg1tpage number arg1targ2tpage number arg1theader mark arg1tpage numbertheader mark __INDP__ __INDP__ prints the index by running the command specified by string variable __Indcmd__, normally ''sort -tt''. __INDP__ reads the output from the command to form the index, normally in two columns (can be changed by defining __TYIND__). The index is printed with string variable __Index__ as header, default is __INDEX__. One-column processing is returned after the list. __INDP__ will call the user-defined macros __TXIND__, __TYIND__ and __TZIND__ if defined. __TXIND__ is called before printing __INDEX__, __TYIND__ is called instead of printing __INDEX__. __TZIND__ is called after the printing and should take care of restoring to normal operation again. __ISODATE [[0]__ __ISODATE__ changes the predefined date string in __DT__ to ISO-format, ie YYYY-MM-DD. This can also be done by adding __-rIso=1__ on the command line. Reverts to old date format if argument is __0__. __IR [[italic-text [[roman-text [[italic-text [[...]]]]__ Italic-roman. Even arguments is printed in italic, odd in roman. See __I__. __LB text-indent mark-indent pad type [[mark [[LI-space [[LB-space]]]__ List begin macro. This is the common macro used for all lists. ''Text-indent'' is the number of spaces to indent the text from the current indent. ''Pad'' and ''mark-indent'' controls where to put the mark. The mark is placed within the mark area, and ''mark-indent'' sets the number of spaces before this area. It is normally 0. The mark area ends where the text begins. The start of the text is still controlled by ''text-indent''. The mark is left justified whitin the mark area if ''pad'' is 0. If ''pad'' is greater than 0, then ''mark-indent'' is ignored, and the mark is placed ''pad'' spaces before the text. This will right justify the mark. If ''type'' is 0 the list will have either a hanging indent or, if argument ''mark'' is given, the string ''mark'' as mark. If ''type'' is greater than 0 automatic numbering will occur, arabic if ''mark'' is empty. ''Mark'' can then be any of __1__, __A__, __a__, __I__ or __i__. ''Type'' selects one of six possible ways to display the mark.__ type__ 1 x. 2 x) 3 (x) 4 [[x] 5 {x} Every item in the list will get ''LI-space'' number of blank lines before them. Default is 1. __LB__ itself will print ''LB-space'' blank lines. Default is 0. __LC [[list-level]__ List-status clear. Terminates all current active lists down to ''list-level'', or 0 if no argmuent is given. This is used by __H__ to clear any active list. __LE [[1]__ List end. Terminate the current list. __LE__ outputs a blank line if an argument is given. __LI [[mark [[1]]__ List item precedes every item in a list. Without argument __LI__ will print the mark determined by the current list type. By giving __LI__ one argument, it will use that as the mark instead. Two arguments to __LI__ will make ''mark'' a prefix to the current mark. There will be no separating space between the prefix and the mark if the second argument is __2__ instead of __1__. This behaviour can also be achieved by setting number register __Limsp__ to zero. A zero length ''mark'' will make a hanging indent instead. A blank line is normally printed before the list item. This behaviour can be controlled by number register __Ls__. Pre-spacing will occur for each list-level less than or equal to __Ls__. Default value is 99. (Nesting of lists is unlimited. :-) The indentation can be changed thru number register __Li__. Default is 6. All lists begins with a list initialization macro, __LB__. There are, however, seven predefined listtypes to make lists easier to use. They all call __LB__ with different default values. __AL__ Automatically Incremented List __ML__ Marked List __VL__ Variable-Item List __BL__ Bullet List __DL__ Dash List __RL__ Reference List __BVL__ Broken Varable List. These lists are described at other places in this manual. See also __LB__. __LT [[arg]__ Formats a letter in one of four different styles depending on the argument. See also __INTERNALS__. __Arg__ __Style__ BL Blocked. Date line, return address, writer's address and closing begins at the center of the line. All other lines begin at the left margin. SB Semi-blocked. Same as blocked, except that the first line in every paragraph is indented five spaces. FB Full-blocked. All lines begin at the left margin. SP Simplified. Almost the same as the full-blocked style. Subject and the writer's identification are printed in all-capital. __LO type [[arg]__ Specify options in letter (see __.LT__). This is a list of the standard options: CN Confidential notation. Prints __CONFIDENTIAL__ on the second line below the date line. Any argument replaces __CONFIDENTIAL__. See also string variable __LetCN__. RN Reference notation. Prints __In reference to:__ and the argument two lines below the date line. See also string variable __LetRN__. AT Attention. Prints __ATTENTION:__ and the argument below the inside address. See also string variable __LetAT__. SA Salutation. Prints __To Whom It May Concern:__ or the argument if it was present. The salutation is printed two lines below the inside address. See also string variable __LetSA__. SJ Subject line. Prints the argument as subject prefixed with __SUBJECT:__ two lines below the inside address, except in letter type __SP__. Then the subject is printed in all-captial without any prefix. See also string variable __LetSJ__. __MC column-size [[column-separation]__ Begin multiple columns. Return to normal with __1C__. __MC__ will create as many columns as the current line length permits. ''Column-size'' is the width of each column, and ''column-separation'' is the space between two columns. Default separation is the column-size/15. See also __1C__. __ML mark [[text-indent [[1]]__ Marked list start. The ''mark'' argument will be printed before each list item. ''Text-indent'' sets the indent and overrides __Li__. A third argument will prohibit printing of a blank line before each item. __MT [[arg [[addressee]]__ Memorandum type. The ''arg'' is part of a filename in ''/usr/share/groff/1.17.2/tmac/mm/*.MT''. Memorandum type 0 thru 5 are supported, including ''''. ''Addressee'' just sets a variable, used in the AT '' arg__ 0 Normal memorandum, no type printed 1 Memorandum with ''MEMORANDUM FOR FILE'' printed 2 Memorandum with ''PROGRAMMER'S NOTES'' printed 3 Memorandum with ''ENGINEER'S NOTES'' printed 4 Released paper style 5 External letter style See also __COVER__/__COVEND__, a more flexible type of front page. __MOVE y-pos [[x-pos [[line-length]]__ Move to a position, pageoffset set to ''x-pos''. If ''line-length'' is not given, the difference between current and new pageoffset is used. Use __PGFORM__ without arguments to return to normal. __MULB cw1 space1 [[cw2 space2 [[cw3 ...]]__ Begin a special multi-column mode. Every columns width must be specified. Also the space between the columns must be specified. The last column does not need any space-definition. __MULB__ starts a diversion and __MULE__ ends the diversion and prints the columns. The unit for width and space is 'n', but __MULB__ accepts all normal unitspecifications like 'c' and 'i'. __MULB__ operates in a separate environment. __MULN__ Begin the next column. This is the only way to switch column. __MULE__ End the multi-column mode and print the columns. __nP [[type]__ Print numbered paragraph with header level two. See __.P__. __NCOL__ Force printing to the next column, don't use this together with the __MUL*__ macros, see __2C__. __NS [[arg [[1]]__ Prints different types of notations. The argument selects between the predefined type of notations. If the second argument is available, then the argument becomes the entire notation. If the argument doesn't exist in the predefined, it will be printed as __Copy (__''arg''__) to__. It is possible to add more standard notations, see the string variable __Letns__ and __Letnsdef__. __Arg Notation __''none '' Copy To '' __ND new-date__ New date. Override the current date. Date is not printed if ''new-date'' is an empty string. __OF [[arg]__ Odd-page footer, a line printed just above the normal footer. See __EF__ and __PF__. __OH [[arg]__ Odd-page header, a line printed just below the normal header. See __EH__ and __PH__. __OP__ Make sure that the following text is printed at the top of an odd-numbered page. Will not output an empty page if currently at the top of an odd page. __P [[type]__ Begin new paragraph. __P__ without argument will produce left justified text, even the first line of the paragraph. This is the same as setting ''type'' to 0. If the argument is 1, then the first line of text following __P__ will be indented by the number of spaces in number register __Pi__, normally 5. Instead of giving 1 as argument to __P__ it is possible to set the paragraph type in number register __Pt__. Using 0 and 1 will be the same as adding that value to __P__. A value of 2 will indent all paragraphs, except after headings, lists and displays. The space between two paragraphs is controlled by number register __Ps__, and is 1 by default (one blank line). __PGFORM [[linelength [[pagelength [[pageoffset [[1]]]]__ Sets linelength, pagelength and/or pageoffset. This macro can be used for special formatting, like letterheads and other. It is normally the first command in a file, though it's not necessary. __PGFORM__ can be used without arguments to reset everything after a __MOVE__. A line-break is done unless the fourth argument is given. This can be used to avoid the pagenumber on the first page while setting new width and length. (It seems as if this macro sometimes doesn't work too well. Use the command line arguments to change linelength, pagelength and pageoffset instead. Sorry.) __PGNH__ No header is printed on the next page. Used to get rid of the header in letters or other special texts. This macro must be used before any text to inhibit the pageheader on the first page. __PIC [[-L] [[-C] [[-R] [[-I n] filename [[width [[height]]__ __PIC__ includes a Postscript file in the document. The macro depends on __mmroff__ and __INITR__. __-L__, __-C__, __-R__ and __-I n__ adjusts the picture or indents it. The optionally ''width'' and ''height'' can also be given to resize the picture. __PE__ Picture end. Ends a picture for __pic__, see the manual for __pic__. __PF [[arg]__ Page footer. __PF__ sets the line to be printed at the bottom of each page. Normally empty. See __PH__ for the argument specification. __PH [[arg]__ Page header, a line printed at the top of each page. The argument should be specified as %__ is changed to the current page number. The default page-header is __ __PS__ Picture start (from pic). Begins a picture for __pic__, see the manual. __PX__ Page-header user-defined exit. __PX__ is called just after the printing of the page header in ''no-space'' mode. __R__ Roman. Return to roman font, see also __I__. __RB [[roman-text [[bold-text [[roman-text [[...]]]]__ Roman-bold. Even arguments is printed in roman, odd in boldface. See __I__. __RD [[prompt [[diversion [[string]]]__ Read from standard input to diversion and/or string. The text will be saved in a diversion named ''diversion''. Recall the text by writing the name of the diversion after a dot on an empty line. A string will also be defined if ''string'' is given. ''Diversion'' and/or ''prompt'' can be empty ('' __RF__ Reference end. Ends a reference definition and returns to normal processing. See __RS__. __RI [[roman-text [[italic-text [[roman-text [[...]]]]__ Even arguments are printed in roman, odd in italic. See __I__. __RL [[text-indent [[1]]__ Reference list start. Begins a list where each item is preceded with a automatically incremented number between square brackets. ''Text-indent'' changes the default indentation. __RP [[arg1 [[arg2]]__ Produce reference page. __RP__ can be used if a reference page is wanted somewhere in the document. It is not needed if __TC__ is used to produce a table of content. The reference page will then be printed automatically. The reference counter will not be reset if ''arg1'' is 1. ''Arg2'' tells __RP__ whether to eject a page or not.__ Arg2__ 0 The reference page will be printed on a separate page. This is the default. 1 Do not eject page after the list. 2 Do not eject page before the list. 3 Do not eject page before and after the list. The reference items will be separated by a blank line. Setting number register __Ls__ to 0 will suppress the line. The string __Rp__ contains the reference page title and is normally set to ''REFERENCES''. __RS [[string-name]__ __RS__ begins an automatically numbered reference definition. Put the string __*(Rf__ where the reference mark should be and write the reference between __RS__/__RF__ at next new line after the reference mark. The reference number is stored in number register __:R__. If ''string-name'' is given, a string with that name will be defined and contain the current reference mark. The string can be referenced as __*[[__''string-name''__]__ ''later in the text.'' __S [[size [[spacing]]__ Set point size and vertical spacing. If any argument is equal 'P', then the previous value is used. A 'C' means current value, and 'D' default value. If '+' or '-' is used before the value, then increment or decrement of the current value will be done. __SA [[arg]__ Set right-margin justification. Justification is normally turned on. No argumenent or __0__ turns off justification, a __1__ turns on justification. __SETR refname [[string]__ Remember the current header and page-number as ''refname''. Saves ''string'' if ''string'' is defined. ''string'' is retrieved with __.GETST__. See __INITR__. __SG [[arg [[1]]__ Signature line. Prints the authors name(s) after the formal closing. The argument will be appended to the reference data, printed at either the first or last author. The reference data is the location, department and initials specified with __.AU__. It will be printed at the first author if the second argument is given, otherwise at the last. No reference data will be printed if the author(s) is specifed thru __.WA__/__.WE__. See __INTERNALS__. __SK [[pages]__ Skip pages. If ''pages'' is __0__ or omitted, a skip to the next page will occur unless it is already at the top of a page. Otherwise it will skip ''pages'' pages. __SM string1 [[string2 [[string3]]__ Make a string smaller. If ''string2'' is given, ''string1'' will be smaller and ''string2'' normal, concatenated with ''string1''. With three argument, all is concatenated, but only ''string2'' is made smaller. __SP [[lines]__ Space vertically. ''lines'' can have any scalingfactor, like ''3i'' or ''8v''. Several __SP__ in a line will only produce the maximum number of lines, not the sum. __SP__ will also be ignored until the first textline in a page. Add a ____ before __SP__ to avoid this. __TAB__ reset tabs to every 5n. Normally used to reset any previous tabpositions. __TB [[title [[override [[flag [[refname]]]]__ Table title, arguments are the same as for __EC__. __TB__ uses the number register __Tb__ as counter. The string __Lt__ controls the title of the List of Tables, default is ''LIST OF TABLES''. The List of Tables will only be printed if number register __Lt__ is 1, default 1. The string __Litb__ contains the word ''TABLE'', wich is printed before the number. Special handling of the title will occur if __TB__ is used inside __DS__/__DE__, it will not be affected by the format of __DS__. __TC [[slevel [[spacing [[tlevel [[tab [[h1 [[h2 [[h3 [[h4 [[h5]]]]]]]]]__ Table of contents. This macro is normally used at the last line of the document. It generates a table of contents with headings up to the level controlled by number register __Cl__. Note that __Cl__ controls the saving of headings, it has nothing to do with __TC__. Headings with level less than or equal to ''slevel'' will get ''spacing'' number of lines before them. Headings with level less than or equal to ''tlevel'' will have their page numbers right justified with dots or spaces separating the text and the page number. Spaces is used if ''tab'' is greater than zero, otherwise dots. Other headings will have the page number directly at the end of the heading text (''ragged right''). The rest of the arguments will be printed, centered, before the table of contents. The user-defined macros __TX__ and __TY__ are used if __TC__ is called with at most four arguments. __TX__ is called before the printing of ''CONTENTS'', and __TY__ is called instead of printing ''CONTENTS''. Equivalent macros can be defined for list of figures, tables, equations and excibits by defining __TXxx__ or __TYxx__, where __xx__ is __Fg__, __TB__, __EC__ or __EX__. String __Ci__ can be set to control the indentations for each heading-level. It must be scaled, like __.ds Ci .25i .5i .75i 1i 1i__. The indentation is normally controlled by the maxlength of headings in each level. All texts can be redefined, new stringvariables ''Lifg'', ''Litb'', ''Liex'', ''Liec'' and ''Licon'' contain '' __TE__ Table end. See __TS__. __TH [[N]__ Table header. See __TS__. __TH__ ends the header of the table. This header will be printed again if a page-break occurs. Argument ''N'' isn't implemented yet. __TL [[charging-case number(s) [[filing-case number(s)]]__ Begin title of memorandum. All text up to the next __AU__ is included in the title. ''Charging-case number'' and ''filing-case'' are saved for use in the front page processing. __TM [[num1 [[num2 [[...]]]__ Technical memorandumnumbers used in __.MT__. Unlimited number of arguments may be given. __TP__ Top of page user-defined macro. This macro is called instead of the normal page header. It is possible to get complete control over the header. Note that header and footer is printed in a separate environment. Linelength is preserved though. __TS [[H]__ Table start. This is the start of a table specification to __tbl__. See separate manual for __tbl__. __TS__ ends with __TE__. Argument ''H'' tells __mm__ that the table has a header. See __TH__. __TX__ Userdefined table of contents exit. This macro is called just before __TC__ prints the word ''CONTENTS''. See __TC__. __TY__ Userdefined table of contents exit (no CONTENTS''. See __TC__. __VERBON [[flag [[pointsize [[font]]]__ Begin verbatim output using courier font. Usually for printing programs. All character has equal width. The pointsize can be changed with the second argument. By specifying the font-argument it is possible to use another font instead of courier. ''flag'' controls several special features. It contains the sum of all wanted features. Value Description 1 Disable the escape-character (). This is normally turned on during verbose output. 2 Add an empty line before the verbose text. 4 Add an empty line after the verbose text. 8 Print the verbose text with numbered lines. This adds four digitsized spaces in the beginning of each line. Finer control is available with the string-variable __Verbnm__. It contains all arguments to the __troff__-command __.nm__, normally '1'. 16 Indent the verbose text with five 'n':s. This is controlled by the number-variable __Verbin__ (in units). __VERBOFF__ End verbatim output. __VL text-indent [[mark-indent [[1]]__ Variable-item list has no fixed mark, it assumes that every __LI__ have a mark instead. ''Text-indent'' sets the indent to the text, and ''mark-indent'' the distance from the current indent to the mark. A third argument will prohibit printing of a blank line before each item. __VM [[top [[bottom]]__ Vertical margin. __WA [[writer-name [[title]]__ Begins specification of the writer and writer's address. Several names can be specified with empty __WA__/__WE__-pairs, but only one address. __WE__ Ends the address-specification after __.WA__. __WC [[format]__ Footnote and display width control. N Set default mode, __-WF__, __-FF__, __-WD__ and __FB__. WF Wide footnotes, wide also in two-column mode. -WF Normal footnote width, follow column mode. FF All footnotes gets the same width as the first footnote encountered. -FF Normal footnotes, width follows __WF__ and __-WF__. WD Wide displays, wide also in two-column mode. -WD Normal display width, follow column mode. FB Floating displays generates a line break when printed on the current page. -FB Floating displays does not generate line break. __Strings used in mm:__ __App__ A string containing the word __Apptxt__ The current appendix text. __EM__ Em dash string __H1txt__ Will be updated by __.H__ and __.HU__ to the current heading text. Also updated in table of contents __ __HF__ Fontlist for headings, normally __HP__ Pointsize list for headings. Normally __Index__ Contains ''INDEX''. __Indcmd__ Contains the index command, ''sort -tt''. __Lifg__ String containing ''Figure''. __Litb__ String containing ''TABLE''. __Liex__ String containing ''Exhibit''. __Liec__ String containing ''Equation''. __Licon__ String containing ''CONTENTS''. __Lf__ Contains __Lt__ Contains __Lx__ Contains __Le__ Contains __Letfc__ Contains .FC__. __Letapp__ Contains .AV__. __Letdate__ Contains .AV__. __LetCN__ Contains .LO CN__. __LetSA__ Contains .LO SA__. __LetAT__ Contains .LO AT__. __LetSJ__ Contains .LO SJ__. __LetRN__ Contains .LO RN__. __Letns__ is an array containing the different strings used in __.NS__. It is really a number of stringvariables prefixed with __Letns!__. If the argument doesn't exist, it will be included between __()__ with __Letns!copy__ as prefix and __Letns!to__ as suffix. Observe the space after __copy__ and before __to__. __Name Value __Letns!0 Copy to Letns!1 Copy (with att.) to Letns!2 Copy (without att.) to Letns!3 Att. Letns!4 Atts. Letns!5 Enc. Letns!6 Encs. Letns!7 Under separate cover Letns!8 Letter to Letns!9 Memorandum to Letns!10 Copy (with atts.) to Letns!11 Copy (without atts.) to Letns!12 Abstract Only to Letns!13 Complete Memorandum to Letns!14 CC Letns!copy Copy __ __Letnsdef__ Defines the standard-notation used when no argument is given to __.NS__. Default is __0__. __MO1 - MO12__ Strings containing ''January'' thru ''December''. __Qrf__ String containing __Rp__ Contains __Tcst__ Contains current status of table of contents and list of XXXX. Empty outside __.TC__. Useful in user-defined macros like __.TP__. __Value Meaning __co Table of contents fg List of figures tb List of tables ec List of equations ex List of exhibits ap Appendix __Tm__ Contains trade mark. __Verbnm__ Argument to __.nm__ in __.VERBON__, default: __1__. __Number variables used in mm:__ __Aph__ Print an appendix-page for every new appendix if this numbervariable is non-zero. No output will occur if __Aph__ is zero, but there will always be an appendix-entry in the 'List of contents'. __Cl__ Contents level [[0:7], contents saved if heading level __Cp__ Eject page between LIST OF XXXX if Cp == 0, default 0. __D__ Debugflag, values __De__ Eject after floating display is output [[0:1], default 0. __Dsp__ Controls the space output before and after static displays if defined. Otherwise is the value of Lsp used. __Df__ Floating keep output [[0:5], default 5. __Ds__ __Lsp__ space before and after display if == 1 [[0:1], default 1. __Ej__ Eject page, default 0. __Eq__ Equation lable adjust 0=left, 1=right. Default 0. __Fs__ Footnote spacing, default 1. __H1-H7__ Heading counters __H1dot__ Append a dot after the level one heading number if __H1h__ Copy of number register __H1__, but it is incremented just before the page break. Useful in user defined header macros. __Hb__ Heading break level [[0:7], default 2. __Hc__ Heading centering level, [[0:7]. Default 0. __Hi__ Heading temporary indent [[0:2], default 1. 0 - 1 - 2 - __Hps__ Numbervariable with the heading pre-space level. If the heading-level is less than or equal to __Hps__, then two lines will precede the section heading instead of one. Default is first level only. The real amount of lines is controlled by the variables __Hps1__ and __Hps2__. __Hps1__ This is the number of lines preceding __.H__ when the heading-level is greater than __Hps__. Value is in units, normally 0.5. __Hps2__ This is the number of lines preceding __.H__ when the heading-level is less than or equal to __Hps__. Value is in units, normally 1. __Hs__ Heading space level [[0:7], default 2. __Hss__ This is the number of lines that follows __.H__ when the heading-level is less than or equal to __Hs__. Value is in units, normally 1. __Ht__ Heading numbering type, default 0. 0 - 1 - __Hu__ Unnumbered heading level, default 2. __Hy__ Hyphenation in body, default 1. 0 - 1 - __Iso__ Set this variable to 1 on the command line to get ISO-formatted date string. (__-rIso=1__) Useless inside a document. __Letwam__ Max lines in return-address, used in __.WA__/__.WE__. Default 14. __Lf, Lt, Lx, Le__ Enables (1) or disables (0) the printing of List of figures, List of tables, List of exhibits and List of equations. Default: Lf=1, Lt=1, Lx=1, Le=0. __Li__ List indent, used by .AL, default 6. __Limsp__ Flag for space between prefix and mark in automatic lists (.AL). 0 == no space 1 == space __Ls__ List space, if current listlevel __Lsp__ The size of an empty line. Normally 0.5v, but it is 1v if __n__ is set (__.nroff__). __N__ Numbering style [[0:5], default 0. 0 == (default) normal header for all pages. 1 == header replaces footer on first page, header is empty. 2 == page header is removed on the first page. 3 == 4 == page header is removed on the first page. 5 == __Np__ Numbered paragraphs, default 0. 0 == not numbered 1 == numbered in first level headings. __Of__ Format of figure,table,exhibit,equation titles, default 0. 0 = 1 = __P__ Current page-number, normally the same as % unless __Pi__ paragraph indent, default 5. __Pgps__ Controls whether header and footer pointsize should follow the current setting or just change when the header and footer is defined. Value Description 0 Pointsize will only change to the current setting when __.PH__, __.PF__, __.OH__, __.EH__, __.OF__ or __.OE__ is executed. 1 Pointsize will change after every __.S__. This is the default. __Ps__ paragraph spacing, default 1. __Pt__ Paragraph type, default 0. 0 == left-justified 1 == indented .P 2 == indented .P except after .H, .DE or .LE. __Sectf__ Flag controlling __Sectp__ Flag controlling __Si__ Display indent, default 5. __Verbin__ Indent for __.VERBON__, default 5n. __.mgm__ Always 1. !!INTERNALS The letter macros is using different submacros depending on the letter type. The name of the submacro has the letter type as suffix. It is therefore possible to define other letter types, either in the national macro-file, or as local additions. __.LT__ will set the number variables __Pt__ and __Pi__ to 0 and 5. The following strings and macros must be defined for a new letter type: __let@init___''type'' This macro is called directly by __.LT__. It is supposed to initialize variables and other stuff. __let@head___''type'' This macro prints the letter head, and is called instead of the normal page header. It is supposed to remove the alias __let@header__, otherwise it will be called for all pages. __let@sg___''type name title n flag [[arg1 [[arg2 [[...]]]'' __.SG__ is calling this macro only for letters, memorandums has its own processing. ''name'' and ''title'' is specified thru __.WA__/__.WB__. ''n'' is the counter, 1-max, and ''flag'' is true for the last name. Any other argument to __.SG__ is appended. __let@fc___''type closing'' This macro is called by __.FC__, and has the formal closing as argument. __.LO__ is implemented as a general option-macro. __.LO__ demands that a string named __Let__''type'' is defined, where ''type'' is the letter type. __.LO__ will then assign the argument to the string variable __let*lo-__''type''. !!AUTHOR J !!FILES __/usr/share/groff/1.17.2/tmac/tmac.m__ __/usr/share/groff/1.17.2/tmac/mm/*.cov__ __/usr/share/groff/1.17.2/tmac/mm/*.MT__ __/usr/share/groff/1.17.2/tmac/mm/locale__ !!SEE ALSO groff(1), troff(1), tbl(1), pic(1), eqn(1)__ mm__(7) mmse(7) ----
4 pages link to
groff_mm(7)
:
Man7g
roff(7)
groff_tmac(5)
groff_mmse(7)
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.