From b7f32fc2e026e3b24bbf03664912ff60f52f129f Mon Sep 17 00:00:00 2001 From: etheisen Date: Sun, 15 Sep 1996 01:48:03 +0000 Subject: [PATCH] Updated mm (mgm) macros --- gnu/usr.bin/groff/mm/ChangeLog | 19 +++ gnu/usr.bin/groff/mm/Makefile.sim | 66 ++++++++ gnu/usr.bin/groff/mm/Makefile.sub | 14 +- gnu/usr.bin/groff/mm/README | 3 +- gnu/usr.bin/groff/mm/groff_mm.man | 60 +++---- gnu/usr.bin/groff/mm/groff_mmse.man | 14 +- gnu/usr.bin/groff/mm/mm/0.MT | 16 +- gnu/usr.bin/groff/mm/mm/4.MT | 2 +- gnu/usr.bin/groff/mm/mm/5.MT | 4 +- gnu/usr.bin/groff/mm/mm/ms.cov | 4 +- gnu/usr.bin/groff/mm/mm/se_ms.cov | 2 +- gnu/usr.bin/groff/mm/tmac.m | 235 +++++++++++++++++++--------- gnu/usr.bin/groff/mm/tmac.mse | 4 +- 13 files changed, 307 insertions(+), 136 deletions(-) create mode 100644 gnu/usr.bin/groff/mm/Makefile.sim diff --git a/gnu/usr.bin/groff/mm/ChangeLog b/gnu/usr.bin/groff/mm/ChangeLog index 5320294ae44..481d1fd9001 100644 --- a/gnu/usr.bin/groff/mm/ChangeLog +++ b/gnu/usr.bin/groff/mm/ChangeLog @@ -1,3 +1,22 @@ +Mon Apr 24 07:37:52 1995 Jörgen Hägg (jh at axis.se) + + * version 1.28 + * Added AVL (AV without date) + * Fixed nroff scaling for W and L. + * Added support for register E and roman/bold + for all Subject/Date/From strings. + * Added support for register C (1-4), (for DRAFTs and other types) + * Will protest if not used with groff. + * Change of the internal number registers @ps and @vs, they + are now in units, and is set in the new macros .@ps and .@vs. + @ps and @vs is now corrected to the real point and vertical size. + * Macro EQ has now correct pointsize. + * Figures should now get the right page number in the index. + * User-defined macros can now be defined for list of + figures, tables, equations and exhibits (T{X,Y}{FG,TB,EC,EX}. + * Space may be omitted between prefix and mark in automatic lists (.AL) + See .LI + Tue Jan 10 07:51:37 1995 Jörgen Hägg (jh at axis.se) * version 1.27 diff --git a/gnu/usr.bin/groff/mm/Makefile.sim b/gnu/usr.bin/groff/mm/Makefile.sim new file mode 100644 index 00000000000..6941294aba2 --- /dev/null +++ b/gnu/usr.bin/groff/mm/Makefile.sim @@ -0,0 +1,66 @@ +# +# $Id: Makefile.sim,v 1.1.1.1 1996/09/15 01:48:06 etheisen Exp $ +# +# To install mgm separately as tmac.gm: +# make -f Makefile.sub tmacdir=/usr/local/lib/groff/tmac srcdir=. \ +# INSTALL_DATA='install -m 644' tmac_m=gm install +# +# or as tmac.m: +# +# tmacdir is the destination for your groff/tmac-directory, srcdir is +# this directory and INSTALL_DATA is the command to install a file with. +# If you dont have 'install': use 'cp'. + + +# change this to whatever you like +tmacdir=/usr/local/lib/groff/tmac +#tmac_m = gm +tmac_m = m +indexdir = xx +install = install -m 644 + +# Do not change anything below this line +srcdir = . +version = 1.28 +mdate = 1996-05-15 + +.SUFFIXES: .n .man + +all: + + +install: groff_mm.n groff_mmse.n + $(MAKE) -f Makefile.sub tmacdir=$(tmacdir) srcdir=$(srcdir) \ + INSTALL_DATA='$(install)' tmac_m=$(tmac_m) install + + uninstall: groff_mm.n groff_mmse.n + $(MAKE) -f Makefile.sub tmacdir=$(tmacdir) srcdir=$(srcdir) \ + INSTALL_DATA='$(install)' tmac_m=$(tmac_m) uninstall_sub + + +.man.n: + @echo Making $@ from $< + @-rm -f $@ + @sed -e "s;@HYPHENFILE@;$(hyphenfile);g" \ + -e "s;@FONTDIR@;$(fontdir);g" \ + -e "s;@FONTPATH@;$(fontpath);g" \ + -e "s;@MACRODIR@;$(tmacdir);g" \ + -e "s;@MACROPATH@;$(tmacpath);g" \ + -e "s;@DEVICE@;$(DEVICE);g" \ + -e "s;@DEFAULT_INDEX@;$(indexdir)/$(indexname);g" \ + -e "s;@DEFAULT_INDEX_NAME@;$(indexname);g" \ + -e "s;@INDEX_SUFFIX@;$(indexext);g" \ + -e "s;@COMMON_WORDS_FILE@;$(common_words_file);g" \ + -e "s;@MAN1EXT@;$(man1ext);g" \ + -e "s;@MAN5EXT@;$(man5ext);g" \ + -e "s;@MAN7EXT@;$(man7ext);g" \ + -e "s;@TMAC_S@;$(tmac_s);g" \ + -e "s;@TMAC_M@;$(tmac_m);g" \ + -e "s;@TMAC_MDIR@;$(tmacdir)/mm;g" \ + -e "s;@BROKEN_SPOOLER_FLAGS@;$(BROKEN_SPOOLER_FLAGS);g" \ + -e "s;@VERSION@;$(version);g" \ + -e "s;@MDATE@;$(mdate);g" \ + -e "s;@g@;$(g);g" \ + -e "s;@G@;`echo $(g) | tr [a-z] [A-Z]`;g" \ + $< >$@ + diff --git a/gnu/usr.bin/groff/mm/Makefile.sub b/gnu/usr.bin/groff/mm/Makefile.sub index 097973705da..f3b555092d6 100644 --- a/gnu/usr.bin/groff/mm/Makefile.sub +++ b/gnu/usr.bin/groff/mm/Makefile.sub @@ -1,5 +1,5 @@ # -# $Id: Makefile.sub,v 1.1.1.1 1996/09/14 19:01:54 etheisen Exp $ +# $Id: Makefile.sub,v 1.1.1.2 1996/09/15 01:48:06 etheisen Exp $ # MAN7=groff_mm.n groff_mmse.n FILES=0.MT 5.MT 4.MT ms.cov se_ms.cov @@ -20,10 +20,10 @@ install_mm: install_m install_m: -test -d $(tmacdir) || mkdir $(tmacdir) - -rm -f $(tmacdir)/tmac.$(tmac_m_prefix)m - $(INSTALL_DATA) $(srcdir)/tmac.m $(tmacdir)/tmac.$(tmac_m_prefix)m - @sed -e "s;^.mso tmac.m;.mso $(tmac_m_prefix)m;g" $(srcdir)/tmac.mse \ - > $(tmacdir)/tmac.$(tmac_m_prefix)mse + -rm -f $(tmacdir)/tmac.$(tmac_m) + $(INSTALL_DATA) $(srcdir)/tmac.m $(tmacdir)/tmac.$(tmac_m) + @sed -e "s;^.mso tmac.m;.mso $(tmac_m);g" $(srcdir)/tmac.mse \ + > $(tmacdir)/tmac.$(tmac_m)se @@ -32,6 +32,6 @@ uninstall_sub: -for f in $(LOCALE); do \ test -s $(tmacdir)/mm/$$f || rm -f $(tmacdir)/mm/$$f; \ done - -rm -f $(tmacdir)/tmac.$(tmac_m_prefix)m - -rm -f $(tmacdir)/tmac.$(tmac_m_prefix)mse + -rm -f $(tmacdir)/tmac.$(tmac_m) + -rm -f $(tmacdir)/tmac.$(tmac_m)se -rmdir $(tmacdir)/mm diff --git a/gnu/usr.bin/groff/mm/README b/gnu/usr.bin/groff/mm/README index f08f68d4820..a720f07054f 100644 --- a/gnu/usr.bin/groff/mm/README +++ b/gnu/usr.bin/groff/mm/README @@ -13,7 +13,8 @@ of tmac.m) and the version of groff. Any new ideas or improvements are welcome. Newest version is available with anonymous FTP -at ftp.efd.lth.se [130.235.48.11], as pub/groff/mm.Z +at ftp://ftp.efd.lth.se/pub/groff/mm.gz +or ftp://ftp.axis.se/pub/groff/mm.gz You can install mgm as a separate package without the configure in groff with the following command: diff --git a/gnu/usr.bin/groff/mm/groff_mm.man b/gnu/usr.bin/groff/mm/groff_mm.man index 6a0f220aa78..676330b14b8 100644 --- a/gnu/usr.bin/groff/mm/groff_mm.man +++ b/gnu/usr.bin/groff/mm/groff_mm.man @@ -1,22 +1,5 @@ -.ig \"-*- nroff -*- -Copyright (C) 1991-1995 Free Software Foundation, Inc. - -Permission is granted to make and distribute verbatim copies of -this manual provided the copyright notice and this permission notice -are preserved on all copies. - -Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided that the -entire resulting derived work is distributed under the terms of a -permission notice identical to this one. - -Permission is granted to copy and distribute translations of this -manual into another language, under the above conditions for modified -versions, except that this permission notice may be included in -translations approved by the Free Software Foundation instead of in -the original English. -.. -.\" $Id: groff_mm.man,v 1.1.1.1 1996/09/14 19:01:55 etheisen Exp $ +.\" +.\" $Id: groff_mm.man,v 1.1.1.2 1996/09/15 01:48:07 etheisen Exp $ .\" .de T2 .ne 2v @@ -35,7 +18,7 @@ the original English. groff_mm \- groff mm macros .SH SYNOPSIS .B groff -.B \-m@TMAC_M_PREFIX@m +.B \-m@TMAC_M@ [ .IR options .\|.\|. ] @@ -55,9 +38,9 @@ the macros OK and PM is not implemented. .B \(bu groff mm does not support cut marks .LP -\fBm@TMAC_M_PREFIX@m\fP is intended to be international. Therefore it is +\fBm@TMAC_M@\fP is intended to be international. Therefore it is possible to write short national macrofiles which change all -english text to the preferred language. Use \fBm@TMAC_M_PREFIX@mse\fP as an example. +english text to the preferred language. Use \fBm@TMAC_M@se\fP as an example. .LP New macros: \fBAPP\fP, \fBAPPSK\fP, \fBB1\fP, \fBB2\fP, \fBBVL\fP, \fBCOVER\fP, \fBCOVEND\fP, \fBGETHN\fP, \fBGETPN\fP, \fBGETR\fP, @@ -212,6 +195,9 @@ Approval signature, generates an approval line with place for signature and date. The string \fBAPPROVED:\fP can be changed with variable \fBLetapp\fP, and the string \fBDate\fP in \fBLetdate\fP. .TP +.B "AVL [name]" +Letter signature, generates a line with place for signature. +.TP .B "B [bold-text [prev-font-tex [bold...]]]" Begin boldface No limit on the number of arguments. @@ -493,7 +479,7 @@ justification (ljust). .fi .DT Argument greater than or equal to 11 is considered as arg 0. -Default for m@TMAC_M_PREFIX@mm is 10. +Default for m@TMAC_M@m is 10. .TP .B FE Footnote end. @@ -828,7 +814,12 @@ List item precedes every item in a list. Without argument \fBLS\fP will print the mark determined by the current list type. By giving \fBLI\fP one argument, it will use that as the mark instead. Two arguments to \fBLI\fP will make \fImark\fP a prefix to -the current mark. A zero length \fImark\fP will make a hanging +the current mark. +There will be no separating space between the prefix +and the mark if the second argument is \fB2\fP instead of \fB1\fP. +This behaviour can also be achieved by setting number register +\fBLimsp\fP to zero. +A zero length \fImark\fP will make a hanging indent instead. .sp A blank line is normally printed before the list item. This behaviour @@ -1069,7 +1060,7 @@ on the first page. .TP .B PE Picture end. -Ends a picture for \fB@g@pic\fP, see the manual for \fB@g@pic\fP. +Ends a picture for \fB@TMAC_M@pic\fP, see the manual for \fB@TMAC_M@pic\fP. .TP .B "PF [arg]" Page footer. @@ -1242,6 +1233,10 @@ The user-defined macros \fBTX\fP and \fBTY\fP are used if \fBTC\fP is called with at most four arguments. \fBRX\fP is called before the printing of \fICONTENTS\fP, and \fBTY\fP is called instead of printing \fICONTENTS\fP. .sp +Equivalent macros can be defined for list of figures, tables, equations +and excibits by defining \fBTXxx\fP or \fBTYxx\fP, where \fBxx\fP +is \fFg\fP, \fBTB\fP, \fBEC\fP or \fBEX\fP. +.sp String \fBCi\fP can be set to control the indentations for each heading-level. It must be scaled, like \fB.ds\ Ci\ .25i\ .5i\ .75i\ 1i\ 1i\fP. The indentation is normally controlled by the maxlength of headings @@ -1372,7 +1367,7 @@ Floating displays does not generate line break. .LP .\"######################################################################## .LP -.B "Strings used in m@TMAC_M_PREFIX@m:" +.B "Strings used in m@TMAC_M@:" .TP .B App A string containing the word "APPENDIX". @@ -1487,7 +1482,7 @@ Contains \e(tm, trade mark. Argument to \fB.nm\fP in \fB.VERBON\fP, default: \fB1\fP. .\"----------------------------------- .LP -.B "Number variables used in m@TMAC_M_PREFIX@m:" +.B "Number variables used in m@TMAC_M@:" .TP .B Aph Print an appendix-page for every new appendix @@ -1586,6 +1581,13 @@ Default: Lf=1, Lt=1, Lx=1, Le=0. .B Li List indent, used by .AL, default 6. .TP +.B Limsp +Flag for space between prefix and mark in automatic lists (.AL). +.br +0\ ==\ no space +.br +1\ ==\ space +.TP .B Ls List space, if current listlevel > Ls then no spacing will occur around lists. Default 99. @@ -1714,7 +1716,7 @@ variable \fBlet*lo-\fP\fItype\fP. Jörgen Hägg, Lund, Sweden . .SH FILES .TP -.B @MACRODIR@/tmac.@TMAC_M_PREFIX@m +.B @MACRODIR@/tmac.@TMAC_M@ .TP .B @TMAC_MDIR@/*.cov .TP @@ -1729,4 +1731,4 @@ J .BR @g@eqn (@MAN1EXT@) .br .BR mm (@MAN7EXT@) -.BR m@TMAC_M_PREFIX@mse (@MAN7EXT@) +.BR m@TMAC_M@se (@MAN7EXT@) diff --git a/gnu/usr.bin/groff/mm/groff_mmse.man b/gnu/usr.bin/groff/mm/groff_mmse.man index 90cf2a3e94b..45f4e300302 100644 --- a/gnu/usr.bin/groff/mm/groff_mmse.man +++ b/gnu/usr.bin/groff/mm/groff_mmse.man @@ -1,5 +1,5 @@ -.\" -*- nroff -*- -.\" $Id: groff_mmse.man,v 1.1.1.1 1996/09/14 19:01:55 etheisen Exp $ +.\" +.\" $Id: groff_mmse.man,v 1.1.1.2 1996/09/15 01:48:07 etheisen Exp $ .\" Skrivet av Jörgen Hägg, Lund, Sverige .\" .TH GROFF_MMSE @MAN7EXT@ "@MDATE@" "Groff Version @VERSION@" @@ -7,7 +7,7 @@ groff_mmse \- svenska mm makro för groff .SH SYNTAX .B groff -.B \-m@TMAC_M_PREFIX@mse +.B \-m@TMAC_M@se [ .IR flaggor .\|.\|. ] @@ -15,7 +15,7 @@ groff_mmse \- svenska mm makro f .IR filer .\|.\|. ] .SH BESKRIVNING -\fBm@TMAC_M_PREFIX@mse\fP är en svensk variant av \fBm@TMAC_M_PREFIX@m\fP. Alla texter +\fBm@TMAC_M@se\fP är en svensk variant av \fBm@TMAC_M@\fP. Alla texter är översatta. En A4 sida får text som är 13 cm bred, 3.5 cm indragning samt är 28.5 cm hög. Det finns stöd för brevuppställning enligt svensk standard @@ -68,9 +68,9 @@ parenteser. Om makrot \fB.TP\fP är definierat anropas det efter utskrift av brevhuvudet. Där lägger man lämpligen in postadress och annat som brevfot. .SH "SKRIVET AV" -Jörgen Hägg, Lund, Sweden +Jörgen Hägg, Lund, Sweden .SH FILER -.B @MACRODIR@/tmac.@TMAC_M_PREFIX@mse +.B @MACRODIR@/tmac.@TMAC_M@se .B @TMAC_MDIR@/se_*.cov .SH "SE OCKSÅ" .BR groff (@MAN1EXT@), @@ -79,4 +79,4 @@ J .BR @g@pic (@MAN1EXT@), .BR @g@eqn (@MAN1EXT@) .br -.BR m@TMAC_M_PREFIX@m (@MAN7EXT@) +.BR m@TMAC_M@ (@MAN7EXT@) diff --git a/gnu/usr.bin/groff/mm/mm/0.MT b/gnu/usr.bin/groff/mm/mm/0.MT index b0c694971cf..d456671d6b2 100644 --- a/gnu/usr.bin/groff/mm/mm/0.MT +++ b/gnu/usr.bin/groff/mm/mm/0.MT @@ -1,5 +1,5 @@ .\"------------ -.\" $Id: 0.MT,v 1.1.1.1 1996/09/14 19:01:56 etheisen Exp $ +.\" $Id: 0.MT,v 1.1.1.2 1996/09/15 01:48:08 etheisen Exp $ .\" Cover sheet. Memorandum type 0-3 and "string". .\"------------ .if !r Au .nr Au 1 @@ -11,11 +11,11 @@ subject: .sp -1.1 .S .PGFORM -.B +.ft \\*[@sdf_font] .ll 9c .fi .cov*title -.R +.ft .ll .nf .if d cov*title-charge-case \fBCharge Case \\*[cov*title-charge-case]\fP @@ -32,7 +32,7 @@ subject: .S .sp -1 .in 0.8c -.B +.ft \\*[@sdf_font] .nr cov*i 0 1 .while \\n+[cov*i]<=\\n[cov*au] \{\ . cov@print-au1 \\n[cov*i] 1 @@ -45,17 +45,17 @@ subject: . \} . if \\n[cov*i]<\\n[cov*au] .SP 1 .\} -.R +.ft .if r cov*mt-tm-max \{\ . SP 1 . nr cov*i 0 1 -. B +. ft \\*[@sdf_font] TM . in 1.5c . sp -1 . while \\n+[cov*i]<\\n[cov*mt-tm-max] \\*[cov*mt-tm!\\n[cov*i]] . in -. R +. ft .\} .fi .PGFORM @@ -83,7 +83,7 @@ TM .S .sp -1 .in 0.8c -.B "\\*[cov*new-date]" +\f[\\*[@sdf_font]]\\*[cov*new-date]\fP .br .fi .PGFORM diff --git a/gnu/usr.bin/groff/mm/mm/4.MT b/gnu/usr.bin/groff/mm/mm/4.MT index 640d3e06608..f353d73a247 100644 --- a/gnu/usr.bin/groff/mm/mm/4.MT +++ b/gnu/usr.bin/groff/mm/mm/4.MT @@ -1,5 +1,5 @@ .\"------------ -.\" $Id: 4.MT,v 1.1.1.1 1996/09/14 19:01:56 etheisen Exp $ +.\" $Id: 4.MT,v 1.1.1.2 1996/09/15 01:48:08 etheisen Exp $ .\" Cover sheet. Memorandum type 4 .\"------------ .de cov@print-title diff --git a/gnu/usr.bin/groff/mm/mm/5.MT b/gnu/usr.bin/groff/mm/mm/5.MT index 9ae866e4170..39881a30e27 100644 --- a/gnu/usr.bin/groff/mm/mm/5.MT +++ b/gnu/usr.bin/groff/mm/mm/5.MT @@ -1,5 +1,5 @@ .\"------------ -.\" $Id: 5.MT,v 1.1.1.1 1996/09/14 19:01:56 etheisen Exp $ +.\" $Id: 5.MT,v 1.1.1.2 1996/09/15 01:48:09 etheisen Exp $ .\" Cover sheet. Memorandum type 5 .\"------------ .nr cov*mt0-ind 1.1c @@ -18,7 +18,7 @@ .\"------------ .de cov@print-date .rj 1 -.B "\\*[cov*new-date]" +\f[\\*[@sdf_font]]\\*[cov*new-date]\fP .br .. .\"------------ diff --git a/gnu/usr.bin/groff/mm/mm/ms.cov b/gnu/usr.bin/groff/mm/mm/ms.cov index 40e7c945495..962b185e3f0 100644 --- a/gnu/usr.bin/groff/mm/mm/ms.cov +++ b/gnu/usr.bin/groff/mm/mm/ms.cov @@ -1,5 +1,5 @@ .\"------------ -.\" $Id: ms.cov,v 1.1.1.1 1996/09/14 19:01:56 etheisen Exp $ +.\" $Id: ms.cov,v 1.1.1.2 1996/09/15 01:48:09 etheisen Exp $ .\" Cover sheet. Mostly like ms cover. .\"------------ .de cov@print-title @@ -62,7 +62,7 @@ .\"------------ .de cov@print-date .SP 2 -\\*[cov*new-date] +\f[\\*[@sdf_font]]\\*[cov*new-date]\fP .. .\"----------------- .de COVEND diff --git a/gnu/usr.bin/groff/mm/mm/se_ms.cov b/gnu/usr.bin/groff/mm/mm/se_ms.cov index 05d16557230..3375c5f59e6 100644 --- a/gnu/usr.bin/groff/mm/mm/se_ms.cov +++ b/gnu/usr.bin/groff/mm/mm/se_ms.cov @@ -1,3 +1,3 @@ -.\" $Id: se_ms.cov,v 1.1.1.1 1996/09/14 19:01:56 etheisen Exp $ +.\" $Id: se_ms.cov,v 1.1.1.2 1996/09/15 01:48:10 etheisen Exp $ .mso mm/ms.cov .nr cur*abstract-ll 11c diff --git a/gnu/usr.bin/groff/mm/tmac.m b/gnu/usr.bin/groff/mm/tmac.m index 931206a7791..0814d382378 100644 --- a/gnu/usr.bin/groff/mm/tmac.m +++ b/gnu/usr.bin/groff/mm/tmac.m @@ -3,8 +3,8 @@ .ds RE \\$2 .. .\" -.\" $Id: tmac.m,v 1.1.1.1 1996/09/14 19:01:55 etheisen Exp $ -.@revision $Revision: 1.1.1.1 $ +.\" $Id: tmac.m,v 1.1.1.2 1996/09/15 01:48:05 etheisen Exp $ +.@revision $Revision: 1.1.1.2 $ .ig Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. @@ -22,11 +22,7 @@ for more details. You should have received a copy of the GNU General Public License along with groff; see the file COPYING. If not, write to the Free Software -Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -Almost complete. The letter format is not included. -Maybe as a separate package. -Should be better as time goes. +Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. Please send bugreports with examples to jh@axis.se. @@ -36,6 +32,8 @@ Extern names module@name Env.var environ:name Index array!index .. +.if !\n(.g .ab These mm macros require groff. +.if \n(.C .ab The groff mm macros do not work in compatibility mode. .warn .\" ######## init ####### .\" Contents level [0:7], contents saved if heading level <= Cl @@ -137,32 +135,56 @@ Index array!index .\" This is for cover macro .MT .\" .ds @language .\" +.nr @copy_type 0 +.if r C .nr @copy_type \n[C] +.\" >0 if Subject/Date/From should be bold, roman otherwise +.ie n .ds @sdf_font R +.el .ds @sdf_font B +.if \n[@copy_type]=4 \{\ +. ls 2 +. nr Pi 10 +. nr Pt 1 +.\} +.\" +.\" +.if r E \{\ +. ie \n[E] .ds @sdf_font B +. el .ds @sdf_font R +.\} +.\" .\" Current pointsize and vertical space, always in points. .ie r S \{\ -. nr @ps \n[S] -. nr @vs \n[S]+2 +. ps (p;\n[S]) +. vs (p;\n[S]+2) .\} .el \{\ -. nr @ps 10 -. nr @vs 12 +. ps (p;10) +. vs 12p .\} +.nr @ps \n[.ps] +.nr @vs \n[.v] .\" .\" Page length -.ie r L .nr @pl \n[L] -.el .nr @pl \n[.p] +.ie r L \{\ +. ie n .pl (v;\n[L]) +. el .pl \n[L] +.\} +.nr @pl \n[.p] +.\" .\" page width -.ie r W .nr @ll \n[W] -.el .nr @ll 6i +.ie r W \{\ +. ie n .ll (n;\n[W]) +. el .ll \n[W] +.\} +.el .ll 6i +.nr @ll \n[.l] +.nr @cur-ll \n[@ll] +.lt \n[@ll]u +.\" .\" page offset -.ie r O .nr @po \n[O] -.el .nr @po \n(.o +.if r O .po \n[O] .\" -.\" cheating... -.pl \n[@pl]u -.ll \n[@ll]u -.lt \n[@ll]u -.po \n[@po]u -.nr @cur-ll \n[@ll] +.nr @po \n[.o] .\" .\" non-zero if escape mechanism is turned off. Used by VERBON/OFF .nr @verbose-flag 0 @@ -195,6 +217,9 @@ Index array!index .ds Liex Exhibit .ds Liec Equation .ds Licon CONTENTS +.\" Flag for space between mark and prefix 1==space, 0==no space +.\" Can also be controlled by using '.LI mark 2' +.nr Limsp 1 .\" .\" Lsp controls the height of an empty line. Normally 0.5v .\" Normally used for nroff compatibility. @@ -269,6 +294,12 @@ Index array!index .ds Letns!13 Complete Memorandum to .ds Letns!14 CC: .\" +.\" Text printed below the footer. Controlled by @copy_type (C). +.ds Pg_type!0 +.ds Pg_type!1 OFFICIAL FILE COPY +.ds Pg_type!2 DATE FILE COPY +.ds Pg_type!3 D\ R\ A\ F\ T +.ds Pg_type!4 D\ R\ A\ F\ T .\" Max lines in return address .nr Letwam 14 .\"-------------------------- @@ -278,7 +309,7 @@ Index array!index .\" .\"--------------------------------------------- .\" set local variables. -.ie d @language .mso mm/\\*[@language]_locale +.ie d @language .mso mm/\*[@language]_locale .el .mso mm/locale .\"--------------------------------------------- .if \n[D] .tm Groff mm, version \*[RE]. @@ -291,8 +322,8 @@ Index array!index .el 'nh 'in 0 'ti 0 -'ps \\n[@ps] -'vs \\n[@vs] +.ps \\n[@ps]u +.vs \\n[@vs]u .. .de @warning 'tm WARNING:(\\n[.F]) input line \\n[.c]:\\$* @@ -468,14 +499,22 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%] .\" Hope this doesn't break anything else :-) .\" Don't break if arg_4 is a '1'. .if ''\\$4' .br -.if !''\\$1' .nr @ll \\$1 -.if !''\\$2' .nr @pl \\$2 -.if !''\\$3' .nr @po \\$3 -.ll \\n[@ll]u -.lt \\n[@ll]u -.po \\n[@po]u -.pl \\n[@pl]u -.nr @cur-ll \\n[@ll] +.if !''\\$1' \{\ +. ll \\$1 +. nr @ll \n[.l] +. nr @cur-ll \\n[@ll] +. lt \\n[@ll]u +.\} +.\" +.if !''\\$2' \{\ +. pl \\$2 +. nr @pl \n[.p] +.\} +.\" +.if !''\\$3' \{\ +. po \\$3 +. nr @po \n[.o] +.\} 'in 0 .pg@move-trap .. @@ -529,28 +568,30 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%] .\" .\" set point size .if !'\\*[misc*a]'C' \{\ -. ie '\\*[misc*a]'P' .nr @ps \\n[misc*S-ps] +. ie '\\*[misc*a]'P' .ps \\n[misc*S-ps]u . el \{\ -. ie '\\*[misc*a]'D' .nr @ps 10 -. el .nr @ps \\*[misc*a] +. ie '\\*[misc*a]'D' .ps 10p +. el .ps (p;\\*[misc*a]) . \} .\} .\" .\" set vertical spacing .if !'\\*[misc*b]'C' \{\ -. ie '\\*[misc*b]'P' .nr @vs \\n[misc*S-vs] +. ie '\\*[misc*b]'P' .vs \\n[misc*S-vs]u . el \{\ -. ie '\\*[misc*b]'D' .nr @vs \\n[@ps]+2 -. el .nr @vs \\*[misc*b] +. ie '\\*[misc*b]'D' .vs \\n[@ps]u+2p +. el .vs (p;\\*[misc*b]) . \} .\} -'ps \\n[@ps] -'vs \\n[@vs] -.if \\n[D]>1 .tm point-size \\n[@ps] (\\n[.s]), vertical spacing \\n[@vs] (\\n[.v]) +.nr @ps \\n[.ps] +.nr @vs \\n[.v] +.\" +.if \\n[D]>1 .tm S[\\n[.c]]: point-size \\n[@ps]u, vertical spacing \\n[@vs]u .nr misc*S-ps \\n[misc*S-ps1] .nr misc*S-vs \\n[misc*S-vs1] .nr misc*S-ps1 \\n[@ps] .nr misc*S-vs1 \\n[@vs] +.pg@move-trap .. .\"------------ .de HC @@ -779,8 +820,9 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%] .el \\$2\\$3\\*[hd*suf-space]\&\c .ft 1 .\" restore pointsize and vertical size. -.ps \\n[@ps] -.vs \\n[@vs] +.ps \\n[@ps]u +.vs \\n[@vs]u +.br .\" .\" table of contents .if (\\n[hd*level]<=\\n[Cl])&\w@\\$2@ \{\ @@ -1024,6 +1066,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%] . el .tl \\*[pg*even-footer] . ie (\\n[%]=1)&(\\n[N]=1) .tl \\*[pg*header] . el .tl \\*[pg*footer] +. tl ''\\*[Pg_type!\\n[@copy_type]]'' .\} .ev .\" be sure that floating displays and footnotes will be @@ -1044,12 +1087,12 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%] 'in 0 'ti 0 .ie \\n[Pgps] \{\ -. ps \\n[@ps] -. vs \\n[@vs] +. ps \\n[@ps]u +. vs \\n[@vs]u .\} .el \{\ -. ps \\n[pg*ps] -. vs \\n[pg*vs] +. ps \\n[pg*ps]u +. vs \\n[pg*vs]u .\} .lt \\n[@ll]u .. @@ -1258,8 +1301,8 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%] .ds pg*mul-fam \\n[.fam] .nr pg*mul-font \\n[.f] .ev pg*mul-ev -.ps \\n[@ps] -.vs \\n[@vs] +.ps \\n[@ps]u +.vs \\n[@vs]u .fam \\*[pg*mul-fam] .ft \\n[pg*mul-font] .fi @@ -1328,8 +1371,8 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%] .el 'hy 0 .ll \\n[@cur-ll]u .lt \\n[@cur-ll]u -.ps (\\n[@ps]-2) -.vs (\\n[@vs]-1) +.ps (p;\\n[@ps]u-2) +.vs (p;\\n[@vs]u-1) .. .\"----------------- .\" set footnote format @@ -1390,6 +1433,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%] .. .\"----------------- .\" begin footnote +.\" Change environment, switch to diversion and print the foot-note mark. .de FS .if \\n[ft*busy] .@error "FS: missing FE" .nr ft*busy 1 @@ -1418,6 +1462,8 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%] .. .\"----------------- .\" end footnote +.\" End the diversion, back to previous environment, and adjust +.\" the trap to the new foot-note size. .de FE .nr ft*busy 0 .br @@ -1816,7 +1862,10 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%] .if \\n[li*type]=5 .ds li*c-mark <\\n[li*cnt!\\n[li*lvl]]> .if \\n[li*type]=6 .ds li*c-mark {\\n[li*cnt!\\n[li*lvl]]} .if \\n[.$]=1 .ds li*c-mark \\$1 -.if \\n[.$]=2 .ds li*c-mark \\$1\ \\*[li*c-mark] +.ie \\n[.$]=2 \{\ +. ie (\\$2=2):(\\n[Limsp]=0) .ds li*c-mark \\$1\\*[li*c-mark] +. el .ds li*c-mark \\$1\ \\*[li*c-mark] +.\} .if '\\*[li*c-mark]'\ ' .ds li*c-mark .\" .\" determine where the text begins @@ -2020,6 +2069,8 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%] .ds eq*lable "\\$1 .di eq*div .misc@ev-keep eq*ev +.ps \\n[@ps]u +.vs \\n[@vs]u .in 0 .nf .. @@ -2112,10 +2163,10 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%] .\} .if d toc*list .toc*list .\" print LIST OF XXX -.if d lix*dsfg .lix@print-ds fg "\\*[Lf]" -.if d lix*dstb .lix@print-ds tb "\\*[Lt]" -.if d lix*dsec .lix@print-ds ec "\\*[Le]" -.if d lix*dsex .lix@print-ds ex "\\*[Lx]" +.if d lix*dsfg .lix@print-ds fg FG "\\*[Lf]" \\n[.$] +.if d lix*dstb .lix@print-ds tb TB "\\*[Lt]" \\n[.$] +.if d lix*dsec .lix@print-ds ec EC "\\*[Le]" \\n[.$] +.if d lix*dsex .lix@print-ds ex EX "\\*[Lx]" \\n[.$] .. .\"----------- .\" .toc@read-Ci lev1 lev2 lev3 lev4 ... lev7 @@ -2231,20 +2282,20 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%] . if 0\\$6=1 .ds lix*lable \\*[Li\\$1]\ \\*[lix*numb]\\$5\\*[lix*ds-form] . if 0\\$6=2 .ds lix*lable \\*[Li\\$1]\ \\$5\\*[lix*ds-form] .\} -.ie \\n[Sectp] .ds lix*pgnr \\*[hd*sect-pg] -.el .ds lix*pgnr \\n[%] .\" print line if not between DS/DE -.ie \\n[ds*lvl]<1 .lix@print-text "\\*[lix*lable]" "\\*[lix*text]" -.el .lix@embedded-text "\\*[lix*lable]" "\\*[lix*text]" +.ie \\n[ds*lvl]<1&\\n[df*float]=0 \{\ +. lix@print-text "\\*[lix*lable]" "\\*[lix*text]" \\$1 \\$2 \\$7 +.\} +.el \{\ +. lix@embedded-text "\\*[lix*lable]" "\\*[lix*text]" \\$1 \\$2 \\$7 +.\} .\" -.\" save line for LIST OF XXX -.if !r lix*wth\\$1 .nr lix*wth\\$1 0 -.if \w@\\*[lix*lable]@>\\n[lix*wth\\$1] .nr lix*wth\\$1 \w@\\*[lix*lable]@ -.if \\n[\\$2] .lix@ds-save \\$1 \\*[lix*pgnr] "\\$4" "\\*[lix*lable]" -.if !'\\$7'' .SETR \\$7 \\*[lix*numb] .. .\"----------- +.\" lable text type stringvar refname .de lix@print-text +.ie \\n[Sectp] .ds lix*pgnr \\*[hd*sect-pg] +.el .ds lix*pgnr \\n[%] .SP \\n[Lsp]u .misc@ev-keep lix .init@reset @@ -2257,14 +2308,23 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%] \fB\\$1\fP\\$2 .br .ev +.\" save line for LIST OF XXX, wth is the width of the lable +.if !r lix*wth\\$3 .nr lix*wth\\$3 0 +.\" find the maximum width +.if \w@\\*[lix*lable]@>\\n[lix*wth\\$3] .nr lix*wth\\$3 \w@\\*[lix*lable]@ +.if \\n[\\$4] .lix@ds-save \\$3 \\*[lix*pgnr] "\\*[lix*text]" "\\*[lix*lable]" +.\" save reference to the figure +.if !'\\$5'' .SETR \\$5 \\*[lix*numb] .. .\" hide printout until diversion is evaluated .de lix@embedded-text -\!.SP \\n[Lsp]u +\!.ie \\\\n[Sectp] .ds lix*pgnr \\\\*[hd*sect-pg] +\!.el .ds lix*pgnr \\\\n[%] +\!.SP \\\\n[Lsp]u \!.misc@ev-keep lix \!.init@reset \!.br -\!.ie (\w@\\$1\\$2@)>(\\n[.l]-\\n[.i]) \{\ +\!.ie (\w@\\$1\\$2@)>(\\\\n[.l]-\\\\n[.i]) \{\ . in +\w@\\$1@u \!. ti 0 \!.\} @@ -2272,6 +2332,13 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%] \!\fB\\$1\fP\\$2 \!.br \!.ev +.\" save line for LIST OF XXX, wth is the width of the lable +\!.if !r lix*wth\\$3 .nr lix*wth\\$3 0 +.\" find the maximum width +\!.if \w@\\*[lix*lable]@>\\\\n[lix*wth\\$3] .nr lix*wth\\$3 \w@\\*[lix*lable]@ +\!.if \\\\n[\\$4] .lix@ds-save \\$3 \\\\*[lix*pgnr] "\\*[lix*text]" "\\*[lix*lable]" +.\" save reference to the figure +\!.if !'\\$5'' .SETR \\$5 \\*[lix*numb] .. .\"------------ .\" print complete list of XXXX @@ -2279,9 +2346,14 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%] .\" arg: fg,tb,ec,ex text .if !\\n[Cp] .pg@next-page .\" print LIST OF XXXX -.ce -\\$2 -.SP 3 +.\" execute user-defined macros +.if \\$4<=4 .if d TX\\$2 .TX\\$2 +.ie d TY\\$2 .if \\$4<=4 .TY\\$2 +.el \{\ +. ce +\\$3 +. SP 3 +.\} .in \\n[lix*wth\\$1]u .fi .lix*ds\\$1 @@ -2366,8 +2438,8 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%] .\" jump to new environment. .ev box*ev .di box*div -.ps \\n[@ps] -.vs \\n[@vs] +.ps \\n[@ps]u +.vs \\n[@vs]u .in 1n .ll (u;\\n[box*wid]-1n) .hy \\n[.hy] @@ -2857,7 +2929,18 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%] .sp 2 .ie n ______________________________ ______________ .el \D'l 25m 0'\h'4m'\D'l 12m 0' -\Z'\\$1'\h'29m'\\*[Letdate] +\Z'\\$1'\h'29m'\f[\\*[@sdf_font]]\\*[Letdate]\fP +.fi +.. +.\"------------------------ +.\" Letter signature +.de AVL +.ne 6v +.nf +.sp 3 +.ie n ______________________________ +.el \D'l 25m 0' +\Z'\\$1' .fi .. .\"------------------------ @@ -3007,7 +3090,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%] . el \{\ . sp . if '\\*[let*type]'SB' .ti +5m -\\*[LetSJ] \\*[let*lo-SJ] +\\*[LetSJ] \f[\\*[@sdf_font]]\\*[let*lo-SJ]\fP . \} .\} .. diff --git a/gnu/usr.bin/groff/mm/tmac.mse b/gnu/usr.bin/groff/mm/tmac.mse index 4cac885b35f..cef90de8178 100644 --- a/gnu/usr.bin/groff/mm/tmac.mse +++ b/gnu/usr.bin/groff/mm/tmac.mse @@ -1,9 +1,9 @@ -.\" $Id: tmac.mse,v 1.1.1.1 1996/09/14 19:01:56 etheisen Exp $ +.\" $Id: tmac.mse,v 1.1.1.2 1996/09/15 01:48:06 etheisen Exp $ .\" .\" swedish version of mm .\" See tmac.m for version-information. -.mso tmac.m .ds @language se +.mso tmac.m .\" .ds Lf Figurer .ds Lt Tabeller -- 2.20.1