Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
MACROS.9
Upload User: jnzhq888
Upload Date: 2007-01-18
Package Size: 51694k
Code Size: 24k
Category:
OS Develop
Development Platform:
WINDOWS
- ." Macro package for producing books (based on -ms)
- .nr PS 12
- .nr PZ 12
- ." RT - reset everything to normal state
- .de RT
- .if !\n(1T .BG
- .ce 0
- .if !\n(IK .if !\n(IF .if !\n(IX .if !\n(BE .di
- .ul 0
- .if \n(QP {
- . ll +\n(QIu
- . in -\n(QIu
- . nr QP -1}
- .if \n(NX<=1 .if \n(AJ=0 .ll \n(LLu
- .if \n(IF=0 {
- . ps \n(PS
- . if \n(VS>=41 .vs \n(VSu
- . if \n(VS<=40 .vs \n(VSp}
- .if \n(IP .in -\n(I\n(IRu
- .if \n(IP=0 .nr I0 \n(PIu
- .if \n(IP .nr IP -1
- .ft 1
- .bd 1
- .ta 5n 10n 15n 20n 25n 30n 35n 40n 45n 50n 55n 60n 65n 70n 75n 80n
- .fi
- ..
- . "IZ - initialization
- .de IZ
- .nr TN 0
- .em EM
- .if n .ds [. [
- .if t .ds [. s-2v'-.4m'f1
- .if n .ds .] ]
- .if t .ds .] v'.4m's+2fP
- .if n .ds [o ""
- .if n .ds [c ""
- .if t .ds [o ``
- .if t .ds [c ''
- .ch FO \n(YYu
- .if \n(FM=0 .nr FM 1i
- .nr YY -\n(FMu
- .nr XX 0 1
- .nr IP 0
- .nr PI 5n
- .nr QI 5n
- .nr I0 \n(PIu
- .nr PZ 12
- .nr VZ 13.8p
- .nr PS n(PZ
- .nr VS \n(VZu
- .if !\n(PD .if n .nr PD 1v
- .if !\n(PD .if t .nr PD 0.3v
- .nr ML 3v
- .ps \n(PS
- .if \n(VS>=41 .vs \n(VSu
- .if \n(VS<=40 .vs \n(VSp
- .nr IR 0
- .nr TB 0
- .nr SJ \n(.j
- .nr LL 6i
- .ll \n(LLu
- .nr LT \n(.l
- .lt \n(LTu
- .ev 1
- .nr FL \n(LLu*11u/12u
- .ll \n(FLu
- .ps 10
- .vs 12p
- .ev
- .if \*(CH .ds CH "(hy \\n(PN (hy
- .wh 0 NP
- .wh -\n(FMu FO
- .ch FO 16i
- .wh -\n(FMu FX
- .ch FO -\n(FMu
- .if t .wh -\n(FMu/2u BT
- .if n .wh -\n(FMu/2u-1v BT
- ..
- . "KS keep - for keep release features. As in IFM
- .de KS
- .nr KN \n(.u
- .if \n(IK=0 .if \n(IF=0 .KQ
- .nr IK +1
- ..
- . "KQ - real keep processor
- .de KQ
- .br
- .nr KI \n(.i
- .ev 2
- .br
- .in \n(KIu
- .ps \n(PS
- .if \n(VS>40 .vs \n(VSu
- .if \n(VS<=39 .vs \n(VSp
- .ll \n(LLu
- .lt \n(LTu
- .if \n(NX>1 .ll \n(CWu
- .if \n(NX>1 .lt \n(CWu
- .di KK
- .nr TB 0
- .nr KV 0
- ..
- . "KF - floating keep
- .de KF
- .nr KN \n(.u
- .if !\n(IK .FQ
- .nr IK +1
- ..
- . "FQ real floating keep processor
- .de FQ
- .nr KI \n(.i
- .ev 2
- .br
- .in \n(KIu
- .ps \n(PS
- .if \n(VS>40 .vs \n(VSu
- .if \n(VS<=39 .vs \n(VSp
- .ll \n(LLu
- .lt \n(LTu
- .if \n(NX>1 .ll \n(CWu
- .if \n(NX>1 .lt \n(CWu
- .di KK
- .nr TB 1
- .nr KV 0
- ..
- . "KP - keep full page
- .de KP
- .nr KV 1
- ..
- . "KE release - everything between keep and release is together
- .de KE
- .if \n(IK .if !\n(IK-1 .if \n(IF=0 .RQ
- .if \n(IK .nr IK -1
- ..
- . "RQ real release
- .de RQ
- .br
- .di
- .nr NF 0
- .if \n(dn-\n(.t .nr NF 1
- .if \n(TC .nr NF 1
- .if \n(KV .nr NF 1 " if KV on full page needed, doesn't fit
- .if \n(NF .if !\n(TB .sp 11i
- .if !\n(NF .if \n(TB .nr TB 0
- .nf
- .rs
- .nr TC 5
- .in 0
- .ls 1
- .if \n(TB=0 .ev
- .if \n(TB=0 .br
- .if \n(TB=0 .ev 2
- .if \n(TB=0 .KK
- .ls
- .ce 0
- .if \n(TB=0 .rm KK
- .if \n(TB .da KJ
- .if \n(TB !.KD \n(dn \n(KV
- .if \n(TB .KK
- .if \n(TB .di
- .nr TC \n(TB
- .if \n(KN .fi
- .in
- .ev
- ..
- .de EQ "equation, breakout and display
- .nr EF \n(.u
- .rm EE
- .nr LE 1 " 1 is center
- .ds EL \$1
- .if "\$1"L" .ds EL \$2
- .if "\$1"L" .nr LE 0
- .if "\$1"C" .ds EL \$2
- .if "\$1"I" .nr LE 0
- .if "\$1"I" .ds EE \h'|10n'
- .if "\$1"I" .if !"\$3"" .ds EE \h'\$3'
- .if "\$1"I" .ds EL \$2
- .if \n(YE>0 .nf
- .di EZ
- ..
- .de EN " end of a displayed equation
- .br
- .di
- .rm EZ
- .nr ZN \n(dn
- .if \n(ZN>0 .if \n(YE=0 .LP
- .if \n(ZN=0 .if !"\*(EL"" .nr ZN 1
- .if "\n(.z"" .if \n(ZN>0 .if !\n(nl=\n(PE .if t .sp .5
- .if "\n(.z"" .if \n(ZN>0 .if !\n(nl=\n(PE .if n .sp 1
- .if !"\n(.z"" .if \n(ZN>0 .if !\n(.d=\n(PE .if t .sp .5
- .if !"\n(.z"" .if \n(ZN>0 .if !\n(.d=\n(PE .if n .sp 1
- 'pc
- .if \n(BD>0 .nr LE 0 " can't mean centering in this case.
- .if \n(MK>0 .if \n(LE=1 .ds EE \h'|10n'
- .if \n(MK>0 .nr LE 0 " don't center if mark/lineup
- 'lt \n(.lu
- .if \n(EP=0 .if \n(ZN>0 .if \n(LE>0 .tl (ts(ts\*(10(ts\*(EL(ts
- .if \n(EP=0 .if \n(ZN>0 .if \n(LE=0 .if \n(BD=0 .tl (ts\*(EE\*(10(ts(ts\*(EL(ts
- .if \n(EP=0 .if \n(ZN>0 .if \n(LE=0 .if \n(BD>0 .if \n(BD<\w(ts\*(10(ts .nr BD \w(ts\*(10(ts
- .if \n(EP=0 .if \n(ZN>0 .if \n(LE=0 .if \n(BD>0 !\*(10\t\*(EL
- .if \n(EP>0 .if \n(ZN>0 .if \n(LE>0 .tl (ts\*(EL(ts\*(10(ts(ts
- .if \n(EP>0 .if \n(ZN>0 .if \n(LE=0 .if \n(BD=0 .tl (ts\*(EL\*(EE\*(10(ts(ts(ts
- .if \n(EP>0 .if \n(ZN>0 .if \n(LE=0 .if \n(BD>0 .if \n(BD<\w(ts\*(10(ts .nr BD \w(ts\*(10(ts
- .if \n(EP>0 .if \n(ZN>0 .if \n(LE=0 .if \n(BD>0 !\h'-\\n(.iu'\*(EL\h'|0'\*(10
- .".di EZ " GCOS patch
- ."\*(10 " GCOS patch
- .".br " GCOS patch
- .".di " GCOS patch
- .".rm EZ " GCOS patch
- 'lt \n(LLu
- 'pc %
- .if \n(YE>0 .if \n(EF>0 .fi
- .rm EL 10 11 12 13 14 15 16 17 18 19 20 21 22 23
- .rr 10 11 12 13 14 15 16 17 18 19 20 21 22 23
- .if \n(ZN>0 .if t .sp .5
- .if \n(ZN>0 .if n .sp
- .if "\n(.z"" .nr PE \n(nl
- .if !"\n(.z"" .nr PE \n(.d
- .nr z 72-((\n(nl-\n(HM)%72)
- .if \n(nl<\n(HM .nr z 0
- .if \nz>0 .if \nz<60 .sp \nzu "force post equation text to whole line
- .if \nz>59 .if \nz<72 .sp \nzu-72u "move backwards a fraction of a pica
- ..
- .de ME
- .nr SJ \n(.j
- .if \n(LL>0 .nr LT \n(LL
- .nr YE 1
- .if \n(PO=0 .nr PO \n(.o
- .if \n(mo-0 .ds MO January
- .if \n(mo-1 .ds MO February
- .if \n(mo-2 .ds MO March
- .if \n(mo-3 .ds MO April
- .if \n(mo-4 .ds MO May
- .if \n(mo-5 .ds MO June
- .if \n(mo-6 .ds MO July
- .if \n(mo-7 .ds MO August
- .if \n(mo-8 .ds MO September
- .if \n(mo-9 .ds MO October
- .if \n(mo-10 .ds MO November
- .if \n(mo-11 .ds MO December
- .if \n(dw-0 .ds DW Sunday
- .if \n(dw-1 .ds DW Monday
- .if \n(dw-2 .ds DW Tuesday
- .if \n(dw-3 .ds DW Wednesday
- .if \n(dw-4 .ds DW Thursday
- .if \n(dw-5 .ds DW Friday
- .if \n(dw-6 .ds DW Saturday
- .if "\*(DY"" .ds DY \*(MO \n(dy, 19\n(yr
- .if "\*(CF"" .if n .ds CF "\*(DY
- ..
- . "EM end up macro - process left over keep-release
- .de EM
- .br
- .if \n(TB=0 .if t .wh -1p CM
- .if \n(TB &c
- .if \n(TB 'bp
- .if \n(TB .NP
- .if \n(TB .ch CM 160
- ..
- . "NP new page
- .de NP
- .if \n(FM+\n(HM>=\n(.p .tm Margins bigger than page length.
- .if \n(FM+\n(HM>=\n(.p .ab
- .if \n(FM+\n(HM>=\n(.p .ex
- .nr PX \n(.s
- .nr PF \n(.f
- .nr PV \n(.v
- .if t .CM
- .if \n(HM=0 .nr HM 1i
- 'sp \n(HMu/2u
- .lt \n(LTu
- .ps \n(PS
- .vs \n(PS+2
- .ft 1
- .if \n(PO>0 .po \n(POu
- .PT
- .ps \n(PX
- .vs \n(PVu
- .ft \n(PF
- 'sp |\n(HMu
- .nr XX 0 1
- .nr YY 0-\n(FMu
- .ch FO 16i
- .ch FX 17i
- .ch FO \n(.pu-\n(FMu
- .ch FX \n(.pu-\n(FMu
- .if \n(MF .FV
- .nr MF 0
- .mk
- .os
- .ev 1
- .if \n(TD=0 .if \n(TC<5 .XK
- .nr TC 0
- .ns
- .ev
- .nr TQ \n(.i
- .nr TK \n(.u
- .if \n(IT>0 {
- . in 0
- . nf
- . TT
- . in \n(TQu
- . if \n(TK .fi
- }
- .mk #T
- .if t .if \n(.o+\n(LL>7.75i .tm Offset (\n(.o) + line length (\n(LL) exceeds 7.75 inches, too wide
- ..
- .de XK
- .nr TD 1
- .nf
- .ls 1
- .in 0
- .rn KJ KL
- .KL
- .rm KL
- .if "\n(.z"KJ" .di
- .nr TB 0
- .if "\n(.z"KJ" .nr TB 1
- .br
- .in
- .ls
- .fi
- .if (\n(nl+1v)>(\n(.p-\n(FM) .if \n(NX>1 .RC
- .if (\n(nl+1v)>(\n(.p-\n(FM) .if \n(NX<1 .bp
- .nr TD 0
- ..
- .de KD
- .nr KM 0
- .if "\n(.z"" .if \$2>0 .if \n(nl>\n(HM .if (\n(nl+1v)<(\n(.p-\n(FM) .di KJ
- .if "\n(.z"" .if \n(nl>\n(HM .if \$2>0 .sp 15i " full page figure must have new page
- .if "\n(.z"" .if \n(nl>\n(HM .if \$2=0 .if (\n(nl+1v)>(\n(.p-\n(FM) .sp 15i
- .if "\n(.z"KJ" .nr KM 1 " KM is 1 if in a rediversion of keeps
- .if \n(KM>0 !.KD \$1 \$2
- .nr KR \n(.t
- .if \n(nl<=\n(HM .nr KR 32767
- .if \n(KM=0 .if \n(KR<\$1 .di KJ
- .if \n(KM=0 .if \n(KR<\$1 .nr KM 1
- .if \n(KM=0 .if \$2>0 .if (\n(nl+1v)>(\n(.p-\n(FM) .sp 15i
- .rs
- .if \n(KM=0 .if \$2>0 .sp \n(.tu-\$1u
- ..
- .de PT
- .lt \n(LLu
- .pc %
- .nr PN \n%
- ....if \n%-1 .tl '\*(LH'\*(CH'\*(RH'
- .lt \n(.lu
- ..
- . "FO - footer of page
- .de FO
- .rn FO FZ
- .if \n(K1>0 .tm This memo has a multi-page cover sheet. You are
- .if \n(K1>0 .tm rebuked in the name of the Committee on Technical Memoranda.
- .if \n(IT>0 .nr T. 1
- .if \n(IT>0 .if \n(FC=0 .T# 1
- .if \n(IT>0 .br
- .nr FC +1
- .if \n(NX<2 .nr WF 0
- .nr dn 0
- .if \n(FC<=1 .if \n(XX .XF
- .rn FZ FO
- .nr MF 0
- .if \n(dn .nr MF 1
- .if !\n(WF .nr YY 0-\n(FMu
- .if !\n(WF .ch FO \n(YYu
- .if !\n(dn .nr WF 0
- .if \n(FC<=1 .if \n(XX=0 .if \n(NX>1 .RC
- .nr x 7176u-\n(.d
- .if nL=1 .if \n(FC<=1 .if \n(XX=0 .if \n(NX<1 'tm Chap=\na page=\n% short=\nx
- .if \n(FC<=1 .if \n(XX=0 .if \n(NX<1 'bp
- .nr FC -1
- .if \n(ML>0 .ne \n(MLu
- ..
- . "2C - begin double column
- .de 2C
- .MC " default MC is double column
- ..
- .de MC " multiple columns- arg is line length
- .nr L1 \n(LL*7/15
- .if \n(.$>0 .nr L1 \$1n
- .nr GW 0-1
- .if \n(.$>1 .nr GW \$1n
- .nr NQ \n(LL/\n(L1
- .if \n(NQ<1 .nr NQ 1
- .if \n(NQ>2 .if (\n(LL%\n(L1)=0 .nr NQ -1
- .if \n(1T=0 {
- . BG
- . if n .sp 4
- . if t .sp 2}
- .if \n(NX=0 .nr NX 1
- .if !\n(NX=\n(NQ {
- . RT
- . if \n(NX>1 .bp
- . mk
- . nr NC 1
- . po \n(POu}
- .if \n(NQ>1 .hy 14
- .nr NX \n(NQ
- .nr CW \n(L1
- .ll \n(CWu
- .nr FL \n(CWu*11u/12u
- .if \n(NX>1 .nr GW (\n(LL-(\n(NX*\n(CW))/(\n(NX-1)
- .nr RO \n(CW+\n(GW
- .ns
- ..
- .de RC
- .ie \n(NC>=\n(NX .C2
- .el .C1
- ..
- .de C1
- .rt
- .po +\n(ROu
- .nr NC +1
- .if \n(NC>\n(NX .nr NC 1
- .nr XX 0 1
- .if \n(MF .FV
- .ch FX \n(.pu-\n(FMu
- .ev 1
- .if \n(TB .XK
- .nr TC 0
- .ev
- .nr TQ \n(.i
- .if \n(IT>0 .in 0
- .if \n(IT>0 .TT
- .if \n(IT>0 .in \n(TQu
- .mk #T
- .ns
- ..
- .de C2
- .po \n(POu
- .nr NC +1
- .if \n(NC>\n(NX .nr NC 1
- 'bp
- ..
- . "1C - return to single column format
- .de 1C
- .MC \n(LLu
- .hy 14
- ..
- . ".de R3
- . ".pl 102
- . ".nr LT \n(.l
- . "..
- .de BT
- .nr PX \n(.s
- .nr PF \n(.f
- .ft 1
- .ps \n(PS
- 'lt \n(LTu
- .po \n(POu
- .if \n%>0 .tl '\*(LF'\*(CF'\*(RF'
- .ft \n(PF
- .ps \n(PX
- ..
- . "PP - paragraph
- .de PP
- .RT
- .if \n(1T .sp \n(PDu
- .ti +\n(PIu
- ..
- . "SH - (unnumbered) section heading
- .de SH
- .ti \n(.iu
- .RT
- .if \n(1T .sp 1
- .if !\n(1T .BG
- .RT
- .ne 4
- .ft 3
- ..
- . "NH - numbered heading
- .de NH
- .RT
- .if \n(1T .sp 1
- .if !\n(1T .BG
- .RT
- .ne 4
- .ft 3
- .nr NS \$1
- .if !\n(.$ .nr NS 1
- .if !\n(NS .nr NS 1
- .nr H\n(NS +1
- .if !\n(NS-4 .nr H5 0
- .if !\n(NS-3 .nr H4 0
- .if !\n(NS-2 .nr H3 0
- .if !\n(NS-1 .nr H2 0
- .if !\$1 .if \n(.$ .nr H1 1
- .ds SN \n(H1.
- .if \na=0 .ds SN \*(CN.
- .ti \n(.iu
- .if \n(NS-1 .as SN \n(H2.
- .if \n(NS-2 .as SN \n(H3.
- .if \n(NS-3 .as SN \n(H4.
- .if \n(NS-4 .as SN \n(H5.
- \*(SN
- ..
- . "BG - begin, execute at first PP
- .de BG
- .br
- .ME
- .rm ME
- .di
- .ce 0
- .nr KI 0
- .hy 14
- .nr 1T 1
- .S\n(ST
- .rm S0
- .rm S1
- .rm S2
- .rm S3
- .rm OD
- .rm OK
- .rm TX
- .rm AX
- .rm WT
- .rm CS
- .rm TM
- .rm IM
- .rm MF
- .rm MR
- .rm RP
- .rm I1
- .rm I2
- .rm I3
- .rm I4
- .rm I5
- .rm CB
- .rm E1
- .rm E2
- .de TL
- .ft 3
- .sp
- .if n .ul 100
- .ce 100
- .ps +2
- \..
- .de AU
- .ft 2
- .if n .ul 0
- .ce 100
- .sp
- .NL
- \..
- .de AI
- .ft 1
- .ce 100
- .if n .ul 0
- .if n .sp
- .if t .sp .5
- .NL
- \..
- .RA
- .rm RA
- .rn FJ FS
- .rn FK FE
- .nf
- .ev 1
- .ps \n(PS-2
- .vs \n(.s+2p
- .ev
- .if \n(KG=0 .nr FP 0
- .if \n(GA>1 .if \n(KG=0 .nr GA 0 " next UNIX must be flagged.
- .nr KG 0
- .if \n(FP>0 .FS
- .if \n(FP>0 .FG
- .if \n(FP>0 .FE
- .br
- .if \n(TV>0 .if n .sp 2
- .if \n(TV>0 .if t .sp 1
- .fi
- .ll \n(LLu
- ..
- .de RA "redefine abstract macros
- .de AB
- .br
- .if !\n(1T .BG
- .ce 1
- .sp 1
- .if \n(.$=0 ABSTRACT
- .if \n(.$>0 .if !"\$1"-" .if !"\$1"no" \$1
- .if \n(.$=0 .sp
- .if \n(.$>0 .if !"\$1"-" .if !"\$1"no" .sp
- .sp 1
- .nr AJ 1
- .in +\n(.lu/12u
- .ll -\n(.lu/12u
- .RT
- \..
- .de AE
- .nr AJ 0
- .br
- .in 0
- .ll \n(LLu
- .if \n(VS>=41 .vs \n(VSu
- .if \n(VS<=40 .vs \n(VSp
- \..
- ..
- . "IP - indented paragraph
- .de IP
- .RT
- .if !\n(IP .nr IP +1
- .sp \n(PDu
- .if \n(.$-1 .nr I\n(IR \$2n
- .in +\n(I\n(IRu
- .nr TY \n(TZ-\n(.i
- .ta \n(I\n(IRu \n(TYuR
- .if \n(.$>0 {
- .ti -\n(I\n(IRu
- &\$1tc}
- ..
- . "LP - left aligned (block) paragraph
- .de LP
- .ti \n(.iu
- .RT
- .if \n(1T .sp \n(PDu
- ..
- .de QP
- .ti \n(.iu
- .RT
- .if \n(1T .sp \n(PDu
- .ne 1.1
- .nr QP 1
- .in +\n(QIu
- .ll -\n(QIu
- .ti \n(.iu
- ..
- . "IE - synonym for .LP
- .de IE
- .LP
- ..
- . "LB - label paragraph
- .de LB
- .in +\n(I\n(IRu
- .ta \n(I\n(IRu
- .if \n(.$ .ti -\n(I\n(IRu
- .if \n(.$ &\$1tc
- ..
- .de XP
- .RT
- .if !\n(IP .nr IP +1
- .sp \n(PDu
- .ne 3
- .if \n(.$=3 .nr I\n(IR \$3n
- .if \n(.$=4 .nr I\n(IR \$4n
- .nr J\n(IR \n(IRu/2u
- .if \n(.$=4 .nr J\n(IR \$3n
- .in +\n(I\n(IRu
- .ta \n(J\n(IRu \n(I\n(IRu
- .ti -\n(I\n(IRu
- \$1t\$2tc
- ..
- . "RS - prepare for double indenting
- .de RS
- .nr IS \n(IP
- .RT
- .nr IP \n(IS
- .if \n(IP>0 .in +\n(I\n(IRu
- .nr IR +1
- .nr I\n(IR \n(PIu
- .in +\n(I\n(IRu
- .nr TY \n(TZ-\n(.i
- .ta \n(TYuR
- ..
- . "RE - retreat to the left
- .de RE
- .nr IS \n(IP
- .RT
- .nr IP \n(IS
- .if \n(IR>0 .nr IR -1
- .if \n(IP<=0 .in -\n(I\n(IRu
- ..
- .de TC
- .nr TZ \n(.lu
- .if \n(.$ .nr TZ \$1n
- .ta \n(TZuR
- ..
- .de TD
- .LP
- .nr TZ 0
- ..
- . "CM - cut mark
- .de CM
- .po 0
- .lt 7.6i
- .ft 1
- .ps 10
- .vs 4p
- .po
- .vs
- .lt
- .ps
- .ft
- ..
- . "B - bold font
- .de B
- .nr PQ \n(.f
- .if t .ft 3
- .if "\$1"" .if n .ul 1000
- .if !"\$1"" .if n .ul 1
- .if t .if !"\$1"" &\$1\f\n(PQ\$2
- .if n .if \n(.$=1 &\$1
- .if n .if \n(.$>1 &\$1\c
- .if n .if \n(.$>1 \&\$2
- ..
- . "R - Roman font
- .de R
- .if n .ul 0
- .ft 1
- ..
- . "I - italic font
- .de I
- .nr PQ \n(.f
- .if t .ft 2
- .if "\$1"" .if n .ul 1000
- .if !"\$1"" .if n .ul 1
- .if t .if !"\$1"" &\$1\f\n(PQ\$2
- .if n .if \n(.$=1 &\$1
- .if n .if \n(.$>1 &\$1\c
- .if n .if \n(.$>1 \&\$2
- ..
- . "TA - tabs set in ens or chars
- .de TA
- .ta \$1n \$2n \$3n \$4n \$5n \$6n \$7n \$8n \$9n
- ..
- . "SM - make smaller size
- .de SM
- .if \n(.$>0 &\$3s-2\$1s0\$2
- .if \n(.$=0 .ps -2
- ..
- . "LG - make larger size
- .de LG
- .ps +2
- ..
- . "NL - return to normal size
- .de NL
- .ps \n(PS
- ..
- . "DA - force date; ND - no date or new date.
- .de DA
- .if \n(.$ .ds DY \$1 \$2 \$3 \$4
- .ds CF \*(DY
- ..
- .de ND
- .ME
- .rm ME
- .ds DY \$1 \$2 \$3 \$4
- .rm CF
- ..
- .de FN
- .FS
- ..
- . "FS - begin footnote
- .de FJ
- 'ce 0
- .di
- .ev1
- .ll \n(FLu
- .da FF
- .br
- .if \n(IF>0 .tm Footnote within footnote-illegal.
- .nr IF 1
- .if !\n+(XX-1 .FA
- ..
- . "FE - footnote end
- .de FK
- .br
- .in 0
- .nr IF 0
- .di
- .ev
- .if !\n(XX-1 .nr dn +\n(.v
- .nr YY -\n(dn
- .if \n(NX=0 .nr WF 1
- .if \n(dl>\n(CW .nr WF 1
- .if (\n(nl+\n(.v)<=(\n(.p+\n(YY) .ch FO \n(YYu
- .if (\n(nl+\n(.v)>(\n(.p+\n(YY) .if \n(nl>(\n(HM+1.5v) .ch FO \n(nlu+\n(.vu
- .if (\n(nl+\n(.v)>(\n(.p+\n(YY) .if \n(nl+\n(FM+1v>\n(.p .ch FX \n(.pu-\n(FMu+2v
- .if (\n(nl+\n(.v)>(\n(.p+\n(YY) .if \n(nl<=(\n(HM+1.5v) .ch FO \n(HMu+(4u*\n(.vu)
- ..
- ." First page footer.
- .de FS
- .ev1
- .br
- .ll \n(FLu
- .da FG
- ..
- .de FE
- .br
- .di
- .nr FP \n(dn
- .if \n(1T=0 .nr KG 1 "not in abstract repeat next page.
- .if "\n(.z"OD" .nr KG 0 " if in OK, don't repeat.
- .ev
- ..
- .de FA
- .if n __________________________
- .if t l'1i'
- .br
- ..
- .de FV
- .FS
- .nf
- .ls 1
- .FY
- .ls
- .fi
- .FE
- ..
- .de FX
- .if \n(XX>0 .di FY
- .if \n(XX>0 .ns
- ..
- .de XF
- .if \n(nlu+1v>(\n(.pu-\n(FMu) .ch FX \n(nlu+1.9v
- .ev1
- .nf
- .ls 1
- .FF
- .rm FF
- .nr XX 0 1
- .br
- .ls
- .di
- .fi
- .ev
- ..
- .de FL
- .ev1
- .nr FL \$1n
- .ll \$1
- .ev
- ..
- .de UL " underline argument, don't italicize
- .if t \$1l'|0(ul'\$2
- .if n .I \$1 \$2
- ..
- .de UX
- UNIX
- ..
- .de US
- the
- .UX
- operating system
- ..
- .de QS
- .br
- .LP
- .in +\n(QIu
- .ll -\n(QIu
- ..
- .de QE
- .br
- .ll +\n(QIu
- .in -\n(QIu
- .LP
- ..
- .de B1 " begin boxed stuff
- .br
- .di BB
- .nr BC 0
- .if "\$1"C" .nr BC 1
- .nr BE 1
- ..
- .de B2 " end boxed stuff
- .br
- .nr BI 1n
- .if \n(.$>0 .nr BI \$1n
- .di
- .nr BE 0
- .nr BW \n(dl
- .nr BH \n(dn
- .ne \n(BHu+\n(.Vu
- .nr BQ \n(.j
- .nf
- .ti 0
- .if \n(BC>0 .in +(\n(.lu-\n(BWu)/2u
- .in +\n(BIu
- .BB
- .in -\n(BIu
- .nr BW +2*\n(BI
- .sp -1
- l'\n(BWu(ul'L'-\n(BHu'l'|0(ul'h'|0'L'\n(BHu'
- .if \n(BC>0 .in -(\n(.lu-\n(BWu)/2u
- .if \n(BQ .fi
- .br
- ..
- .de AT
- .nf
- .sp
- .ne 2
- Attached:
- ..
- .de CT
- .nf
- .sp
- .ne 2
- .ie \n(.$ Copy to \$1:
- .el Copy to:
- ..
- .de BX
- .if t (br|\$1|(brl'|0(rn'l'|0(ul'
- .if n (br\kA|\$1|\kB(brv'-1v'h'|\nBu'l'|\nAu'v'1v'l'|\nAu'
- ..
- .IZ
- .rm IZ
- ." ------------------- VARIABLES ------------------------------
- ." na - Current chapter
- ." nb - Current section
- ." nc - Current subsection
- ." nd - Set to 0 initially, 1 by PT, 2 by .PB Used to control running head
- ." ne - Current equation number
- ." ng - Used to count items in numbered lists
- ." nh - Counts number of times CP has been invoked
- ." nj - Set to 1 iff footer page number needed
- ." nk - Last figure number used
- ." nL - 1 if depth printed for each page
- ." nl - 1 old Agfa length to be used
- ." np - Numbers end-of-chapter problems
- ." nq - 1 for double spaced text, smaller vert. margins
- ." ns - initial page number
- ." nt - Variable part of spacing inside .BI macro
- ." nv - Scratch register in lower case roman numerals
- ." nx - Scratch register
- ." ------------------- GENERAL PARAMETERS ---------------------
- .nr BO 43 " number of lines of text per page
- .nr PO 1.3i
- .po n(PO
- .if nq=1 .ls 2 " -rq1 invokes double spacing
- .nr LL 5.67i
- .if t {
- .nr PL 29.73c
- .nr PI 0.25i}
- .if n {
- .nr LL 80m
- .nr PL 11.0i
- .nr PI 3m}
- .pl n(PLu
- .nr HM (n(PLu-(n(BOu*n(VSu))/2u
- .nr FM n(PLu-(n(HMu+((n(BOu-1u)*n(VSu)+1u)
- .nr xx n(HMu%n(VZu
- .nr HM n(HMu-n(xxu
- .nr FM n(FMu+n(xxu
- .nr t 0 0
- ." ------------------- INITIALIZATION -------------------------
- .nr d 0 0
- .nr e 0 1
- .nr h 0 1
- .nr j 1 0
- .nr t 0 0
- .tr ~
- .ds CT "~ "initially empty
- .ND "suppress date on bottom of page
- .af v i "register v is in lower case roman
- .ch FO -n(FMu
- .ch BT -n(FMu+0.5P
- ." ------------------- ALIGN TEXT TO A WHOLE NUMBER OF PICAS ----
- .de AL
- 'nr xx \n(.du%\n(VZu
- 'nr xy \n(VZu-\n(xx
- 'if \n(xy=\n(VZu .nr xy 0
- 'sp \n(xyu
- ..
- ." ------------------- DIVISION OF TEXT INTO LOGICAL UNITS ----
- ." Define chapter number
- .de CP
- .ds CN \$1
- .ds CX CHAP.
- .if '\$1'A' .ds CX APPENDIX
- .if '\$1'B' .ds CX APPENDIX
- .if '\$1'C' .ds CX APPENDIX
- .if '\$1'D' .ds CX APPENDIX
- .if '\$1'E' .ds CX APPENDIX
- .if '\$1'F' .ds CX APPENDIX
- .if '\$1'A' .nr a 0 0
- .if '\$1'B' .nr a 0 0
- .if '\$1'C' .nr a 0 0
- .if '\$1'D' .nr a 0 0
- .if '\$1'E' .nr a 0 0
- .if '\$1'F' .nr a 0 0
- .nr H1 \$1 0
- .nr H2 0 1
- .nr a \$1 0
- .nr b 0 1
- .nr c 0 1
- .nr d 1 1
- .nr e 0 1
- .nr k 0 1
- .nr s \n%
- .if \nq=1 .PH 6
- .ll \n(LLu
- .nr LT \n(LLu
- .lt \n(LLu
- .ll \n(LLu
- .pl n(PLu
- .po n(POu
- .in 0
- .nr PS \n(PZ
- .nr VS \n(VZu
- .nr PD 0i
- .ds ST
- .ds CT \$2
- .if !'\$3'' .as CT " \$3
- .if \nh .bp
- .rs
- .sp 16P
- .B
- .ps 30
- .vs 32
- .ce 1
- \$1
- .sp 4P
- .ps 18
- .vs 20
- .ce 1
- \$2
- .sp 0.25i
- .if !'\$3'' .ce 1
- .if !'\$3'' \$3
- .ps 10
- .vs 12
- .R
- .nr x \n(.pu/2u
- .sp |\nxu
- .nr h +1 1
- .tr _\(ru
- .AL
- ..
- .de SP
- .sp \$1 "used for temporary (page balancing ) fill
- ..
- .de HS
- .sp 0.5
- ..
- ." Major section (numbered)
- .de SE
- .nr b +1 1
- .nr c 0 1
- .ds ST \$1
- .sp 1
- .NH 2
- \$1
- .sp 1
- ..
- ." Subsection (numbered)
- .de SS
- .nr c +1 1
- .NH 3
- \$1
- .sp 1
- ..
- .de UU
- .SH
- \$1
- .sp 1
- ..
- ."-------------------- PAGE TRANSITION MACROS USED BY -MS ------
- .de PH "select special running heads
- .nr d \$1
- .if \$1=4 .nr j 1
- .ds CT \$2
- ..
- .de PT
- .AL
- .pc %
- .PN \n%
- 'sp |\n(HMu-0.35i
- .ps 10
- ."
- ." nd = 0 means no running head this time, normal next time
- .if \nd=0 {
- .tl '''' " no running head on initial page transition
- .nr j 1 0}
- ."
- ." nd = 1 is normal case: chapter heading even (left) and section odd(right)
- .if \nd=1{
- .if e .tl 'fBs+2%s-2fR'\*(CT'\*(CX~ \*(CN' "normal case even page
- .if o .if \nb>0 .tl 'SEC.~ \*(CN.\nb'\*(ST'fBs+2%s-2fR'
- .if o .if \nb=0 .tl '''fBs+2%s-2fR'}
- .if o .if \nb=-999 .tl '\*(CX~ \*(CN'\*(CT'fBs+2%s-2fR'}
- ."
- ." nd = 2 is for PROBLEMS; even normal, odd CHAP. ... PROBLEMS %
- .if \nd=2{
- .if e .tl 'fBs+2%s-2fR'\*(CT'\*(CX~ \*(CN' "even page PROBLEMS
- .if o .if \nd=2 .tl '\*(CX~ \*(CN'PROBLEMS'fBs+2%s-2fR' }
- ."
- ." nd = 3 is for index, problem solutions & other cases with same odd even hd
- .if \nd=3{
- .if e .tl 'fBs+2%s-2fR'\*(CT''
- .if o .tl ''\*(CT'fBs+2%s-2fR'}
- ."
- ." nd = 4 is like nd = 3, except page numbers are lower case roman
- .if \nd=4{
- .nr v \n%
- .if e .tl 'fBs+2\nvs-2fR'\*(CT''
- .if o .tl ''\*(CT'fBs+2\nvs-2fR'}
- ."
- ." nd = 5 suppresses running heads like nd=0, only it keeps them suppressed
- .if \nd=5 .tl ''''
- ." nd = 6 gives page number in right-hand corner only
- .if \nd=6 .tl '''%'
- .if \nd=0 .nr d 1 0 " henceforth normal running heads
- ..
- .de BT
- .if \n%=\ns{
- .nr x \n(HMu+(\n(BO*\n(VSu)+2P
- 'sp |\nxu
- .nr v \n%
- .ie \nd=4 .tl ''fBs-1\nvs0fP''
- .el .tl ''fBs-1\n%s0fP''}
- .nr j 0 0
- .if \nd=0 .nr d 1 0
- ..
- ."--------------- CHECK FOR INITIAL PAGE NUMBER ---------------
- .de PC
- .if n%<\$1{
- .tm You forgot to set the page number. Run aborted. Use troff -n
- .ex}
- .if n%>\$2{
- .tm You forgot to set the page number. Run aborted. Use troff -n
- .ex}
- ..
- ."-------------------- LISTS OF THINGS ------------------------
- ." Start list
- .de LI
- .nr g 0 1
- .in +0.25i
- .nr LL -0.25i
- .ll -0.25i
- .ne 3v
- .HS
- ..
- ." End list
- .de LX
- .sp 1
- .in -0.25i
- .nr LL +0.25i
- .ll +0.25i
- .LP
- ..
- ." List item
- .de IT
- .HS
- .nr g \ng+1 1
- .ie \ng<10 .IP \ng. 4
- .el .IP \ng. 4
- ..
- ."Short unnumbered lines
- .de UN
- .HS
- ..
- ."-------------------- END OF CHAPTER EXERCISES ---------------
- .de PB
- .nr d 2 0
- .if \nq=1 .PH 6
- .ne 1.5i
- .sp 0.5i
- .ce 1
- .B PROBLEMS
- .sp 1
- .nr p 0 1
- ..
- .de PR
- .ps 11
- .vs 13
- .nr PS 11
- .nr VS 13.01p
- .HS
- .nr p +1 1
- .in w'00. 'u
- .ti -w'00. 'u
- .if \np>9 fB\np.fR~~c
- .if \np<10 fB\np.fR~~c
- ..
- .de AA
- .sp 3
- .if n .nr LL 84m
- .nr PS \n(PZ
- .nr VS \n(VZu
- .nr a \$1 1
- .nr b 0 0
- .nr p 0 1
- .ce 1
- .nr x 1
- .if '\$1'A' .nr x 0
- .if '\$1'B' .nr x 0
- .if '\$1'C' .nr x 0
- .if \nq=1 .PH 6
- .if \nxfBSOLUTIONS TO CHAPTER \$1 PROBLEMSfR
- .if !\nxfBSOLUTIONS TO APPENDIX \$1 PROBLEMSfR
- .sp 1v
- ..
- .de AN
- .HS
- .ps \n(PZ
- .vs \n(VSu
- .nr PS \n(PZ
- .nr VS \n(VZu
- .nr p +1 1
- .in w'00. 'u
- .ti -w'00. 'u
- .if \np>9 fB\np.fR~~c
- .if \np<10 fB\np.fR~~c
- ..
- ."-------------------- BIBLIOGRAPHY ---------------------------
- .de BB
- .sp 2
- .in 0.25i
- ..
- .de BI
- .ps 10
- .vs 12
- .sp \ntu
- .HS
- .if n .HS
- .ti -0.30i
- .R
- ..
- ."-------------------- QUOTES ---------------------------------
- .ds OQ `h'-1p'`
- .ds CQ 'h'-1p''
- ."-------------------- FIGS.-----------------------------------
- .de FC
- 'sp 1v
- .ps 10
- .vs 12
- .in +0.5i
- .ll -0.5i
- .B
- .if '\$1'C' .ce 1
- Fig.|||\*(CN-\n+k.~c
- .R
- ..
- .de BF
- .KF
- 'sp 1v
- .nr TP \n(.s
- .nr TV \n(.v
- .nr TF \n(.f
- .nr r 0 0
- .if \nq=0 .if "\$1"PAGE" .KP
- .if \nq=0 .if "\$1"PAGE" .nr r 1 0
- .if \nq=0 .if !"\$1"PAGE" .sp \$1
- .if \nq=1 .sp 0.5i
- .FC \$2
- ..
- .de EF
- .in -0.5i
- .ll +0.5i
- .ps \n(TP
- .vs \n(TV
- .ft \n(TF
- 'if \nr==0 'sp 30u
- 'AL
- .KE
- ..
- .de NF
- .nr x \nk+1
- .ie !'\$1'X' Fig.~\*(CN-\nx\$1
- .el Figure \*(CN-\nx\$2
- ..
- .de PF
- .ie !'\$1'X' Fig.~\*(CN-\nk\$1
- .el Figure \*(CN-\nk\$2
- ..
- ."-------------------- MULTIPLE BLANK PAGES -------------------
- .de MP
- .if \$1 {
- .KF
- .KP
- .KE
- .MP \$1-1
- .if \$1<2 .nr k +1 1
- }
- ..
- ."-------------------- TABLE OF CONTENTS ----------------------
- .de XT
- .if t .ta 0.4i 0.8i 0.9i \n(LLuR
- .if n .ta 0.3i 1.0i 1.1i 5.0iR
- .ps 11
- .vs 13
- .nr a \$1 0
- .nr b 0 1
- .nr c 0 1
- .sp 0.40i
- .ne 0.3i
- .B
- \s18\$1\s12 \$2 \$3\fR\s11
- .br
- .if !'\$4'' \fB\$4\fR
- .R
- .sp 0.5v
- ..
- .de XE
- .nr b +1 1
- .nr c 0 1
- .HS
- \na.\nb \$1 \$2
- ..
- .de XS
- .nr c +1 1
- \na.\nb.\nc \$1 \$2
- ..
- ."------------------- INDEX -----------------------------------
- .de IL
- .nr PS \n(PZ-2
- .nr VS 12.01p
- .LP
- .nf
- .na
- .sp 2v
- .ne 2
- fBs+4\$1\s0fR
- .sp 1v
- ..
- ."------------------- NEW .B MACRO ----------------------------
- .rm B
- .de B
- .nr PQ \n(.f
- .ft 3
- .if !"\$1"" &\$1\f\n(PQ\$2
- ..
- ."--------------------- FIXES NEEDED TO -MS -------------------
- ." Remove .if n .ul 1000 from .NH
- ." Remove .if n .ul 1000 from .SH
- ." Fix to allow letters as chapter "numbers"
- ."
- ." Here is the b3mac file
- .nr Cs 10
- .fp 5 H
- .ds fm (fm
- .ds em (em
- .de F
- \fI\$1\fR\$2
- ..
- .de CC
- .HS
- ~~~~~\s\n(Cs\f5\$1\fP\s0
- .HS
- .LP
- ..
- .de Cx
- ~~~~~\s\n(Cs\f5\$1\fP\s0\$2
- ..
- .de Cb
- .in +0.25i
- \s\n(Cs
- .HS
- \f5
- ..
- .de Ce
- .HS
- \fR
- .nr PS \n(PZ
- .nr VS \n(VZ
- .LP
- .in -0.25i
- ..
- .de SY
- \$3s-2\$1s+2\$2
- ..
- .de SM
- \$3s-1\$1s+1\$2
- ..
- .de FN
- &\fI\$1\fR\$2
- ..
- .de DI
- &\fI\$1\fR\$2
- ..
- .de FI
- &\fI\$1\fR\$2
- ..
- .de LN
- .nr x \$1+\$2
- \$4line
- .L4 \nx \$3
- ..
- .de LS
- .nr x \$1+\$2
- .nr y \$1+\$3
- .nr z \nx+1
- \$5lines
- .L4 \nx
- .ie \ny=\nz and
- .el to
- .L4 \ny \$4
- ..
- .ds SQ (fmh'-0.05c'(fm
- .de L4
- .ie \$1<10 000\$1\$2
- .el .ie \$1<100 00\$1\$2
- .el .ie \$1<1000 0\$1\$2
- .el \$1\$2
- ..
- .de KW
- f5\$1\$2fR
- ..
- .ds M0 MINIX
- .ds M1 \s-1MINIX\s+1
- .ds M2 \s-2MINIX\s+2
- .ds M9 \s-1MINIX\s+1
- .ds m0 minix
- .de MX
- s-2MINIXs+2\$1
- ..
- .de Ux
- s-2UNIXs+2\$1
- ..
- .tr _(ru
- .de UX
- s-2UNIXs+2\$1
- ..
- .ds Mx \s-1MINIX\s0
- .ds Mp \s-1MINIX-PC\s0
- .ds Ms \s-1MINIX-ST\s0
- .de CW
- f5
- ..
- .de Bu
- .HS
- .IP "(bu" 4
- ..
- .de CD
- .ne 2
- .if t .ta 0.9i 1.15i 2.75i 3.25i 3.75i
- .if n .ta 11m 15m 40m
- .nr x 0 0
- .nr y 0 0
- .nr z 0 0
- .if n #\$1
- .if n .br
- \fBCommand:& \$1\fR
- .br
- ..
- .de SX
- .if \nx<=0 \fBSyntax:& \$1
- .if \nx>0 & \fB\$1
- .nr x 1 1
- .br
- ..
- .de FL
- .if \ny<=0 \fBFlags:& \fB\$1 \fR\$2
- .if \ny>0 & \fB\$1 \fR\$2
- .nr y 1 1
- .br
- ..
- .de EX
- .br
- .nf
- .if \nz<=0 \fB&Examples: \fR\$1 \fR# \$2
- .if \nz>0 & \fR\$1 \fR# \$2
- .nr z 1 1
- .br
- ..
- .de EY
- .br
- .nf
- .if \nz<=0 \fB&Example: \fR\$1 \fR# \$2
- .if \nz>0 & \fR\$1 \fR# \$2
- .nr z 1 1
- .br
- ..