aboutsummaryrefslogtreecommitdiff
path: root/tmac
diff options
context:
space:
mode:
authorwkj <devnull@localhost>2004-05-16 08:06:20 +0000
committerwkj <devnull@localhost>2004-05-16 08:06:20 +0000
commit6cc703dc9a8154efe7d8fc0445656c8f44486f07 (patch)
tree23492481916785eac9926b98a1d9a43703a9500b /tmac
parent282ce666c3c009d63f554ef6c40e4cf7f150cca7 (diff)
downloadplan9port-6cc703dc9a8154efe7d8fc0445656c8f44486f07.tar.gz
plan9port-6cc703dc9a8154efe7d8fc0445656c8f44486f07.tar.bz2
plan9port-6cc703dc9a8154efe7d8fc0445656c8f44486f07.zip
For mpm.
Diffstat (limited to 'tmac')
-rw-r--r--tmac/me/acm.me55
-rw-r--r--tmac/me/chars.me53
-rw-r--r--tmac/me/deltext.me20
-rw-r--r--tmac/me/eqn.me77
-rw-r--r--tmac/me/float.me63
-rw-r--r--tmac/me/footnote.me83
-rw-r--r--tmac/me/index.me70
-rw-r--r--tmac/me/local.me10
-rw-r--r--tmac/me/null.me3
-rw-r--r--tmac/me/revisions157
-rw-r--r--tmac/me/sh.me108
-rw-r--r--tmac/me/tbl.me109
-rw-r--r--tmac/me/thesis.me19
13 files changed, 827 insertions, 0 deletions
diff --git a/tmac/me/acm.me b/tmac/me/acm.me
new file mode 100644
index 00000000..1dde6281
--- /dev/null
+++ b/tmac/me/acm.me
@@ -0,0 +1,55 @@
+.nr _0 \n(c.
+.\" @(#)acm.me 2.1 8/18/80
+.\" This version has had comments stripped; an unstripped version is available.
+.de ac
+.ll 8.9i
+.nr $s 0.5i
+.if !\\n($T \
+. po 1.0i
+.ie "\\$2"*" \
+\{\
+. nr hm 0.375i
+. nr tm 1.125i
+. pl 14.25i
+. nr bm 1.5i
+. de $h ..
+. tl ''%''
+...
+. rm $f
+.\}
+.el \
+\{\
+. nr hm 0
+. nr tm 0
+. pl 15i
+. nr bm 3i
+. nr fm 0.9i
+. de $f ..
+. ti 0
+\h'|0.5i'\\\\n%\h'|1.25i'\\$2\h'|3i'\\$1
+. br
+...
+. rm $h
+.\}
+.bp
+.rs
+.sp 0.75i
+.rm ac
+..
+.if t .tm Line \n(c. -- macro .ac will not work in TROFF -- request ignored.
+.if t .rm ac
+.de +c
+.if \\n(?A \
+\{\
+. nr ch 0 1
+. pn 1
+. ep
+. af % 1
+. bp
+.\}
+.nr ?A 0
+.sp 1i
+.if \\n(.$ \
+. $c "\\$1"
+..
+.nr c. \n(_0
diff --git a/tmac/me/chars.me b/tmac/me/chars.me
new file mode 100644
index 00000000..2b0add6f
--- /dev/null
+++ b/tmac/me/chars.me
@@ -0,0 +1,53 @@
+.nr _0 \n(c.
+.\" @(#)chars.me 2.2 8/29/80
+.\" This version has had comments stripped; an unstripped version is available.
+.if n \
+\{\
+. ds #[ \f1
+. ds #] \fP
+. ds #h 0
+. ds #v 0.8m
+. ds #f 0.3m
+.\}
+.if t \
+\{\
+. ds #[ \&
+. ds #] \&
+. ds #h ((1u-(\\\\n(.fu%2u))*0.13m)
+. ds #v 0.6m
+. ds #f 0
+.\}
+.ds ' \k_\h'-(\\n(.wu*8/10-\*(#h)'\*(#[\(aa\h'|\\n_u'\*(#]
+.ds ` \k_\h'-(\\n(.wu*7/10-\*(#h)'\*(#[\(ga\h'|\\n_u'\*(#]
+.ds : \k_\h'-(\\n(.wu*8/10-\*(#h+0.1m+\*(#f)'\v'-\*(#v'\*(#[\z.\h'0.2m+\*(#f'.\h'|\\n_u'\v'\*(#v'\*(#]
+.ds ^ \k_\h'-(\\n(.wu-\*(#h-0.05m)'\*(#[^\h'|\\n_u'\*(#]
+.ds ~ \k_\h'-(\\n(.wu-\*(#h-0.05m)'\*(#[~\h'|\\n_u'\*(#]
+.ds , \k_\h'-(\\n(.wu)'\*(#[,\h'|\\n_u'\*(#]
+.ds v \k_\h'-(\\n(.wu*9/10-\*(#h)'\v'-\*(#v'\*(#[\s-4v\s0\v'\*(#v'\h'|\\n_u'\*(#]
+.ds o \k_\h'-(\\n(.wu+\w'\(de'u-\*(#h)/2u'\v'-0.4n'\*(#[\z\(de\v'0.4n'\h'|\\n_u'\*(#]
+.ds qe \*(#[\v'0.5m'\z\(em\v'-0.65m'\z\(em\v'-0.65m'\z\(em\v'0.8m'\h'0.3m'|\h'-0.3m'\*(#]
+.ds qa \*(#[\h'-0.24m'\z\e\h'0.48m'\z\(sl\h'-0.24m'\v'-0.15m'\(em\v'0.15m'\*(#]
+.if t \
+\{\
+. ds qe \s-2\v'0.45m'\z\(em\v'-0.625m'\z\(em\v'-0.625m'\(em\v'0.8m'\s0\h'-0.1m'\v'-0.05m'\(br\v'0.05m'\h'0.1m'
+. ds qa \z\e\h'0.35m'\z\(sl\h'-0.33m'\v'-0.3m'\s-4\(em\s0\v'0.3m'\h'0.15m'
+.\}
+.if \n($T \
+\{\
+. ds ' \*(#[\h'-1'\(aa\*(#]
+. ds ` \*(#[\h'-1'\(ga\*(#]
+. ds : \&
+. ds ^ \*(#[\h'-1'^\*(#]
+. ds ~ \*(#[\h'-1'~\*(#]
+. ds , \*(#[\h'-1',\*(#]
+. ds v \&
+. ds o \&
+. ds qe EXISTS
+. ds qa FORALL
+.\}
+.rm #[
+.rm #]
+.rm #h
+.rm #v
+.rm #f
+.nr c. \n(_0
diff --git a/tmac/me/deltext.me b/tmac/me/deltext.me
new file mode 100644
index 00000000..1291449a
--- /dev/null
+++ b/tmac/me/deltext.me
@@ -0,0 +1,20 @@
+.nr _0 \n(c.
+.\" @(#)deltext.me 2.1 8/18/80
+.\" This version has had comments stripped; an unstripped version is available.
+.de (d
+.am |d )d
+.sp \\n(bsu
+..
+.de )d
+.if \\n# \
+. nr $d +1
+.ds # [\\n($d]\k#
+.rr #
+..
+.de pd
+.|d
+.rm |d
+.nr $d 1 1
+.ds # [1]\k#
+..
+.nr c. \n(_0
diff --git a/tmac/me/eqn.me b/tmac/me/eqn.me
new file mode 100644
index 00000000..28b689ee
--- /dev/null
+++ b/tmac/me/eqn.me
@@ -0,0 +1,77 @@
+.nr _0 \n(c.
+.\" @(#)eqn.me 2.1 8/18/80
+.\" This version has had comments stripped; an unstripped version is available.
+.de EQ
+.ec
+.if !\\n(?e \
+\{\
+. if "\\n(.z"|e" .tm Line \\n(c. -- Nested .EQ request
+. @D 1 "\\$1" "\\$2"
+. @C 2
+. di |e
+.\}
+.ls 1
+.in 0
+.nf
+..
+.de EN
+.br
+.ie "\\$1"C" \
+\{\
+. nr ?e 1
+. sp \\n(esu
+.\}
+.el \
+\{\
+. nr ?e 0
+. di
+. if \\n(dn \
+. @q
+. rm |e
+. rm 10
+. rm 11
+. rm 12
+. rm 13
+. rm 14
+. rm 15
+. rm 16
+. rm 17
+. rm 18
+. rm 19
+. rm 20
+. rm 21
+. rm 22
+. rm 23
+. ev
+.\}
+..
+.de @q
+.nr _Q \\n(dnu
+.ev
+.sp \\n(esu
+.@C 2
+.ie \\n(_d=1 \
+. in (\\n(.lu+\\n($iu-\\n(dlu)/2u
+.el .ie \\n(_d=2 \
+. in \\n($iu
+.el .ie \\n(_d=3 \
+. in \\n(biu+\\n($iu
+.el .if \\n(_d=4 \
+. in 0
+.if !"\\n(.z"" \!.ne \\n(_Qu
+.ne \\n(_Qu+\n(.Vu
+.mk _q
+.if !"\\*(|p"" \
+\{\
+. rs
+. sp (\\n(_Qu-\\n(.vu)/2u
+. tl """\\*(|p"
+. rt \\n(_qu
+.\}
+.|e
+.sp |\\n(_qu+\\n(_Qu
+.sp \\n(esu+\\n(.Lv-1v
+.rr _q
+.rr _Q
+..
+.nr c. \n(_0
diff --git a/tmac/me/float.me b/tmac/me/float.me
new file mode 100644
index 00000000..86a701c4
--- /dev/null
+++ b/tmac/me/float.me
@@ -0,0 +1,63 @@
+.nr _0 \n(c.
+.\" @(#)float.me 2.1 8/18/80
+.\" This version has had comments stripped; an unstripped version is available.
+.de (z
+.@D 4 \\$1 \\$2
+.@(
+.nr ?T 0
+..
+.de )z
+.sp \\n(zsu
+.@)
+.rr _0
+.if !\\n(?b \
+. nr dn +(\\n(ppu*\\n($ru)/2u+\\n(zsu
+.nr dl -\n(.H
+.ie ((\\n(dn+\n(.V)>=\\n(.t):(\\n(?a):((\\n(dl>\\n($l)&(\\n($c>1)) \
+\{\
+. nr ?a 1
+. if (\\n(dl>\\n($l)&(\\n($m>1) \
+. nr ?w 1
+. ds |x |t
+.\}
+.el \
+\{\
+. nr ?b 1
+. if (\\n(dl>\\n($l)&(\\n($m>1) \
+. nr ?W 1
+. nr _b +\\n(dnu
+. ch @f -\\n(_bu
+. ds |x |b
+.\}
+.da \\*(|x
+.nf
+.ls 1
+.nr ?k 1
+\!.if \\\\n(nl>(\\\\n(tm+2v) .ne \\n(dnu-\\n(zsu
+.eo
+.cc @
+@|k
+@cc
+.ec
+.nr ?k 0
+.rm |k
+.da
+.in 0
+.ls 1
+.xl \\n($lu
+.ev
+..
+.de @k
+.ev 1
+.nf
+.ls 1
+.in 0
+.sp \\n(zsu
+.\\$1
+.ec
+.br
+.rm \\$1
+.ev
+.nr ?T 0
+..
+.nr c. \n(_0
diff --git a/tmac/me/footnote.me b/tmac/me/footnote.me
new file mode 100644
index 00000000..38607b2b
--- /dev/null
+++ b/tmac/me/footnote.me
@@ -0,0 +1,83 @@
+.nr _0 \n(c.
+.\" @(#)footnote.me 2.4 9/23/80
+.\" This version has had comments stripped; an unstripped version is available.
+.de (f
+.ec
+.if "\\n(.z"|f" .tm Line \\n(c. -- Illegal footnote nesting
+.ie "\\n(.z"" \
+\{\
+. nr _D \\n(dn
+. nr _0 1v+\\n(nlu
+. ev 2
+. da |f
+. in 0
+. xl \\n($lu-\\n(fuu
+. @F \\n(ff
+. sz \\n(fpu
+. vs \\n(.su*\\n($Ru
+. if !\\n(?f \
+\{\
+. nr _b +2u*\n(.Vu
+. $s
+. \}
+. br
+. if \\n(.p-\\n(_b-\\n(_0-\\n(.h-1v-\\n(fs<0 \
+\{\
+. da\"
+. bc
+. if !\\n(?f \
+. rm |f
+. da |f
+. in 0
+. xl \\n($lu-\\n(fuu
+. @F \\n(ff
+. sz \\n(fpu
+. vs \\n(.su*\\n($Ru
+. if !\\n(?f \
+. $s
+. br
+. \}
+. rr _0
+. sp \\n(fsu
+. nr ?f 1
+. fi
+. if !"\\$1"_" \
+. ti \\n(fiu
+.\}
+.el \
+\{\
+. ev 2
+\!.(f \\$1
+.\}
+..
+.de )f
+.ie "\\n(.z"|f" \
+\{\
+. if \\n* \
+. nr $f +1
+. ds * \\*[\\n($f\\*]\k*
+. rr *
+. in 0
+. da
+. ev
+. if \\n(_w<\\n(dl \
+. nr _w \\n(dl
+. nr _b +\\n(dn
+. ch @f -\\n(_bu
+. if \\n(.p-\\n(_b<=\\n(nl \
+. ch @f \\n(nlu+\n(.Vu
+. nr dn _D
+. rr _D
+.\}
+.el \
+\{\
+. br
+\!.)f
+. ev
+.\}
+..
+.if \n(ff<=0 \
+. nr ff 1
+.if \n(fp<=0 \
+. nr fp 8
+.nr c. \n(_0
diff --git a/tmac/me/index.me b/tmac/me/index.me
new file mode 100644
index 00000000..04b851e8
--- /dev/null
+++ b/tmac/me/index.me
@@ -0,0 +1,70 @@
+.nr _0 \n(c.
+.\" @(#)index.me 2.6 12/10/80
+.\" This version has had comments stripped; an unstripped version is available.
+.de (x
+.ie !"\\n(.z"" \
+\{\
+. ev 2
+\!\\!.(x \\$1
+.\}
+.el \
+\{\
+. ds |X x
+. if \\n(.$ \
+. ds |X \\$1
+. am %\\*(|X )x
+. sp \\n(xsu
+.\}
+..
+.de )x
+.ie "\\n(.z"" \
+\{\
+. ds |x \\n%
+. if \\n(.$ \
+. ds |x \\$1
+. if "\\*(|x"_" \
+. ig ..
+. am %\\*(|X ..
+. if \w"\\$2">(\\n(.l-\\n(.i-\\n(.k) \
+. ti +\\n(xuu
+\\\\a\\\\t\\$2\\*(|x
+...
+. rm |x
+. rm |X
+.\}
+.el \
+\{\
+\!\\!.)x \\$1 \\$2
+. br
+. ev
+.\}
+..
+.de xp
+.br
+.@C 2
+.ls 1
+.vs \\n(.su*\\n($Ru
+.fi
+.ds |X x
+.if \\n(.$ \
+. ds |X \\$1
+.xl -(\\n(xuu+\w'...'u)
+.di |x
+.%\\*(|X
+.br
+.di
+.rm %\\*(|X
+.xl \\n($lu
+.rm |X
+.ev
+.nf
+.in 0
+.ta \\n(.lu-\\n(xuuR \\n(.luR
+.|x
+.fi
+.in
+.rm |x
+..
+.if \n(xu<=0 \
+. nr xu 0.5i
+.nr c. \n(_0
diff --git a/tmac/me/local.me b/tmac/me/local.me
new file mode 100644
index 00000000..80c72bf4
--- /dev/null
+++ b/tmac/me/local.me
@@ -0,0 +1,10 @@
+.nr _0 \n(c.
+.\" this file may contain local macros, which are initialized with
+.\" the ".lo" request. All macros and number registers in this file
+.\" should be named ".*X", where X is any letter (upper or lower case)
+.\" or digit, to avoid naming conflicts.
+.\"
+.\" @(#)local.me 2.1 8/18/80
+.\" This version has had comments stripped; an unstripped version is available.
+. \" *** insert new definitions before this line ***
+.nr c. \n(_0
diff --git a/tmac/me/null.me b/tmac/me/null.me
new file mode 100644
index 00000000..ad6083fd
--- /dev/null
+++ b/tmac/me/null.me
@@ -0,0 +1,3 @@
+.\" @(#)null.me 2.1 8/18/80
+.\" This version has had comments stripped; an unstripped version is available.
+.cc .
diff --git a/tmac/me/revisions b/tmac/me/revisions
new file mode 100644
index 00000000..07c397ad
--- /dev/null
+++ b/tmac/me/revisions
@@ -0,0 +1,157 @@
+2.9 10 Dec 80
+-- More stuff to make indices inside keeps work correctly.
+
+2.8 10 Nov 80
+-- Had .)c do a .br to insure that the final line is forced out.
+
+2.7 24 Sep 80
+-- Fixed bug in 2.6
+
+2.6 23 Sep 80
+-- Fixed problem introduced by 2.2 which occured in footnotes and
+ index entries in filled keeps
+
+2.5 29 Aug 80
+-- Changed umlaut to not be so tricky -- it seems to backfire.
+
+2.4 25 Aug 80
+-- Fixed bug in indices caused by 2.2.
+
+2.3 20 Aug 80
+-- Fixed bug in footnotes caused by 2.2.
+-- Changed temp file names that macros that do dynamic loading rename
+ themselves to. For example, if you say '.TS ... .(f' when both of
+ them have been used for the first time, the @T macro got used twice.
+
+2.2 18 Aug 80
+-- Suspended footnote & index processing until final output
+ (so that they will work properly in keeps).
+
+2.1 18 Aug 80
+-- Release 2. No changes.
+
+Mod 28 18 Aug 80
+-- If \nv is set on entry, handle .po differently (for vtroff).
+-- Allow ".nr fi 0".
+
+Mod 27 30 Jun 80
+-- Put in a cludge to try to make multi-columned output work
+ with wide floating keeps. Moves all wide keeps to the top
+ of the next real page.
+
+Mod 26 9 Nov 79
+-- Fixed footnote bug that caused the first line of footnotes
+ that were broken across a page to be indented.
+
+Mod 25 1 Oct 79
+-- Fixed footnote bug that caused footnotes invoked at the
+ top of pages to come out in bold font.
+-- Fixed equation bug that caused equations at the top of
+ page to be improperly centered.
+
+Mod 24 27 Sep 79
+-- Changed delimiter in all \w's to " from ', to allow for
+ apostrophes in labels.
+-- Increased footnote fudge factor.
+-- Changed \x factor in \*[ & \*< to be one half previous value.
+
+Mod 23 24 Aug 79
+-- Changed .ip to start new line if the tag is too long for
+ the space provided.
+
+Mod 22 11 Jul 79
+-- Changed .ac to handle new paper (with second parameter
+ == "*").
+
+Mod 21 24 Apr 79
+-- Changed \*[ and \*< to use \x -- to avoid line overlap.
+
+Mod 20 6 Apr 79
+-- Changed 12-pitch DTC terminals to still space 1/6 inch (instead
+ of 1/8 inch), unless the 'x' register is non-zero -- do-able with
+ the -rx1 option on the nroff command line.
+
+Mod 19 28 Mar 79
+-- Had .ep do a .rs, to avoid occasional problems (like with
+ .+c (again).
+-- Added the 'X' register: if non-zero on startup on a 12-pitch
+ terminal, it outputs 6 LPI instead of 8 LPI.
+
+Mod 18 26 Mar 79
+-- Had .+c reset indent, to solve problems of prelim material
+ after a .ip (as with references)
+
+Mod 17 19 Mar 79
+-- Fixed a bug in .++ which caused it to renumber pages incorrectly,
+ the result of nroff starting a new page immediately upon reaching
+ the end of the previous page (damn!).
+
+Mod 16 8 Mar 79
+-- Fixed a bug in .++ which caused it to change page number formats
+ before forcing out the page.
+-- Changed tmac.e so that extra '.so's to the package will next to
+ 'null.me'.
+-- Changed .sh so that a title of "_" will cause section depth change
+ side-effects only (base indent will remain the same, and no output
+ will occur).
+
+Mod 15a 7 Mar 79
+-- Fixed a bug in Mod 15 which caused .ip's to fail.
+
+Mod 15 2 Mar 79
+-- Changed .@p to do paragraph indents normally in keeps, which
+ will override the indent parameter in keeps with paragraph
+ forms in them (use .ba to fix this).
+
+Mod 14 23 Feb 79
+-- Fixed .ip so it would hyphenate correctly.
+
+Mod 13 16 Feb 79
+-- Added .rs before eqn title output to fix vertical centering
+ problem.
+
+Mod 12 15 Feb 79
+-- Changed NROFF bold font to be regular .ul (.cu is a pain).
+-- Changed .sh to output regular spaces instead of unpaddable
+ spaces.
+-- Fixed bug in .1c with bad line length (didn't reset \n($l).
+
+Mod 11 13 Feb 79
+-- Added hook to .$c to call .$C (for index entries or whatever).
+
+Mod 10 12 Feb 79
+-- Had .xp print in current environment and not reset to single
+ spacing, to allow more control over output format.
+
+Mod 9 26 Dec 78
+-- Fixed yet another problem with equation spacing.
+
+Mod 8 18 Dec 78
+-- Fixed .@q to solve a problem with \n(dn getting lost on
+ equations at top of page.
+
+Mod 7 11 Dec 78
+-- Had .@q (equation output) move to end of equation after
+ equation output (eqn doesn't seem to space quite right).
+
+Mod 6 27 Nov 78
+-- Fixed the umlaut on DTC output to be prettier.
+
+Mod 5 5 Nov 78
+-- Fixed a bug with the second parameter to .ip.
+
+Mod 4 2 Nov 78
+-- Added .uh command (unnumbered heading).
+-- Changed .$p and .sh accordingly.
+
+Mod 3 2 Oct 78
+-- Fixed .ne command in .$p (print section headings).
+
+Mod 2 25 Sep 78
+-- Changed .np to use () instead of [].
+
+Mod 1 12 Sep 78
+-- Fixed footnote fudge factor (curse NROFF!!)
+-- Put "needs" on .(z, .)z.
+
+Mod 0 11 Sep 78
diff --git a/tmac/me/sh.me b/tmac/me/sh.me
new file mode 100644
index 00000000..403cec43
--- /dev/null
+++ b/tmac/me/sh.me
@@ -0,0 +1,108 @@
+.nr _0 \n(c.
+.\" @(#)sh.me 2.1 8/18/80
+.\" This version has had comments stripped; an unstripped version is available.
+.de sh
+.if (\\n(si>0)&(\\n(si<1n) \
+. nr si \\n(sin
+.ce 0
+.@d "\\$1" +1 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8
+.if !"\\$2"_" \
+\{\
+. ds |x \&\\$2
+. $p "\\*(|x" "\\*($n" \\n($0
+. $0 "\\*(|x" "\\*($n" \\n($0
+. rm |x
+.\}
+.nr $p 0 1
+..
+.de @d
+.if !""\\$1" \
+. nr $0 \\$1
+.if \\n($0&(\\n(.$>1) \
+. nr $\\n($0 \\$2
+.ds $n \&\"
+.ie \\n($0>=1 \
+\{\
+. if \\n($1=0 \
+. nr $1 1
+. if (\\n(.$>=3) .if !"\\$3"-" \
+. nr $1 \\$3
+. as $n \\n($1
+.\}
+.el \
+. nr $1 0
+.ie \\n($0>=2 \
+\{\
+. if \\n($2=0 \
+. nr $2 1
+. if (\\n(.$>=4) .if !"\\$4"-" \
+. nr $2 \\$4
+. as $n .\\n($2
+.\}
+.el \
+. nr $2 0
+.ie \\n($0>=3 \
+\{\
+. if \\n($3=0 \
+. nr $3 1
+. if (\\n(.$>=5) .if !"\\$5"-" \
+. nr $3 \\$5
+. as $n .\\n($3
+.\}
+.el \
+. nr $3 0
+.ie \\n($0>=4 \
+\{\
+. if \\n($4=0 \
+. nr $4 1
+. if (\\n(.$>=6) .if !"\\$6"-" \
+. nr $4 \\$6
+. as $n .\\n($4
+.\}
+.el \
+. nr $4 0
+.ie \\n($0>=5 \
+\{\
+. if \\n($5=0 \
+. nr $5 1
+. if (\\n(.$>=7) .if !"\\$7"-" \
+. nr $5 \\$7
+. as $n .\\n($5
+.\}
+.el \
+. nr $5 0
+.ie \\n($0>=6 \
+\{\
+. if \\n($6=0 \
+. nr $6 1
+. if (\\n(.$>=8) .if !"\\$8"-" \
+. nr $6 \\$8
+. as $n .\\n($6
+.\}
+.el \
+. nr $6 0
+..
+.de sx
+.ce 0
+.ul 0
+.nr _0 \\n($0-1
+.if \\n(.$ .nr _0 +1
+.if \\n(.$ .nr _0 \\$1
+.@d \\n(_0
+.rr _0
+.$p "" "" \\n($0
+.nr $p 0 1
+..
+.de uh
+.$p "\\$1"
+.$0 "\\$1"
+..
+.if \n(sf<=0 \
+. nr sf 8
+.if \n(sp<=0 \
+. nr sp 10
+.if \n(ss<=0 \
+. nr ss 12p
+.if \n(si<=0 \
+. nr si 0
+.nr c. \n(_0
diff --git a/tmac/me/tbl.me b/tmac/me/tbl.me
new file mode 100644
index 00000000..3f037c4e
--- /dev/null
+++ b/tmac/me/tbl.me
@@ -0,0 +1,109 @@
+.nr _0 \n(c.
+.\" @(#)tbl.me 2.1 8/18/80
+.\" This version has had comments stripped; an unstripped version is available.
+.de TS
+.sp \\n(bsu
+.@C 1
+.if "\\$1"H" \
+\{\
+. di |h
+. nr ?T 1
+.\}
+.ls 1
+.ch @f -(\\n(_bu+1v)
+..
+.de TH
+.nr T. 0
+.T# 0
+.di
+.nr _i \\n(.i
+.in 0
+.|h
+.in \\n(_iu
+.rr _i
+.mk #T
+..
+.de TE
+.nr ?T 0
+.ch @f -\\n(_bu
+.ev
+.sp \\n(bsu+\\n(.Lv-1v
+.re
+.rr 31
+.rr 32
+.rr 33
+.rr 34
+.rr 35
+.rr 36
+.rr 37
+.rr 38
+.rr 39
+.rr 40
+.rr 41
+.rr 42
+.rr 43
+.rr 44
+.rr 45
+.rr 46
+.rr 47
+.rr 48
+.rr 49
+.rr 50
+.rr 51
+.rr 52
+.rr 53
+.rr 54
+.rr 55
+.rr 56
+.rr 57
+.rr 58
+.rr 59
+.rr 60
+.rr 61
+.rr 62
+.rr 63
+.rr 64
+.rr 65
+.rr 66
+.rr 67
+.rr 68
+.rr 69
+.rr 70
+.rr 71
+.rr 72
+.rr 73
+.rr 74
+.rr 75
+.rr 76
+.rr 77
+.rr 78
+.rr 79
+.rr 80
+.rr 81
+.rr 82
+.rr 83
+.rr 84
+.rr 85
+.rr 86
+.rr 87
+.rr 88
+.rr 89
+.rr 90
+.rr 91
+.rr 92
+.rr 93
+.rr 94
+.rr 95
+.rr 96
+.rr 97
+.rr 98
+.rr 99
+.rr #I
+.rr #T
+.rr #a
+.rr ##
+.rr #-
+.rr #^
+.rr T.
+..
+.nr c. \n(_0
diff --git a/tmac/me/thesis.me b/tmac/me/thesis.me
new file mode 100644
index 00000000..68cc45b7
--- /dev/null
+++ b/tmac/me/thesis.me
@@ -0,0 +1,19 @@
+.nr _0 \n(c.
+.\" Setup for thesis.
+.\" This file should be modified to keep up with the standard
+.\" for a doctoral thesis at Berkeley. Other macros which may
+.\" be useful for a thesis are defined here.
+.\" @(#)thesis.me 2.1 8/18/80
+.\" This version has had comments stripped; an unstripped version is available.
+.nr tf 1
+.he '''%'
+.if n .if \n(_o \
+. po 1.5i
+.if t .po 1.125i
+.ll 5.75i
+.if n .if 1n=0.1i \
+. ll 5.8i
+.m1 1i
+.nr ?t 1
+.ls 2
+.nr c. \n(_0