1 '''\" @(#)dcs:csmacros 2.3 5/2/89
3 '''\" a - abstract continuation flag - 0 (no), >0 (yes - number of overflow pages)
4 '''\" b - mercury selections counter
5 '''\" c - distribution continuation flag - 0 (no), 1 (yes)
6 '''\" d - distribution length calculation flag - 0 (no), 1 (yes)
7 '''\" e - complete copy basic distribution length
8 '''\" g - complete copy overflow distribution length
9 '''\" h - cover sheet basic distribution length
10 '''\" i - cover sheet overflow distribution length
12 '''\" k - keyword flag - 0 (none), 1 (some)
13 '''\" l - number of vertical units per line - troff and nroff
14 '''\" m - memorandum type flag - 1 TM, 2 IM, 3 TC
15 '''\" n - document number counter
16 '''\" o - title flag - 0 (no), 1 (yes - vertical size of title diversion)
17 '''\" p - proprietary notice flag - 0 (none), 1 (default notice), 2(BR)
19 '''\" r - security flag - 0 (no), 1 (yes)
20 '''\" s - software flag - 0 (no), 1 (yes)
21 '''\" t - mark title position
22 '''\" u - author count
25 '''\" x - mark scratch position
26 '''\" y - mark scratch position
27 '''\" z - mark scratch position
28 '''\" ra - release to Lucent flag - 0 (no decision), 1 (yes), 2 (no)
29 '''\" an - length abstract footnote diversion
30 '''\" fn - length footnote diversion
31 '''\" as - "in abstract" flag - 0 (no), 1 (yes)
32 '''\" ds - "in display" flag - 0 (no), 1 (yes)
33 '''\" fs - "in footnote" flag - 0 (no), 1 (yes)
34 '''\" bd - block center display flag - 0 (no), 1 (yes)
35 '''\" dv - device flag - 0 (default), 1 (APS-5), 2 (i10), 3 (xerox), 4 (i300), 5 (qms1200), 6 (postscript)
36 '''\" lp - lines per page (nroff - xerox)
37 '''\" tp - total pages (decimal)
38 '''\" tc - total pages (in small roman)
39 '''\" np - page number this page (decimal)
40 '''\" nc - page number this page (in small roman)
41 '''\" lt - vertical size of title diversion (in lines)
42 '''\" lo - vertical size of copy overflow trap (in lines)
43 '''\" la - vertical size of abstract diversion
44 '''\" a1 - vertical size of page 1 portion of abstract
45 '''\" a2 - vertical size of overflow page portion of abstract
46 '''\" ar - vertical size remainder of abstract
47 '''\" fi - save current fill/no-fill (.u)
48 '''\" in - save current indent (.i)
49 '''\" si - standard indent - ens (for paragraphs, displays & equations)
50 '''\" ps - initial point size (.s)
51 '''\" ts - temp point size (only in S macro)
52 '''\" vs - initial vertical spacing (.v)
53 '''\" tv - temp vertical spacing (only in S macro)
54 '''\" b1, b2 - scratch calculations
55 '''\" g1, g2, g3, g4, g5 - complete copy overflow - additional diversion lengths
56 '''\" i1, i2, i3, i4, i5 - cover sheet only overflow - additional diversionlengths
57 '''\" m1 - mark scratch position
58 '''\" :b, :c, :d, :e - scratch (lists only)
59 '''\" :h - SA macro only
60 '''\" ls - nested list level (lists only)
61 '''\" dt - display type (displays & equations)
62 '''\" fc - filing case flag
63 '''\" wp - work project number flag
64 '''\" en - entity flag - 1 (BL), 2 (IS), 3 (TI), 4 (CH)
65 '''\" lg - Lucent logo flag - 0 (not defined), 1 (defined)
66 '''\" oa - organizational approval name counter
67 '''\" aa - ship to itds
69 '''\" a) - mercury info
70 '''\" b) - mercury info
71 '''\" c) - mercury info
72 '''\" e) - equation label
74 '''\" m) - Mailing Label/DRAFT
75 '''\" n) - first document number
76 '''\" o) - proprietary classification heading
77 '''\" p) - proprietary string 1
80 '''\" s) - timestamp string
81 '''\" t) - memo type (TM, IM, TC)
82 '''\" u) - trailing s if multiple author
83 '''\" v) - trailing s if multiple document number
84 '''\" w) - trailing s if multiple filing case
85 '''\" x) - trailing s if multiple work project number
86 '''\" y) - used in lists
87 '''\" z) - used in lists
89 '''\" e( - earlier document number
90 '''\" m( - authors 1-3 sig
91 '''\" n( - authors 4-6 sig
92 '''\" o( - authors 7-9 sig
93 '''\" p( - authors 10-12 sig
94 '''\" r( - responsible person
95 '''\" s( - S software string
96 '''\" t( - memo type ("for Technical Memorandum", etc.)
97 '''\" u( - organizational approval 1-3 sig
98 '''\" v( - organizational approval 4-6 sig
99 '''\" w( - organizational approval 7-9 sig
100 '''\" x( - organizational approval 10-12 sig
102 '''\" lG - Lucent logo
103 '''\" 10 - used in equations
104 '''\" ve - csmacros version
105 '''\" e1,e2,e3,e4 - entity info
108 '''\" aV - author info section
109 '''\" cA - complete copy addressee primary
110 '''\" cO - complete copy addressee overflow
111 '''\" cU, cV, cW, cX, cY, cZ - complete copy addressee overflow (previously lost)
112 '''\" dA - cover sheet addressee primary
113 '''\" dO - cover sheet addressee overflow
114 '''\" dU, dV, dW, dX, dY, dZ - cover sheet only addressee overflow (previously lost)
115 '''\" dM - document number info
118 '''\" fB - filing case info
120 '''\" wO - work project number info
121 '''\" aN - abstract footnote
124 '''\" macros to collect information
125 '''\" aC - Lucent company
129 '''\" FS - footnote start
130 '''\" FE - footnote end
131 '''\" AS - abstract start
132 '''\" AE - abstract end
133 '''\" OK - keyword info
134 '''\" MT - document type
135 '''\" dN - document number info
136 '''\" oA - organization approval name
137 '''\" eD - earlier document number
138 '''\" fC - filing case
140 '''\" wP - work project info
141 '''\" mE - mercury selections (7 argument version)
142 '''\" mC - mercury codes (three argument version)
143 '''\" Mc - mercury codes (one argument version)
144 '''\" PM - proprietary marking
145 '''\" gS - government security
146 '''\" rA - release to Lucent employees (superceded by fA)
147 '''\" fA - future Lucent distribution (supercedes rA)
148 '''\" sF - software-related
149 '''\" cC - complete copy addressee list start
150 '''\" cD - complete copy overflow
151 '''\" cS - cover sheet only addressee list start
152 '''\" cT - cover sheet only overflow
153 '''\" zZ - complete copy overflow (previously lost)
154 '''\" fF - complete copy overflow (aux)
155 '''\" wW - cover sheet overflow (previously lost)
156 '''\" gG - cover sheet only overflow (aux)
157 '''\" cE - addressee list end
158 '''\" eE - addressee list end (aux)
159 '''\" macros to help format document
160 '''\" B - change to bold font
161 '''\" I - change to italic font
162 '''\" R - change to roman font
163 '''\" S - set point size and vertical spacing
164 '''\" sP - space 1 vertical space
166 '''\" HC - set hyphenation indicator
167 '''\" iN - font and size re-initialization
168 '''\" DS - display start
169 '''\" DE - display end
170 '''\" EQ - equation start
171 '''\" EN - equation end
172 '''\" VL - variable-item list
173 '''\" ML - marked list
178 '''\" yY - abstract overflow
179 '''\" aT - abstract overflow trap
180 '''\" tK - thick lines
182 '''\" bX - box with X
183 '''\" tH - title heading
184 '''\" cH - continuation header
185 '''\" dH - distribution list headers
186 '''\" oH - overflow distribution list headers
187 '''\" eP - eject distribution continuation page
188 '''\" cP - continuation page
189 '''\" dP - continuation page (aux)
190 '''\" tP - compute pages and diversion lengths
192 '''\" dL - compute basic distribution length
193 '''\" CS - output cover sheet
262 '''\" initialize lines per page
265 '''\" initialize device register
267 .if '\*(.T'aps' .nr dv 1
268 .if '\*(.T'i10' .nr dv 2
269 .if '\*(.T'X97.tim10p' .nr dv 3
270 .if '\*(.T'X97.tim12p' .nr dv 3
271 .if '\*(.T'X97.ti10p' .nr dv 3
272 .if '\*(.T'X97.ti12p' .nr dv 3
273 .if '\*(.T'i300' .nr dv 4
274 .if '\*(.T'qms' .nr dv 5
275 .if '\*(.T'post' .nr dv 6
276 '''\" initialize font positions
292 '''\" initialize units per vertical space
298 '''\" initialize standard indent
341 '''\" initialize Lucent logo
342 '''\" eventually substitute LH for Lb (DWB 2)
343 .ie \n(dv=5 .ds lG \s10\f(ATx\fP\f\\nv\fP\s0
344 .el .ds lG \s36\(LH\s0
345 '''\" initialize entity strings
348 .ds e3 "LUCENT BELL LABORATORIES
349 .ds e4 "Department Head
350 '''\" initialize trademark symbol string
351 .if t .ds Tm \v'-0.5m'\s-4TM\s+4\v'0.5m'
353 '''\" initialize timestamp string
355 '''\" initialize responsible person string
357 '''\" initialize earlier document number string
359 '''\" initialize csmacro version string
360 .ds ve MCS (04/30/89)
361 '''\" initialize point size, vertical space & indent
368 '''\" macros to collect information
370 .de aC \" macro for Lucent company (entity)
371 . \" set en=1 if BL (default)
374 . \" set en=4 if CH (Corporate Headquarters)
375 .if '\\$1'BL' .nr en 1
376 .if '\\$1'IS' .nr en 2
377 .if '\\$1'TI' .nr en 3
378 .if '\\$1'CH' .nr en 4
382 .ds e3 "LUCENT BELL LABORATORIES
383 .ds e4 "Department Head
388 .ds e3 "LUCENT INFORMATION SYSTEMS
389 .ds e4 "Department Head
392 .ds e1 "Lucent Technologies, Inc.
394 .ds e3 "LUCENT TECHNOLOGIES, INC.
401 .ds e4 "Department Head
405 .de tS \" macro for timestamp
406 '''\" if timestamp string=0, store arg #1 if non-empty.
409 .ie '\\$2'1' .ds s) "D R A F T
410 .el .ds s) "Timestamp: \\$1 \} \}
412 .de TL \" macro for title
414 .tm ERROR: coversheet file set up incorrectly - document title must be supplied before author
418 .nr aa 1 \" set default to send cover to ITDS
419 .ie !'\\n(.F'stdin' \{\
421 . sy /usr/lib/tmac/timestamp \\n(.F>/tmp/tp\\n($$
423 . sy /bin/rm /tmp/tp\\n($$
424 . br \} \" don't remove br - gets around troff bug
427 . tm Coversheet not sent to library. input is '-' \} \}
430 . tm Coversheet not sent to library. input is 'stdin' \}
432 . ds m) "Mailing Label \}
435 . tm Coversheet not sent to library. DRAFT document
436 . ds m) \\s+2DRAFT\\s-2 \} \}
438 '''\" diversion for title
442 .de AU \" macro for author info
443 '''\" don't count author unless non-empty
444 .if !\\$1 .nr u \\n+u
447 '''\" end title diversion on first author
449 .nr lt (\\n(dn)/(\\nl)
453 .ta 0.3i 2.6i 3.0i 4.0i 5.4i
455 '''\" append to author list
457 \\$1 \\$3 \\$6 \\$5 \\$7
460 '''\" end append; info for signature lines
461 .if \\nu=1 .ds m( \\$1
462 .if \\nu=2 .as m( \\$1
463 .if \\nu=3 .as m( \\$1
464 .if \\nu=4 .ds n( \\$1
465 .if \\nu=5 .as n( \\$1
466 .if \\nu=6 .as n( \\$1
467 .if \\nu=7 .ds o( \\$1
468 .if \\nu=8 .as o( \\$1
469 .if \\nu=9 .as o( \\$1
470 .if \\nu=10 .ds p( \\$1
471 .if \\nu=11 .as p( \\$1
472 .if \\nu=12 .as p( \\$1
474 .de rP \" macro for responsible person
475 .if !'\\$1'' .ds r( \\$1
478 .de FS \" macro for footnote start
480 .tm Footnote within footnote - illegal.
483 .tm Footnote within display - illegal.
502 .de FE \" macro for footnote end
505 .ie \\n(as>0 .nr an \\n(dn+\\n(an
506 .el .nr fn \\n(dn+\\n(fn
510 .de AS \" macro for abstract info
519 .de AE \" macro for end of abstract info
536 .nr la \\n(la+\\n(dn \}
542 .rm DS DE EQ EN VL ML LI LE
547 .de OK \" macro for keyword info
549 .if !\\$1 .as k) \\$1
550 .if !\\$2 .as k); \\$2
551 .if !\\$3 .as k); \\$3
552 .if !\\$4 .as k); \\$4
553 .if !\\$5 .as k); \\$5
554 .if !\\$6 .as k); \\$6
555 .if !\\$7 .as k); \\$7
556 .if !\\$8 .as k); \\$8
557 .if !\\$9 .as k); \\$9
558 '''\" set k flag if we have some keywords
563 .de MT \" macro for document type
567 .ds t( "for Technical Memorandum\}
571 .ds t( "for Internal Memorandum\}
575 .ds t( "for Technical Correspondence\}
578 .de dN \" macro for document number info
587 '''\" \" save first document number
588 .if \\nn=1 .ds n) \\$1\\*(t)\\*(s( \}
592 .de oA \" macro for organizational approval names(s)
594 .if \\n(oa=1 .ds u( \\$1
595 .if \\n(oa=2 .as u( \\$1
596 .if \\n(oa=3 .as u( \\$1
597 .if \\n(oa=4 .ds v( \\$1
598 .if \\n(oa=5 .as v( \\$1
599 .if \\n(oa=6 .as v( \\$1
600 .if \\n(oa=7 .ds w( \\$1
601 .if \\n(oa=8 .as w( \\$1
602 .if \\n(oa=9 .as w( \\$1
603 .if \\n(oa=10 .ds x( \\$1
604 .if \\n(oa=11 .as x( \\$1
605 .if \\n(oa=12 .as x( \\$1
607 .de fC \" macro for filing case info
617 .de fD \" macro for full date info
618 .if !'\\$1'' .fC \\$1 \" use .fC macro underneath
620 .de wP \" macro for work project info
630 .de mC \" macro for mercury selections - three argument version
631 .if !'\\$1'' .Mc \\$1
632 .if !'\\$2'' .Mc \\$2
633 .if !'\\$3'' .Mc \\$3
635 .de Mc \" macro for mercury selections - one argument
638 .ie '\\$1'CHM' .ds c) " CHM - Chemistry and Materials
639 .el .ie '\\$1'chm' .ds c) " CHM - Chemistry and Materials
640 .el .ie '\\$1'CMM' .ds c) " CMM - Communications
641 .el .ie '\\$1'cmm' .ds c) " CMM - Communications
642 .el .ie '\\$1'CMP' .ds c) " CMP - Computing
643 .el .ie '\\$1'cmp' .ds c) " CMP - Computing
644 .el .ie '\\$1'ELC' .ds c) " ELC - Electronics
645 .el .ie '\\$1'elc' .ds c) " ELC - Electronics
646 .el .ie '\\$1'LFS' .ds c) " LFS - Life Sciences
647 .el .ie '\\$1'lfs' .ds c) " LFS - Life Sciences
648 .el .ie '\\$1'MAN' .ds c) " MAN - Manufacturing
649 .el .ie '\\$1'man' .ds c) " MAN - Manufacturing
650 .el .ie '\\$1'MAS' .ds c) " MAS - Mathematics and Statistics
651 .el .ie '\\$1'mas' .ds c) " MAS - Mathematics and Statistics
652 .el .ie '\\$1'MKT' .ds c) " MKT - Marketing
653 .el .ie '\\$1'mkt' .ds c) " MKT - Marketing
654 .el .ie '\\$1'PHY' .ds c) " PHY - Physics
655 .el .ie '\\$1'phy' .ds c) " PHY - Physics
656 .el .ie '\\$1'STD' .ds c) " STD - Standards
657 .el .ie '\\$1'std' .ds c) " STD - Standards
658 .el .ie '\\$1'PRP' .ds c) " PRP - Product Realization Process
659 .el .ie '\\$1'prp' .ds c) " PRP - Product Realization Process
660 .el .ie '\\$1'QLT' .ds c) " QLT - Quality
661 .el .if '\\$1'qlt' .ds c) " QLT - Quality
662 .ie '\\*(c)'' .tm WARNING: \\$1 - unknown mercury selection
670 .el .as a) \\*(c)\}\}\}
672 .de mE \" macro for mercury selections
676 '''\" either 'y' or '1' arguments honored
681 .as a) " CHM - Chemistry and Materials
687 .as a) " CMM - Communications
690 .if \\nb=2 .rn a) b) \} \}
695 .as a) " CMP - Computing
698 .if \\nb=3 .rn a) b) \}
700 .if \\nb=2 .rn a) b) \} \}
705 .as a) " ELC - Electronics
708 .if \\nb=3 .rn a) b) \}
713 .if \\nb=2 .rn a) b) \} \}
718 .as a) " LFS - Life Sciences
721 .if \\nb=3 .rn a) b) \}
726 .if \\nb=2 .rn a) b) \} \}
731 .as a) " MAS - Mathematics and Statistics
734 .if \\nb=3 .rn a) b) \}
739 .if \\nb=2 .rn a) b) \} \}
745 .as a) " PHY - Physics
748 .if \\nb=3 .rn a) b) \}
753 .if \\nb=2 .rn a) b) \} \} \}
755 .if \\nb=3 .rn b) a) \}
760 .if \\nb=2 .rn b) a) \}
763 .de eD \" macro for earlier document number
764 .if !'\\$1'' .ds e( \\$1
767 .de PM \" macro for proprietary marking
768 . \" arg 1 - RS or BR or IR or TR or R - restricted
769 .if '\\$1'RS' .nr p 2
770 .if '\\$1'BR' .nr p 2
771 .if '\\$1'IR' .nr p 2
772 .if '\\$1'TR' .nr p 2
776 .de gS \" macro for government security classified
780 .de rA \" macros for release to Lucent employees
781 . \" superceded by .fA macro 072087
785 .de fA \" macro for future Lucent distribution
786 . \" arg 1 = 'y' or 'Y' or 'n' or 'N'
787 .if '\\$1'y' .nr ra 1
788 .if '\\$1'Y' .nr ra 1
789 .if '\\$1'n' .nr ra 2
790 .if '\\$1'N' .nr ra 2
793 .de sF \" macro for software-related document
800 .de dL \" macro for calculating basic distribution length
801 '''\" call once only - from .cC, .cS, or .CS
804 '''\" calculate space considerations
805 '''\" basic distribution length - to be tailored - set e and h
806 .if \\nr=0 .nr e \\ne+2
807 .if \\nu<=3 .nr e \\ne+3
808 .if \\nu<=6 .nr e \\ne+3
809 .if \\nu<=9 .nr e \\ne+3
810 .if (((\\n(oa>0)&(\\n(oa<=3)):((\\nn<=3)&(\\n(oa=0))) .nr e \\ne+3
811 .if (((\\n(oa>0)&(\\n(oa<=6)):((\\nn<=6)&(\\n(oa=0))) .nr e \\ne+3
812 .if (((\\n(oa>0)&(\\n(oa<=9)):((\\nn<=9)&(\\n(oa=0))) .nr e \\ne+3
813 '''\" nroff: if p=2, 1 extra line under Org Approval
814 .if n .if \\np=2 .nr e \\ne-1
815 '''\" Future Lucent Distribution handling
816 .if ((\\n(ra<2)&(\\np=2)) \{\
818 .tm WARNING: Future Lucent Distribution by ITDS - PROPRIETARY (RESTRICTED) document MAY NOT BE RELEASED without appropriate approval for each request; coversheet has been modified accordingly\}
820 .tm WARNING: Future Lucent Distribution by ITDS: missing or invalid .fA macro; indicate desired action by checking yes or no box on page 2 of coversheet; next time include .fA macro with y or n argument \}
821 '''\" at least 3 lines for Future Lucent Distribution section (more for nroff negative and ra=0)
822 '''\" \" next 2 lines for yes/no boxes; remove when .fA macro becomes mandatory
823 .if t .if \\n(ra=0 .nr e \\ne-4
824 .if n .if \\n(ra=0 .nr e \\ne-5
825 .if \\n(ra=1 .nr e \\ne-3
826 .if t .if \\n(ra=2 .nr e \\ne-3
827 .if n .if \\n(ra=2 .nr e \\ne-4
828 '''\" increment number on next two lines to drop text lower on page 2
832 '''\" if page 2 text changes, change values in next 3 lines
834 .tm ERROR: insufficient space to format cover sheet; use "docsend -Taps" \
835 for APS-5, "docsend -Ti10" for imagen, or "docsend -TX97" - \
836 or use stockroom cover sheet
844 .de cC \" macro for handling complete copy addressees
855 .de cD \" macro for handling complete copy address overflow
863 .de zZ \" macro for handling previously lost complete copy address overflow
864 . \" provide 5 additional continuation pages (6 in all - approx 350 names)
865 .ie "\\n(.z"cO" .fF "g" "cU"
866 .el .ie "\\n(.z"cU" .fF "g1" "cV"
867 .el .ie "\\n(.z"cV" .fF "g2" "cW"
868 .el .ie "\\n(.z"cW" .fF "g3" "cX"
869 .el .ie "\\n(.z"cX" .fF "g4" "cY"
870 .el .if "\\n(.z"cY" .fF "g5" "cZ"
872 .de fF \" aux macro for handling previously lost complete copy address overflow
877 .nr \\$1 (\\n(dn)/\\nl+4
885 .de cS \" macro for handling cover sheet only addresses
896 .de cT \" macro for handling cover sheet address overflow
904 .de wW \" macro for handling previously lost cover sheet only address overflow
905 . \" provide 5 additional continuation pages (6 in all - approx 350 names)
906 .ie "\\n(.z"dO" .gG "i" "dU"
907 .el .ie "\\n(.z"dU" .gG "i1" "dV"
908 .el .ie "\\n(.z"dV" .gG "i2" "dW"
909 .el .ie "\\n(.z"dW" .gG "i3" "dX"
910 .el .ie "\\n(.z"dX" .gG "i4" "dY"
911 .el .if "\\n(.z"dY" .gG "i5" "dZ"
913 .de gG \" aux macro for handling previously lost cover sheet only address overflow
918 .nr \\$1 (\\n(dn)/\\nl+4
926 .de cE \" macro for ending all distribution diversions
931 .el .ie "\\n(.z"cO" .eE "g" "cD"
932 .el .ie "\\n(.z"cU" .eE "g1" "cD"
933 .el .ie "\\n(.z"cV" .eE "g2" "cD"
934 .el .ie "\\n(.z"cW" .eE "g3" "cD"
935 .el .ie "\\n(.z"cX" .eE "g4" "cD"
936 .el .ie "\\n(.z"cY" .eE "g5" "cD"
937 .el .ie "\\n(.z"cZ" \{\
940 .el .ie "\\n(.z"dA" \{\
943 .el .ie "\\n(.z"dO" .eE "i" "cT"
944 .el .ie "\\n(.z"dU" .eE "i1" "cT"
945 .el .ie "\\n(.z"dV" .eE "i2" "cT"
946 .el .ie "\\n(.z"dW" .eE "i3" "cT"
947 .el .ie "\\n(.z"dX" .eE "i4" "cT"
948 .el .ie "\\n(.z"dY" .eE "i5" "cT"
949 .el .if "\\n(.z"dZ" \{\
953 .de eE \" aux macro for ending all distribution diversions
955 .ie \\n(dn>0 .nr \\$1 (\\n(dn)/\\nl+4
960 '''\" macros to help format document
963 .ie\\n(.$ .nr ;G \\n(.f
965 .if\\n(.$ .if !\\n(.$-2 \&\f3\\$1\fP\\$2
968 .ds}I \&\f3\\$1\fP\\$2\\*(}i
970 .if\\n(.$-2 .if !\\n(.$-4 \\*(}I\f3\\$3\fP\\$4
971 .if\\n(.$-4 .if !\\n(.$-6 \\*(}I\f3\\$3\fP\\$4\\*(}i\f3\\$5\fP\\$6
975 .ie\\n(.$ .nr ;G \\n(.f
977 .if\\n(.$ .if !\\n(.$-1 \&\f2\\$1
978 .if\\n(.$-1 \{.ds }i \^
981 .if\w\\$1 .ds }I \&\f2\\$1\fP\\*(}i
983 .if\\n(.$-1 .if !\\n(.$-3 \\*(}I\\$2\f2\\$3
984 .if\\n(.$-3 .if !\\n(.$-5 \\*(}I\\$2\f2\\$3\fP\\*(}i\\$4\f2\\$5
985 .if\\n(.$-5 \\*(}I\\$2\f2\\$3\fP\\*(}i\\$4\f2\\$5\fP\\*(}i\\$6
990 .}S 1 2 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
994 .}S 1 3 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
998 .}S 2 1 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
1002 .}S 2 3 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
1006 .}S 3 1 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
1010 .}S 3 2 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
1014 .if\\$12 .if !\\$5 .ds }i\^
1015 .ie!\\$4 .}S \\$2 \\$1 "\\$3\f\\$1\\$4\\*(}i" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
1023 .de S \" set point size and vertical spacing
1028 .ie \w\(ts\\$1\(ts \{\
1029 .ie 0\\$1-99 .nr ts \\n(ps
1033 .if \\n(.$=1 .if t \{\
1036 .if \\n(.$>1 .if t \{\
1037 .ie \w\(ts\\$2\(ts \{\
1038 .ie 0\\$2-99 .nr tv \\n(.s+2
1043 .de sP \" space 1 blank line (vertical space)
1047 .de P \" paragraph - (default - left-adjusted)
1048 . \" arg #1=0 - left-adjusted
1049 . \" arg #1=1 - indent standard amount
1052 .if (\\n(.$>0)&(0\\$1=1) .ti +\\n(sin
1054 .de HC \" set hyphenation indicator
1065 .de SA \" macro for right-adjustment
1067 .if \\$1-1 .tm WARNING: SA: bad arg:\\$1
1072 .de iN \" macro for font and size re-initialization
1077 .de DS \" macro for display start
1079 .tm Display within display - illegal.
1082 .tm Display within footnote - illegal.
1094 .if '\\$2'F' .nr dt 4
1095 .if '\\$2'1' .nr dt 4
1097 .if \\n(.$>2 .ll-0\\$3
1100 .if '\\$1'I' .nr dt 1
1101 .if '\\$1'1' .nr dt 1
1102 .if \\n(dt=1 .in \\n(sin
1103 .if '\\$1'C' .nr dt 2
1104 .if '\\$1'2' .nr dt 2
1105 .if \\n(dt=2 .ce 1000
1106 .if '\\$1'CB' .nr dt 3
1107 .if '\\$1'3' .nr dt 3
1113 .de DE \" macro for display end
1115 .ie \\n(ds=0 .tm DE: no active DS
1120 .if \\n(dl>\\n(bd .nr bd \\n(dl
1121 .if \\n(bd<\\n(.l .in (\\n(.lu-\\n(bdu)/2u
1122 .nr dt \\n(.l-\\n(.i
1135 .de EQ \" macro for equation start
1139 .de EN \" macro for equation end
1145 .if \w\(ts\\*(10\\*(e)\(ts \{\
1147 .if \\n(bd<\w\(ts\\*(10\(ts .nr bd \w\(ts\\*(10\(ts
1148 \!\\*(10\h'\\\\n(.lu-\w\(ts\\*(10\\*(e)u\(ts-\\\\n(.iu'\\*(e)
1150 .el .ie \\n(dt=2 .tl \(ts\(ts\\*(10\(ts\\*(e)\(ts
1151 .el .ie \\n(dt=1 .tl \(ts\h'\\n(sin'\\*(10\(ts\(ts\\*(e)\(ts
1152 .el .if \\n(dt=0 .tl \(ts\\*(10\(ts\(ts\\*(e)\(ts
1157 .de VL \" macro for variable-item lists
1159 .tm VL: lists may not be nested
1161 .ie \\n(.$<1 .tm WARNING: VL: text-indent not defined
1164 .nr :b \\n(.iu+0\\$1n
1165 .nr :c \\n(.iu+0\\$2n
1167 .ie \\n(.$=3 .nr :d 1
1174 .de ML \" macro for marked list
1176 .tm ML: lists may not be nexted
1178 .ie \\n(.$<1 .tm ML: mark not defined
1182 .ie (\\n(.$>1)&(\\$2>0) .nr :b \\n(.iu+0\\$2n
1183 .el .nr :b \\n(.iu+\w\(ts\\*(y)\(tsu+1n
1184 .nr :c \\n(:bu-1n-\w\(ts\\*(y)\(tsu
1185 .ie \\n(.$=3 .nr :d 1
1193 .de BL \" macro for bullet list - using marked list
1194 .ie \\n(.$=2 .ML \\(bu \\$1 \\$2
1195 .el .ie \\n(.$=1 .ML \\(bu \\$1
1198 .de LI \" macro for list item
1199 .ie \\n(ls=0 .tm LI: no active lists
1202 .if \\n(.$=1 .ds z) \\$1
1203 .if \\n(.$=2 .ds z) \\$1\&\\*(z)
1207 .nr :e \w\(ts\\*(z)\(ts
1208 \\*(z)\h'\\n(:bu-\\n(:cu-\\n(:eu'\c \}
1210 .de LE \" macro for list end
1211 .ie \\n(ls=0 .tm LE: no active list
1219 .de hD \" header macro
1220 '''\" page offset 0.6i for XEROX & DASI; 0.25i for all other devices
1221 '''\" cut marks for APS only
1223 .if \\n(dv=3 .po 0.6i
1225 .if \\n(dv=1 .tl '\(rn''\(rn'
1229 .de fO \" footer macro
1234 .de yY \" macro for abstract overflow - line -1
1238 .de aT \" macro for abstract overflow trap
1239 . \" register a counts overflow pages
1258 Abstract (continued)
1263 .de tK \" macro for thick lines
1268 .de bE \" macro for empty box
1274 .de bX \" macro for box with x
1280 .de tH \" macro for Title heading and text
1281 . \" called from aT and eP and CS
1284 '''\" mark t - Title heading
1295 .ie \\nq>2 'sp|\\ntu+\\nq
1298 . \" m1 - mark end of title section - save
1301 .de cH \" macro for abstract or distribution list continuation header
1302 . \" called from aT and eP
1303 . \" calculate this page number
1311 \\*(n)\f2 (page \\n(nc of \\n(tc)
1315 .de dH \" macro for distribution list headers
1316 . \" called from cP and CS
1324 .de oH \" macro for final overflow distribution list headers
1326 .if \\$1>4 .if \\$2>4 .dH "Complete Copy (continued)" "Cover Sheet Only (continued)"
1327 .if \\$1>4 .if !\\$2>4 .dH "Complete Copy (continued)" ""
1328 .if !\\$1>4 .if \\$2>4 .dH "" "Cover Sheet Only (continued)"
1330 .de eP \" macro for ejecting distribution continuation page
1334 '''\" put out continuation page header & title section
1338 .de cP \" macro for continuation (distribution list) page
1340 . \" if any distribution overflow will fit before next trap, set v=2
1341 .ie \\nv<=\\n(.t .nr v 1
1343 .if \\nv=1 .if \\nw<=\\n(.t .nr v 2
1344 . \" check whether continuation page needs to be ejected
1347 . \" - if no abstract overflow
1350 . \" - or if abstract overflow - but not enough room for list overflow
1352 . \" just a thick line if abstract overflow AND enough room for list
1355 .if \\ng>4 .if \\ni>4 .dH "Complete Copy" "Cover Sheet Only"
1356 .if \\ng>4 .if !\\ni>4 .dH "Complete Copy" ""
1357 .if !\\ng>4 .if \\ni>4 .dH "" "Cover Sheet Only" \}
1361 '''\" put out complete copy list overflow
1374 '''\" put out cover sheet list overflow
1383 .if ((\\n(g1>0):(\\n(i1>0)) .dP "\\n(g1" "\\n(i1" "cU" "\\n(g2" "dU" "\\n(i2"
1384 .if ((\\n(g2>0):(\\n(i2>0)) .dP "\\n(g2" "\\n(i2" "cV" "\\n(g3" "dV" "\\n(i3"
1385 .if ((\\n(g3>0):(\\n(i3>0)) .dP "\\n(g3" "\\n(i3" "cW" "\\n(g4" "dW" "\\n(i4"
1386 .if ((\\n(g4>0):(\\n(i4>0)) .dP "\\n(g4" "\\n(i4" "cX" "\\n(g5" "dX" "\\n(i5"
1387 .if ((\\n(g5>0):(\\n(i5>0)) \{\
1402 .if \\nx-\\ny .sp|\\nxu
1405 .de dP \" macro to handle one continuation page
1430 .de tP \" macro to compute total pages and diversion lengths
1431 '''\" calculate vert. units needed to handle cc overflow (if any)
1432 '''\" called from CS macro
1433 .ie \\ng>4 .nr v (\\ng)*\\nl
1435 '''\" also for cs overflow (if any)
1436 .ie \\ni>4 .nr w (\\ni)*\\nl
1438 .ie \\nv>\\nw .nr j \\nv
1440 . \" set c=1 if either g or i >0
1443 . \" calculate total pages in job (default 2)
1445 . \" a1 - page 1 portion abstract (units)
1446 .nr a1 \\nyu-\\nxu-1v
1447 .ie \\n(la>\\n(a1 \{\
1448 . \" ar - remainder abstract (units)
1449 .nr ar \\n(la-\\n(a1
1451 . \" a2 - available continuation page space
1452 . \" m1 is mark after thick line following title/date
1453 . \" 2v are lines for Abstract (continued) and one blank line
1454 .if t .nr a2 11.0i-\\n(m1-3v
1455 .if n .nr a2 \\n(lpv-\\n(m1-3v
1457 .el .if \\nc>0 .nr tp \\n(tp+1
1458 .if ((\\n(g1>4):(\\n(i1>4)) .nr tp \\n(tp+1
1459 .if ((\\n(g2>4):(\\n(i2>4)) .nr tp \\n(tp+1
1460 .if ((\\n(g3>4):(\\n(i3>4)) .nr tp \\n(tp+1
1461 .if ((\\n(g4>4):(\\n(i4>4)) .nr tp \\n(tp+1
1462 .if ((\\n(g5>4):(\\n(i5>4)) .nr tp \\n(tp+1
1465 .ie \\n(ar>\\n(a2 \{\
1466 .nr ar \\n(ar-\\n(a2
1469 .el .if \\n(ar+\\nj>\\n(a2 .nr tp \\n(tp+1
1472 '''\" main macro to handle output of cover sheet
1476 .tm ERROR: author must be supplied
1479 .tm ERROR: document title must be supplied
1482 .tm ERROR: memorandum type undefined or unknown
1484 .if ((\\nm=1)&(\\np=1)) .if \\nb=0 \{\
1485 .tm ERROR: must have at least one mercury classification with technical memorandum
1488 .tm ERROR: document number must be supplied
1490 .if \\n(la=0 .if \\nm<3 \{\
1491 .tm ERROR: abstract must be supplied for technical and internal memoranda
1494 .tm ERROR: no more than 3 mercury classifications may be selected
1498 .tm ERROR: filing case must be supplied
1501 .tm ERROR: full date must be supplied
1504 .tm ERROR: work project number must be supplied
1512 '''\" put out 1 blank line where timestamp used to be
1518 . \" put out page 1 heading
1519 '''\" if Lucent logo not defined, put out Lucent string
1520 '''\" also put out memorandum type
1521 .ie ((\\n(dv=5)) \{\
1522 .ie '\f(AT'' .nr lg 0
1525 .ie '\*(lG'' .nr lg 0
1527 .ie ((\\n(lg=0)) \{\
1529 \\*(e2 Document Cover Sheet
1535 Document Cover Sheet
1552 .ta 0.5i 2.75i 4.0i 4.7i
1553 Author\\*(u) Location Ext. Company (if other than \\*(e1)
1556 .ta 0.5i 2.75i 4.0i 5.0i
1557 Author\\*(u) Location Ext. Company (if other than
1562 '''\" output author info
1566 \\*(r( (Responsible \\*(e1 Person)\}
1573 .ie \\n(fc>1 .ds w) s
1575 .ie \\n(wp>1 .ds x) s
1579 Document No\\*(v). Filing Case No\\*(w). Project No\\*(x).
1582 Document No\\*(v). Filing Case No\\*(w). Project No\\*(x).
1585 .if t .ta 1.0i 3.4i 4.7i
1586 .if n .ta 1.0i 3.4i 4.5i
1587 Document No\\*(v). Full Date Time Charge (or Project Code) No\\*(x).
1590 .if t .ta 1.0i 3.4i 5.2i
1591 .if n .ta 1.0i 3.4i 5.0i
1592 Document No\\*(v). Filing Case No\\*(w). Time Charge (or Case) No\\*(x).
1597 '''\" output document number
1602 '''\" output filing case info (or full date)
1607 '''\" output work project number info
1611 .if \\ny>\\nx .nr x \\ny
1612 .if \\nz>\\nx .nr x \\nz
1615 '''\" output keywords if they exist
1627 '''\" output mercury info if it exists
1630 MERCURY Announcement Bulletin Sections
1650 .nr b1 \\nx/\\n(.v+1
1651 .nr b2 (\\n(b1*\\n(.v)-\\nx
1654 '''\" calculate position (19v includes 2v to print version at bottom of page)
1655 '''\" followed by timestamp and 1v line
1656 .nr y \\n(lpv-19v-\\n(fnu
1660 '''\" handle abstract page 1 continuation
1661 .ie \\n(la>\\n(a1 \{\
1664 (continued on page iii)
1673 .if !'\\$2'' .nr z 1
1674 .if !'\\$3'' .nr z 1
1675 .if !'\\$4'' .nr z 1
1676 .if !'\\$5'' .nr z 1
1677 .if !'\\$6'' .nr z 1
1679 .tm WARNING: provide total document page count in first argument of .CS macro; all other arguments ignored; do NOT include coversheet pages in this count. \}
1681 .if !'\\$1'' .nr z \\nz+\\$1
1683 .tm Total Pages = \\nz
1684 .ie '\*(.T'X97.tim10p'\{\
1685 Total Pages (including document cover sheet): \\s+2\\nz\\s-2
1687 Supersedes or amends document number \\*(e(. \}
1690 \f3Total Pages\f1 (including document cover sheet): \\s+2\\nz\\s-2
1692 \f3Supersedes\f1 or amends document number \\*(e(. \}
1705 '''\" output proprietary notice if it exists
1707 .ds o) LUCENT \- PROPRIETARY
1708 .ds p) "Use pursuant to Company Instructions
1720 .ds o) LUCENT \- PROPRIETARY (RESTRICTED)
1721 .ds p) "Solely for authorized persons having a need to know
1722 .ds q) "pursuant to Company Instructions
1734 '''\" output csmacros version
1738 '''\" put out timestamp (if non-empty) and company identifier
1740 \\s8\\*(s)\\s0 \\*(e3 \}
1752 .if \\n(la>\\n(a1 \{\
1754 .if t .wh -0.25i yY \}
1756 .ta 0.5i 1.0i 1.5i 2.0i 2.5i
1757 '''\" output the abstract
1760 .if !\\n(la>\\n(a1 .sp-1
1764 '''\" output continuation pages
1774 Initial Distribution Specifications \\*(n)\f2 (page ii of \\n(tc)\f3
1778 .dH " Complete Copy" " Cover Sheet Only"
1780 '''\" put out complete copy list
1792 '''\" put out cover sheet list
1801 '''\" starter space value - then tailor according to basic distribution length
1805 '''\" put out security section if selected
1807 \f3Government Security Classified\f1
1811 \f3Future Lucent Distribution by ITDS\f1
1816 .if t \f3DO NOT RELEASE\f1 to any Lucent employee without appropriate approval for each request.
1818 \f3DO NOT RELEASE\f1 to any Lucent employee without appropriate approval
1821 for each request.\}\}
1823 \f3RELEASE\f1 to any Lucent employee (excluding contract employees).
1825 '''\" next 41 lines for yes/no boxes; remove when .fA macro becomes mandatory
1833 Yes, \f3RELEASE\f1 to any Lucent employee (excluding
1839 No, \f3DO NOT RELEASE\f1 to any Lucent employee
1842 contract employees).
1845 without obtaining appropriate approval.\}
1852 Yes, \f3RELEASE\f1 to any Lucent employee
1858 No, \f3DO NOT RELEASE\f1 to any Lucent
1861 (except contract employees).
1864 employee without obtaining
1866 appropriate approval.\}\}
1870 Author Signature\\*(u)
1874 \l'2.25i' \l'2.25i' \l'2.25i'
1875 .ta 0.25i 2.875i 5.5i
1880 \l'2.25i' \l'2.25i' \l'2.25i'
1881 .ta 0.25i 2.875i 5.5i
1886 \l'2.25i' \l'2.25i' \l'2.25i'
1887 .ta 0.25i 2.875i 5.5i
1892 \l'2.25i' \l'2.25i' \l'2.25i'
1893 .ta 0.25i 2.875i 5.5i
1897 '''\" output organizational approval section
1900 \f3Organizational Approval\f1 (\\*(e4 approval \f3required\f1 for \f2\\*(o)\f1.) \}
1902 \f3Organizational Approval\f1
1904 \\*(e4 approval \f3required\f1 for \f2\\*(o)\f1. \}
1907 \f3Organizational Approval\f1 (Optional) \}
1910 \l'2.25i' \l'2.25i' \l'2.25i'
1911 .ta 0.25i 2.875i 5.5i
1913 .if ((\\n(oa>3):((\\nn>3)&(\\n(oa=0))) \{\
1916 \l'2.25i' \l'2.25i' \l'2.25i'
1917 .ta 0.25i 2.875i 5.5i
1919 .if ((\\n(oa>6):((\\nn>6)&(\\n(oa=0))) \{\
1922 \l'2.25i' \l'2.25i' \l'2.25i'
1923 .ta 0.25i 2.875i 5.5i
1925 .if ((\\n(oa>9):((\\nn>9)&(\\n(oa=0))) \{\
1928 \l'2.25i' \l'2.25i' \l'2.25i'
1929 .ta 0.25i 2.875i 5.5i
1933 '''\" recipient section always output
1935 For Use by Recipient of Cover Sheet:
1942 Computing network users may order copies via the \f2library -1\f1 command;
1943 for information, type \f2man library\f1 after the UNIX\(rg system prompt.
1947 Enter PAN if Lucent-BL (or SS# if non-Lucent-BL). \l'1.5i'
1948 Return this sheet to any ITDS location.
1951 Internal Technical Document Service
1954 ( ) AK 2H-28 ( ) IH 7M-103 ( ) DR 2F-19 ( ) NW-ITDS
1955 ( ) ALC 1B-102 ( ) MV 3L-19 ( ) INH 1C-114 ( ) PR 5-2120
1956 ( ) CB 1L-220 ( ) WH 3E-204 ( ) IW 2Z-156
1957 ( ) HO 4F-112 ( ) MT 2C-131
1960 Computing network users may order copies via the \f2library -1\f1 command;
1961 for information, type \f2man library\f1 after the UNIX system prompt.
1966 1 Enter PAN if Lucent-BL (or SS# if
1969 2 Return this sheet to any
1973 Internal Technical Document Service
1977 ( ) AK 2H-28 ( ) IH 7M-103
1978 ( ) ALC 1B-102 ( ) MV 3L-19
1979 ( ) CB 1L-220 ( ) WH 3E-204
1992 . sy pwd >/tmp/sx\\n($$
1993 . sy sed "s/^/cd /" /tmp/sx\\n($$ >/tmp/sc\\n($$
1994 . sy echo "/usr/lib/tmac/sendcover" \\n(.F \\n(qq >>/tmp/sc\\n($$
1995 . sy echo "rm" /tmp/sx\\n($$ /tmp/sc\\n($$>>/tmp/sc\\n($$
1996 . sy sh /tmp/sc\\n($$&
1998 .rr a b c e g h i j k
1999 .rr l m n o p q r s t
2001 .rr an fn as ds fs bd dv lp
2002 .rr tp np la a1 a2 ar fi
2003 .rr in si ps ts vs tv b1 b2 m1
2004 .rr :b :c :d :e ls dt fc wp
2005 .rr g1 g2 g3 g4 g5 i1 i2 i3 i4 i5
2006 .rm a) b) c) e) k) n) o) p) q)
2007 .rm r) s) t) u) v) w) x) y) z)
2008 .rm a( b( m( n( o( p( s( t(
2010 .rm hD fO aT tK bE bX tH cH
2011 .rm dH eP cP tP t1 CS tI tS cE
2012 .rm cZ dZ eE fF gG oH dP
2014 '''\" end of csmacros