+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
--- /dev/null
+#
+# $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" \
+ $< >$@
+
#
-# $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
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
-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
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<something>.Z
+at ftp://ftp.efd.lth.se/pub/groff/mm<something>.gz
+or ftp://ftp.axis.se/pub/groff/mm<something>.gz
You can install mgm as a separate package without the configure in groff
with the following command:
-.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
groff_mm \- groff mm macros
.SH SYNOPSIS
.B groff
-.B \-m@TMAC_M_PREFIX@m
+.B \-m@TMAC_M@
[
.IR options .\|.\|.
]
.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,
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.
.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.
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
.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.
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
.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".
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
.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.
Jörgen Hägg, Lund, Sweden <jh@axis.se>.
.SH FILES
.TP
-.B @MACRODIR@/tmac.@TMAC_M_PREFIX@m
+.B @MACRODIR@/tmac.@TMAC_M@
.TP
.B @TMAC_MDIR@/*.cov
.TP
.BR @g@eqn (@MAN1EXT@)
.br
.BR mm (@MAN7EXT@)
-.BR m@TMAC_M_PREFIX@mse (@MAN7EXT@)
+.BR m@TMAC_M@se (@MAN7EXT@)
-.\" -*- 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@"
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 .\|.\|.
]
.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
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 <jh@axis.se>
+Jörgen Hägg, Lund, Sweden <Jorgen.Hagg@axis.se>
.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@),
.BR @g@pic (@MAN1EXT@),
.BR @g@eqn (@MAN1EXT@)
.br
-.BR m@TMAC_M_PREFIX@m (@MAN7EXT@)
+.BR m@TMAC_M@ (@MAN7EXT@)
.\"------------
-.\" $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
.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
.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
. \}
. 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
.S
.sp -1
.in 0.8c
-.B "\\*[cov*new-date]"
+\f[\\*[@sdf_font]]\\*[cov*new-date]\fP
.br
.fi
.PGFORM
.\"------------
-.\" $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
.\"------------
-.\" $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
.\"------------
.de cov@print-date
.rj 1
-.B "\\*[cov*new-date]"
+\f[\\*[@sdf_font]]\\*[cov*new-date]\fP
.br
..
.\"------------
.\"------------
-.\" $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
.\"------------
.de cov@print-date
.SP 2
-\\*[cov*new-date]
+\f[\\*[@sdf_font]]\\*[cov*new-date]\fP
..
.\"-----------------
.de COVEND
-.\" $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
.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.
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.
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
.\" 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
.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.
.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
.\"--------------------------
.\"
.\"---------------------------------------------
.\" 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].
.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]:\\$*
.\" 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
..
.\"
.\" 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
.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@ \{\
. 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
'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
..
.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
.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
..
.\"-----------------
.\" 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
..
.\"-----------------
.\" 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
.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
.ds eq*lable "\\$1
.di eq*div
.misc@ev-keep eq*ev
+.ps \\n[@ps]u
+.vs \\n[@vs]u
.in 0
.nf
..
.\}
.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
. 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
\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
\!.\}
\!\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
.\" 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
.\" 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]
.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
..
.\"------------------------
. el \{\
. sp
. if '\\*[let*type]'SB' .ti +5m
-\\*[LetSJ] \\*[let*lo-SJ]
+\\*[LetSJ] \f[\\*[@sdf_font]]\\*[let*lo-SJ]\fP
. \}
.\}
..
-.\" $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