xref: /plan9/sys/lib/tmac/tmac.soft (revision 59cc4ca53493a3c6d2349fe2b7f7c40f7dce7294)
From mel Sat Sep 16 14:46:23 1978
the GE macro places figures.
G8 is zero until the figure is placed
G5 is non-zero if there was an argument
on GS which specifies
1 - top
2 - bottom
3 - next page
4 - at this point
the macros HN - top next pge
HT - top this page
HB - bottom this page
HH : here on this page
The current algorithm is: if it does not fit,
top next page; otherwise if no arg to GS
put it at top or bottom of this page, whichever
is closer (there is a threshold of half the figure
size or something)
if arg to GS is given it governs.

also needs DY for date received as 31 July 1978
.nr yr \\$4 .nr P \\$5-1 .nr P< \\$5 .nr P> \\$6 .. . \" $1 is height, $2 is width in units .. .. .di XX .nr Q1 0 .rn ne NE .nr NB \\$1v .dt \\n(.du+4u \\*(DT .. .vs 9p
SOFTWARE\(emPRACTICE AND EXPERIENCE, VOL. \\*(VN(\\*(NU), \\n(P<-\\n(P> (\\*(MO 20\\n(yr)
.lt \\n(LLu .vs \\n(VSp .. .nr BS 1 .nr ZI 0.3i .nr ZJ 0.3i .vs \\n(VSp .nr L4 \\n(LPu-\\n(LSu .dt \\n(L4u EP .em EM .. Z .CO

.5i .vs 30p

.di TX .nr FR 0 .nr IT 1 ..

.di .dt \\n(L4u \\*(DT

100

.TX
.nr IT 0 ..

.vs \\n(VSp

100 ..

100 ..

..

0 .nr AB 1

.2i SUMMARY .vs \\n(VSp

.5v .. .nr AB 0 .nr FR 0 .nr HI 1

.8v ..

KEY WORDS \c .. .RT .nr FR 1 .. .RT .nr FR 1 ..

0 .nr FR 1 \\$1\h'|\\n(ZIu'\c ..

0 .if \\n(.d>0 .if \\n(.d<1.5v .if \\n(HI=0 .tm Top widow page \\n% (JP)
.nr FR 1 .. .nr HQ \\n(HI .RT .nr HI \\n(HQ .nr FR 1 .nr HI 1 .. .di .nr L1 \\n(dn .ev 1

0

.rs .nr TO 0 .nr P1 \\n(LP-\\n(L1

.nr P1 -\\n(G1
.nr P1 -\\n(G2
.nr P3 \\n(P1
.XX
.nr G1 0
.nr G2 0

F .bp .nr TQ \\n(TP .nr TP 0 .nr G1 \\n(G3 .rn GN GT .nr G3 0 .ev .nr FP 0 .nr Q1 0 .nr L4 \\n(LPu-\\n(LSu .nr L4 -\\n(G1 .nr LX \\n% .af LX 1 .af LX A\} .nr L4 -\\n(C\\n(LXu .di XX .dt \\n(L4u EP .. .ev 1 .rs

T .rs .GT .nr G1 0

F .bp .ev .. .nr C2 \\$2v .nr C1 \\$1 .af C1 1 .af C1 A\} .. .. .nr Q1 +1 \!.FI .. .nr P4 0 .nr P1 -\\n(P4 .nr Q1 -1 .. .nr CN \\$1v .nr L4 \\n(L4+\\n(CN .dt \\n(L4u EP .. . \"argument positions: 1 top here, 2 bottom here, 3 next page, 4 right here .ev 1 .di GD .nr G5 0

..

.di

.nr G0 \\n(dn
.nr G0 +1v
.nr G8 0 \" not placed
.vs \\n(VSp
.ev
..
.GS 2

.vs 2p

\l'.75i' .vs .nr FP 1

\} .. .GE .. .nr KK 1 .nr KG 1 .. .nr KK 0 .nr KG 0 \" KG on if not a floating display .. .da GN .GD .di .nr G3 \\n(dn .nr G8 1 .. .nr L4 -\\n(G0 .dt \\n(L4u \\*(DT .da GT .GD .di .nr G1 +\\n(dn .nr G8 1 .. .da GB .GD .di .nr G2 +\\n(dn .nr G8 1 .nr L4 -\\n(dn .dt \\n(L4u \\*(DT ..

.5v .GD

.5v .nr G8 1 ..

0 .nr FR 1 ..

2v .vs \\n(VS-3

REFERENCES .. .. .lt \\n(.lu .nr Ss \\n(.s .nr Sf \\n(.f .af NU 01 .af VN 01 .af P< 0001 .nr VN \\*(VN .nr NU \\*(NU price = 1.00 if <= 10 pages, otherwise .10/page.
.nr p1 (1+\\n(P>-\\n(P<)*10 .nr p2 \\n(p1%100 .nr p1 \\n(p1/100 .af % 1 .nr Pf \\n(Pf+1 .. .nr EF \\n(.u .nr LE 1 \" 1 is center, 0 is I or L .ev 1 .di EZ .. -----------------------------

0 .di .ev .nr ZN 1 .lt \\n(.lu

.pc .lt \\n(LLu .pc %

.nr PE \\n(.d .. .. .. ..

.nr EX 1 .wh -1p .CM ..

..
.. .po 0 .tl '\(ru''' .po .. .wh 0 CM

.if \\n(.d>0 .if \\n(.d<1.5v .if \\n(HI=0 .tm Top widow page \\n%
Z .vs \\n(VSp .nr HI 0

0 .. . \"ACCENTS say \*'e or \*`e to get e acute or e grave . \"UMLAUT \*:u, etc. . \"TILDE and CIRCUMFLEX . \"dotted arrow . \"czech symbol as in kucera & francis .. . \"NH - numbered heading .nr HQ \\n(HI .RT .nr HI \\n(HQ .nr Nh \\n(Nh+1 .nr FR 1 .nr HI 1

100 \\n(Nh. \c .. . \"Ch - centered, unnumbered heading .RT

100 .. . \"Lh - left-justified, unnumbered heading .RT .. .nr H4 +1 \\n(H1.\\n(H2.\\n(H3.\\n(H4 \\$1 .. .FS \(dg \s-2UNIX\s0 is a registered trademark of X/Open. .FE .nr GA 1\} .. .ie \\n(GA>0 \\$2U\s-2NIX\s0\\$1
.if t \\$2U\s-2NIX\s0*\\$1
.FS * \s-2UNIX\s0 is a registered trademark of X/Open. .FE .nr GA 1\} .. the X operating system .. .so /usr/lib/tmac/tmac.sdisp .nr KK 1 .. .tr |\(or \\$3\f3\\$1\\$2 .. \\$3\s-2\\$1\\s+2\\$2 .. \\$4\\$1\s-2\\$2\s+2\\$3
\\$4\s-2\\$1\\$2\s+2\\$3 .. \\$3\f2\\$1\|\\$2 .. \\$3\\f3\s-2\\$1\s+2\f1\\$2 .. .nr PC \\n(.i

.di PA
.lg 0
.tr _\(ru
.lg 0
.vs 12p
..
.tr --''^^!!**
.lg
.di
.nr PB \\n(.l-\\n(dl-\\n(.i-2n
.nr PB \\n(PB/2
. \" indent; don't center
.nr PB .5i

.5v

A

.5v

.vs \\n(VSp .. .ul \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 .. .ul \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 .. .. .nr NQ \\n(.f \\$3\\f3\\$1\f\\n(NQ\\$2 .. .if \\n(.d>0 .if \\n(.d<1.5v .tm Top widow page \\n%
.Fx \\*([D .[\\$1 .. .QP "\\*([F.\0" \\*([A, unpublished work (\\*([D). .RT .. .QP "\\*([F.\0" .RT .. .QP "\\*([F.\0" \\f3\\*([V\\f1,\} .RT .. .QP "\\*([F.\0" \\f2\\*([T,\\f1 \\*([I, .RT .. .QP "\\*([F.\0" \\*([A, \\*([o\\*([T,\\*([c \\*([R\c .RT .. .QP "\\*([F.\0" \\*([A, \\*([o\\*([T,\\*([c in \\f2\\*([B\\f1\c .RT ..

2v

REFERENCES .nr PS 8 .nr VS 8 .nr PI \w'\s8\0\0.\0'

.rn RP IP .. .. .. ..

\t\\$1\\c .. .RT .nr ZB .4i \\$1\t\\c .. .nr ZJ +.3i .. .nr ZJ -.3i ..

0 .nr FR 1 .. Bell Labs, 600 Mountain Avenue, Murray Hill, New Jersey 07974, U. S. A. .. Bell Labs, Holmdel, New Jersey 07733, U. S. A. .. Bell Labs, Whippany, New Jersey 07981, U. S. A. .. REFER macros .... citations
.][ \\$1 .. .[\\$1 .. the next lines deal with the problem of .[1] or [1].
refer will write "linexxx\*(<.[1]\*(>.
and either "<." or ">." should produce the .;
similarly for ,
.FS

"\\*([F.\0"
.nr %T 2 \\*([A, \\f2\\*([T\\f1, .RT .FE .. .FS .nr [: 0 \\*([A\c\} .nr [: 1 \\f2\\*([T\\f1\c\} .nr [: 1 \\*([O\c .nr [: 1 \\*([D\c\} .RT .FE .. .nr %T 1 \" title font .FS \\f2\\*([J\\f1\c \\*([P\c\} . .RT .FE .. .FS .nr %T 2 \\*([I\c . .RT .FE .. .FS .nr %T 1 \\*([A, \\*([o\\*([T\\*([c, \\*([R\c . .RT .FE .. .FS .nr %T 1 in \\f2\\*([B\\f1\c . .RT .FE .. .[< ..

.. .]> .. .. .[- .. .. this is never executed and just uses up an end-of-file bug.
..