MM(@MAN7EXT@) BSD Reference Manual MM(@MAN7EXT@) NNAAMMEE mm - groff mm macros SSYYNNOOPPSSIISS ggrrooffff --mm@@TTMMAACC__MM@@ [ _o_p_t_i_o_n_s... ] [ _f_i_l_e_s... ] DDEESSCCRRIIPPTTIIOONN The groff mm macros are intended to be compatible with the DWB mm macros with the following limitations: ++oo no letter macros implemented (yet). ++oo no Bell Labs localisms implemented. ++oo the macros OK and PM is not implemented. ++oo groff mm does not support cut marks mm@@TTMMAACC__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 mm@@TTMMAACC__MM@@ssee as an example. Groff mm has several extensions: AAPPPP nnaammee tteexxtt Begin an appendix with name _n_a_m_e. Automatic naming occurs if _n_a_m_e is "". The appendixes starts with AA if auto is used. An new page is ejected, and a header is also produced if the number variable AApphh is non-zero. This is the default. The appendix always appear in the 'List of contents' with cor- rect pagenumber. The name _A_P_P_E_N_D_I_X can be changed by setting the string AApppp to the desired text. AAPPPPSSKK nnaammee ppaaggeess tteexxtt Same as ..AAPPPP, but the pagenr is incremented with _p_a_g_e_s. This is used when diagrams or other non- formatted documents are included as appendixes. BB11 Begin box (as the ms macro) Draws a box around the text. BB22 End box. Finish the box. BBVVLL Start of broken variable-item list. As VL but text begins always at the next line CCOOVVEERR [[aarrgg]] CCOOVVEERR begins a coversheet definition. It is impor- tant that ..CCOOVVEERR appears before any normal text. Groff Version @VERSION@ @MDATE@ 1 MM(@MAN7EXT@) BSD Reference Manual MM(@MAN7EXT@) ..CCOOVVEERR uses _a_r_g to build the filename @TMAC_MDIR@/_a_r_g.cov. Therefore it is possible to create unlimited types of coversheets. _m_s_._c_o_v is supposed to look like the mmss coversheet. ..CCOOVVEERR requires a ..CCOOVVEENNDD at the end of the coverdefini- tion. Always use this order of the covermacros: .COVER .TL .AF .AU .AT .AS .AE .COVEND However, only ..TTLL and ..AAUU are required. CCOOVVEENNDD This finish the cover description and prints the cover-page. It is defined in the cover file. GGEETTHHNN rreeffnnaammee [[vvaarrnnaammee]] Includes the headernumber where the corresponding SSEETTRR _r_e_f_n_a_m_e was placed. Will be X.X.X. in pass 1. See IINNIITTRR. If varname is used, GGEETTHHNN sets the stringvariable _v_a_r_n_a_m_e to the headernumber. GGEETTPPNN rreeffnnaammee [[vvaarrnnaammee]] Includes the pagenumber where the corresponding SSEETTRR _r_e_f_n_a_m_e was placed. Will be 9999 in pass 1. See IINNIITTRR. If varname is used, GGEETTPPNN sets the stringvariable _v_a_r_n_a_m_e to the pagenumber. GGEETTRR rreeffnnaammee Combines GGEETTHHNN and GGEETTPPNN with the text 'chapter' and ', page'. The string _Q_r_f contains the text for reference: .ds Qrf See chapter \\*[Qrfh], page \\*[Qrfp]. _Q_r_f may be changed to support other languages. Strings _Q_r_f_h and _Q_r_f_p are set by GGEETTRR and contains the page and headernumber. GGEETTSSTT rreeffnnaammee [[vvaarrnnaammee]] Includes the string saved with the second argument to ..SSEETTRR. Will be dummystring in pass 1. If var- name is used, GGEETTSSTT sets the stringvariable _v_a_r_n_a_m_e to the saved string. See IINNIITTRR. IINNIITTRR ffiilleennaammee Initialize the refencemacros. References will be written to _f_i_l_e_n_a_m_e_._t_m_p and _f_i_l_e_n_a_m_e_._q_r_f. Requires two passes with groff. The first looks for refer- ences and the second includes them. IINNIITTRR can be Groff Version @VERSION@ @MDATE@ 2 MM(@MAN7EXT@) BSD Reference Manual MM(@MAN7EXT@) used several times, but it is only the first occurence of IINNIITTRR that is active. See also SSEETTRR, GGEETTPPNN and GGEETTHHNN. MMCC ccoolluummnn--ssiizzee [[ccoolluummnn--sseeppaarraattiioonn]] Begin multiple columns. Return to normal with 1C. MMTT [[aarrgg [[aaddddrreesssseeee]]]] Memorandom type. The _a_r_g is part of a filename in _@_T_M_A_C___M_D_I_R_@_/_*_._M_T. Memorandum type 0 thru 5 are supported, including _"_s_t_r_i_n_g_". _A_d_d_r_e_s_s_e just sets a variable, used in the AT&T macros. MMOOVVEE yy--ppooss [[xx--ppooss [[lliinnee--lleennggtthh]]]] Move to a position, pageoffset set to _x_-_p_o_s. If _l_i_n_e_-_l_e_n_g_t_h is not given, the difference between current and new pageoffset is used. Use PPGGFFOORRMM without arguments to return to normal. MMUULLBB ccww11 ssppaaccee11 [[ccww22 ssppaaccee22 [[ccww33 ......]]]] 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 diver- sion 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. MMUULLNN Begin the next column. This is the only way to switch column. MMUULLEE End the multi-column mode and print the columns. PPGGFFOORRMM [[lliinneelleennggtthh [[ppaaggeelleennggtthh [[ppaaggeeooffffsseett]]]]]] Sets linelength, pagelength and/or pageoffset. This macro can be used for special formatting, like letterheads and other. PPGGFFOORRMM can be used without arguments to reset everything after a MMOOVVEE. PPGGNNHH No header is printed on the next page. Used to get rid off the header in letters or other special texts This macro must be used before any text to inhibit the pageheader on the first page. SSEETTRR rreeffnnaammee [[ssttrriinngg]] Remember the current header and page-number as ref- name. Saves _s_t_r_i_n_g if _s_t_r_i_n_g is defined. _s_t_r_i_n_g is retrieved with ..GGEETTSSTT. See IINNIITTRR. TTAABB reset tabs to every 5n. Normally used to reset any Groff Version @VERSION@ @MDATE@ 3 MM(@MAN7EXT@) BSD Reference Manual MM(@MAN7EXT@) previous tabpositions. VVEERRBBOONN [[ffllaagg [[ppooiinnttssiizzee [[ffoonntt]]]]]] Begin verbatim output using courier font. Usually for printing programs. All character has equal width. The pointsize can be changed with the sec- ond argument. By specifying the font-argument it is possible to use another font instead of courier. _f_l_a_g control several special features. It contains the sum of all wanted features. ValueDescription 1 Enable the escape-character (\). This is nor- mally turned off during verbose output. 2 Add en empty line before the verbose text. 4 Add en empty line after the verbose text. 8 Print the verbose text with numbered lines. This adds four digitsized spaces in the begin- ning of each line. Finer control is available with the string-variable VVeerrbbnnmm. It contains all arguments to the ttrrooffff-command ..nnmm, nor- mally '1'. 16 Indent the verbose text with five 'n':s. This is controlled by the number-variable VVeerrbbiinn (in units). VVEERRBBOOFFFF End verbatim output. New variables in m@TMAC_M@: AApppp A string containing the word "APPENDIX". AApphh Print an appendix-page for every new appendix if this numbervariable is non-zero. No output will occur if AApphh is zero, but there will always be an appendix-entry in the 'List of contents'. HHppss Numbervariable with the heading pre-space level. If the heading-level is less than or equal to HHppss, 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 HHppss11 and HHppss22. HHppss11 This is the number of lines preceding ..HH when the heading-level is greater than HHppss. Value is in units, normally 0.5v. HHppss22 This is the number of lines preceding ..HH when the heading-level is less than or equal to HHppss. Value Groff Version @VERSION@ @MDATE@ 4 MM(@MAN7EXT@) BSD Reference Manual MM(@MAN7EXT@) is in units, normally 1v. LLiiffgg String containing _F_i_g_u_r_e. LLiittbb String containing _T_A_B_L_E. LLiieexx String containing _E_x_h_i_b_i_t. LLiieecc String containing _E_q_u_a_t_i_o_n. LLiiccoonn String containing _C_O_N_T_E_N_T_S. LLsspp The size of an empty line. Normally 0.5v, but it is 1v if nn is set (..nnrrooffff). MMOO11 -- MMOO1122 Strings contain- ing _J_a_n_u_a_r_y _t_o _D_e_c_e_m_b_e_r_. QQrrff String containing "See chapter \\*[Qrfh], page \\n[Qrfp].". SSeeccttff Flag controlling "section-figures". A non-zero value enables this. Se also register N. SSeeccttpp Flag controlling "section-page-numbers". A non-zero value enables this. Se also register N. ..mmggmm Always 1. A file called llooccaallee or _l_a_n_g__llooccaallee is read after the ini- tiation of the global variables. It is therefore possible to localize the macros with companyname and so on. The following standard macros are implemented: 11CC Begin one column processing 22CC Begin two column processing AAEE Abstract end AAFF [[nnaammee ooff ffiirrmm]] Authors firm AALL [[ttyyppee [[tteexxtt--iinnddeenntt [[11]]]]]]]] Start autoincrement list Groff Version @VERSION@ @MDATE@ 5 MM(@MAN7EXT@) BSD Reference Manual MM(@MAN7EXT@) AASS [[aarrgg [[iinnddeenntt]]]] Abstract start. Indent is specified in 'ens', but scaling is allowed. AASSTT [[ttiittllee]] Abstract title. Default is 'ABSTRACT'. AATT ttiittllee11 [[ttiittllee22 ......]] Authors title AAUU nnaammee [[iinniittiiaallss [[lloocc [[ddeepptt [[eexxtt [[rroooomm [[aarrgg [[aarrgg [[aarrgg]]]]]]]]]]]]]]]] Author information BB [[bboolldd--tteexxtt [[pprreevv--ffoonntt--tteexx [[......]]]]]] Begin boldface No limit on the number of arguments. BBEE End bottom block BBII [[bboolldd--tteexxtt [[iittaalliicc--tteexxtt [[bboolldd--tteexxtt [[......]]]]]] Bold-italic. No limit on the number of arguments. BBLL [[tteexxtt--iinnddeenntt [[11]]]] Start bullet list BBRR [[bboolldd--tteexxtt [[rroommaann--tteexxtt [[bboolldd--tteexxtt [[......]]]]]] Bold-roman. No limit on the number of arguments. BBSS Bottom block start DDEE Display end DDFF [[ffoorrmmaatt [[ffiillll [[rriinnddeenntt]]]]]] Begin floating display (no nesting allowed) DDLL [[tteexxtt--iinnddeenntt [[11]]]] Dash list start DDSS [[ffoorrmmaatt [[ffiillll [[rriinnddeenntt]]]]]] Static display start. Can now have unlimited nest- ing. Also right adjusted text and block may be used (R or RB as _f_o_r_m_a_t). EECC [[ttiittllee [[oovveerrrriiddee [[ffllaagg [[rreeffnnaammee]]]]]]]] Equation title. If _r_e_f_n_a_m_e is used, then the equa- tionnumber is saved with ..SSEETTRR, and can be retrieved with ..GGEETTSSTT _r_e_f_n_a_m_e. EEFF [[aarrgg]] Even-page footer. Groff Version @VERSION@ @MDATE@ 6 MM(@MAN7EXT@) BSD Reference Manual MM(@MAN7EXT@) EEHH [[aarrgg]] Even-page header. EENN Equation end. EEQQ [[llaabbeell]] Equation start. EEXX [[ttiittllee [[oovveerrrriiddee [[ffllaagg [[rreeffnnaammee]]]]]]]] Exhibit title. If _r_e_f_n_a_m_e is used, then the exhibitnumber is saved with ..SSEETTRR, and can be retrieved with ..GGEETTSSTT _r_e_f_n_a_m_e. FFDD [[aarrgg [[11]]]] Footnote default format. FFEE Footnote end. FFGG [[ttiittllee [[oovveerrrriiddee [[ffllaagg [[rreeffnnaammee]]]]]]]] Figure title. If _r_e_f_n_a_m_e is used, then the fig- urenumber is saved with ..SSEETTRR, and can be retrieved with ..GGEETTSSTT _r_e_f_n_a_m_e. FFSS Footnote start. Footnotes in displays is now pos- sible. HH lleevveell [[hheeaaddiinngg--tteexxtt [[hheeaaddiinngg--ssuuffffiixx]]]] Numbered heading. HHCC [[hhyyppeennaattiioonn--cchhaarraacctteerr]] Set hypenation character. HHMM [[aarrgg11 [[aarrgg22 [[...... [[aarrgg77]]]]]]]] Heading mark style. HHUU hheeaaddiinngg--tteexxtt Unnumbered header. HHXX ddlleevveell rrlleevveell hheeaaddiinngg--tteexxtt Userdefined heading exit. Called just before printing the header. HHYY ddlleevveell rrlleevveell hheeaaddiinngg--tteexxtt Userdefined heading exit. Called just before printing the header. HHZZ ddlleevveell rrlleevveell hheeaaddiinngg--tteexxtt Userdefined heading exit. Called just after print- ing the header. Groff Version @VERSION@ @MDATE@ 7 MM(@MAN7EXT@) BSD Reference Manual MM(@MAN7EXT@) II [[iittaalliicc--tteexxtt [[pprreevv--ffoonntt--tteexxtt [[iittaalliicc--tteexxtt [[......]]]]]] Italic. IIBB [[iittaalliicc--tteexxtt [[bboolldd--tteexxtt [[iittaalliicc--tteexxtt [[......]]]]]] Italic-bold IIRR [[iittaalliicc--tteexxtt [[rroommaann--tteexxtt [[iittaalliicc--tteexxtt [[......]]]]]] Italic-roman LLBB tteexxtt--iinnddeenntt mmaarrkk--iinnddeenntt ppaadd ttyyppee [[mmaarrkk [[LLII--ssppaaccee [[LLBB-- ssppaaccee]]]]]] List begin macro. LLCC [[lliisstt lleevveell]] List-status clear LLEE List end. LLII [[mmaarrkk [[11]]]] List item MMLL mmaarrkk [[tteexxtt--iinnddeenntt]] Marked list start MMTT [[aarrgg [[aaddddrreesssseeee]]]] Memorandom type. See above note about MT. NNDD nneeww--ddaattee New date. OOFF [[aarrgg]] Odd-page footer OOHH [[aarrgg]] Odd-page header OOPP Skip to odd page. PP [[ttyyppee]] Begin new paragraph. PPEE Picture end. PPFF [[aarrgg]] Page footer PPHH [[aarrgg]] Page header PPSS Picture start (from pic) Groff Version @VERSION@ @MDATE@ 8 MM(@MAN7EXT@) BSD Reference Manual MM(@MAN7EXT@) PPXX Page-header user-defined exit. RR Roman. RRBB [[rroommaann--tteexxtt [[bboolldd--tteexxtt [[rroommaann--tteexxtt [[......]]]]]] Roman-bold. RRDD [[pprroommpptt [[ddiivveerrssiioonn [[ssttrriinngg]]]]]] Read to diversion and/or string. RRFF Reference end RRII [[rroommaann--tteexxtt [[iittaalliicc--tteexxtt [[rroommaann--tteexxtt [[......]]]]]] Roman-italic. RRLL [[tteexxtt--iinnddeenntt [[11]]]] Reference list start RRPP [[aarrgg [[aarrgg]]]] Produce reference page. RRSS [[ssttrriinngg--nnaammee]] Reference start. SS [[ssiizzee [[ssppaacciinngg]]]] Set point size and vertical spacing. If any argu- ment 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 incre- ment or decrement of the current value will be done. SSAA [[aarrgg]] Set adjustment. SSKK [[ppaaggeess]] Skip pages. SSMM ssttrriinngg11 [[ssttrriinngg22 [[ssttrriinngg33]]]] Make a string smaller. SSPP [[lliinneess]] Space vertically. _l_i_n_e_s can have any scalingfactor, like _3_i or _8_v. TTBB [[ttiittllee [[oovveerrrriiddee [[ffllaagg [[rreeffnnaammee]]]]]]]] Table title. If _r_e_f_n_a_m_e is used, then the tablenumber is saved with ..SSEETTRR, and can be retrieved with ..GGEETTSSTT _r_e_f_n_a_m_e. Groff Version @VERSION@ @MDATE@ 9 MM(@MAN7EXT@) BSD Reference Manual MM(@MAN7EXT@) TTCC [[sslleevveell [[ssppaacciinngg [[ttlleevveell [[ttaabb [[hh11 [[hh22 [[hh33 [[hh44 [[hh55]]]]]]]]]]]]]]]]]] Table of contents. All texts can be redefined, new stringvariables _L_i_f_g, _L_i_t_b, _L_i_e_x, _L_i_e_c and _L_i_c_o_n contains "Figure", "TABLE", "Exhibit", "Equation" and "CONTENTS". These can be redefined to other languages. TTEE Table end. TTHH [[NN]] Table header. TTLL Begin title of memorandom. TTMM [[nnuumm11 [[nnuumm22 [[......]]]]]] Technical memorandumnumbers used in ..MMTT. Unlimited number of arguments may be given. TTPP Top of page user-defined macro. TTSS [[HH]] Table start TTXX Userdefined table of contents exit. TTYY Userdefined tbale of contents exit (no "CONTENTS"). VVLL [[tteexxtt--iinnddeenntt [[mmaarrkk--iinnddeenntt [[11]]]]]] Variable-item list start VVMM [[ttoopp [[bboottttoomm]]]] Vertical margin. WWCC [[ffoorrmmaatt]] Footnote and display width control. Strings used in m@TMAC_M@: EEMM Em dash string HHFF Fontlist for headings, normally "2 2 2 2 2 2 2". Nonnumeric fontnames may also be used. HHPP Pointsize list for headings. Normally "0 0 0 0 0 0 0" which is the same as "10 10 10 10 10 10 10". LLff Contains "LIST OF FIGURES". LLtt Contains "LIST OF TABLES". Groff Version @VERSION@ @MDATE@ 10 MM(@MAN7EXT@) BSD Reference Manual MM(@MAN7EXT@) LLxx Contains "LIST OF EXHIBITS". LLee Contains "LIST OF EQUATIONS". RRpp Contains "REFERENCES". TTmm Contains \(tm, trade mark. Number variables used in m@TMAC_M@: CCll==22 Contents level [0:7], contents saved if heading level <= Cl CCpp==00 Eject page between LIST OF XXXX if Cp == 0 DD==00 Debugflag, values >0 produces varying degree of debug. A value of 1 gives information about the progress of formatting. DDee==00 Eject after floating display is output [0:1] DDff==55 Floating keep output [0:5] DDss==11 space before and after display if == 1 [0:1] EEjj==00 Eject page EEqq==00 Eqation lable adjust 0=left, 1=right FFss==11 Footnote spacing HH11--HH77 Heading counters HHbb==22 Heading break level [0:7] HHcc==00 Heading centering level, [0:7] HHii==11 Heading temporary indent [0:2] 0 -> 0 indent, left margin 1 -> indent to right , like .P 1 2 -> indent to line up with text part of preceding heading HHss==22 Heading space level [0:7] HHtt==00 Heading numbering type 0 -> multiple (1.1.1 ...) 1 -> single HHuu==22 Unnumbered heading level HHyy==11 Hyphenation in body 0 -> no hyphenation Groff Version @VERSION@ @MDATE@ 11 MM(@MAN7EXT@) BSD Reference Manual MM(@MAN7EXT@) 1 -> hyphenation 14 on LLff==11,, LLtt==11,, LLxx==11,, LLee==00 Enables (1) or disables (0) the printing of List of figures, List of tables, List of exhibits and List of equations. LLii==66 List indent, used by .AL LLss==9999 List space, if current listlevel > Ls then no spac- ing will occur around lists. NN==00 Numbering style [0:5] 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 == "section-page" numbering enabled. 4 == page header is removed on the first page. 5 == "section-page" and "section-figure" numbering enabled. Se also the number-register Sectf and Sectp. NNpp==00 Numbered paragraphs. 0 == not numbered 1 == numbered in first level headings. OOff==00 Format of figure,table,exhibit,equation titles. 0= ". " 1= " - " PP Current page-number, normally the same as % unless "section-page" numbering is enabled. PPii==55 paragraph indent PPss==11 paragraph spacing PPtt==00 Paragraph type. 0 == left-justified 1 == indented .P 2 == indented .P except after .H, .DE or .LE. SSii==55 Display indent. AAUUTTHHOORR Jvrgen Hdgg, Lund Institute of Technology, Sweden <jh@efd.lth.se> Groff Version @VERSION@ @MDATE@ 12 MM(@MAN7EXT@) BSD Reference Manual MM(@MAN7EXT@) FFIILLEESS @@MMAACCRROODDIIRR@@//ttmmaacc..@@TTMMAACC__MM@@ @@TTMMAACC__MMDDIIRR@@//**..ccoovv @@TTMMAACC__MMDDIIRR@@//**..MMTT @@TTMMAACC__MMDDIIRR@@//llooccaallee SSEEEE AALLSSOO ggrrooffff(@MAN1EXT@), @@gg@@ttrrooffff(@MAN1EXT@), @@gg@@ttbbll(@MAN1EXT@), @@gg@@ppiicc(@MAN1EXT@), @@gg@@eeqqnn(@MAN1EXT@) mmmm(@MAN7EXT@) Groff Version @VERSION@ @MDATE@ 13