1 .* ***********************************************************
2 .* * *
3 .* * *
4 .* * Copyright, C Honeywell Information Systems Inc., 1981 *
5 .* * *
6 .* * *
7 .* ***********************************************************
8 .* TOC MACROS
9 .* ENTRY VECTOR
10 .ts "%InputFileName%" ^= "toc_entry" & "%InputFileName%" ^= "toc_setup"
11 .srv TOC_PART "toc"
12 .srv TOC_CBAR ;.srv NEW_CBAR ;.* assure variables exist
13 .srv TOC_TYPE
14 .ur .go %InputFileName%
15 .* TURN ON TOCING
16 .la toc_on
17 .ts "%TOCING%" ^= "" ;.* already on?
18 .rt ;.* yes
19 .*
20 .sr TOCING "TOC_ON"
21 .srv TOC_TYPE "%DOCUMENT_TYPE%"
22 .ur .wrt %FileName%.toc.compin .srv TOC_PAGE_NO
23 .ur .wrt %FileName%.toc.compin .ts %%ParamPresent%%
24 .ur .wrt %FileName%.toc.compin .srv TOC_PAGE_NO "%%Parameter%%"
25 .ifi toc_setup
26 .rt
27 .* LEVEL 0 TOC LINE
28 .la l0toc
29 .*
30 .ur .ts %%length "%section%"%% > 1
31 .go section_no
32 .*
33 .ts "%section%" >= "0" & "%section%" <= "9"
34 .go section_no
35 .*
36 .sr SECTION_IN_TOC "Appendix %section%"
37 .go section_head
38 .*
39 .la section_no
40 .ts "%style%" = "roman"
41 .srm ru section
42 .sr SECTION_IN_TOC "Section %section%"
43 .srm ar section
44 .*
45 .la section_head
46 .ts "%SECTION_IN_TOC%" = ""
47 .go NO_TOC_SECTION
48 .ur .wrt %FileName%.toc.compin .spt 1
49 .ur .wrt %FileName%.toc.compin .1%SECTION_IN_TOC%
50 .la NO_TOC_SECTION
51 .ur .wrt %FileName%.toc.compin .bbc 2
52 .ur .wrt %FileName%.toc.compin .inl 1
53 .ifi toc_entry
54 .rt
55 .*
56 .la l1toc
57 .srv TOC_CBAR "%ChangeBar%"
58 .ur .wrt %FileName%.toc.compin .bbc 2
59 .ur .wrt %FileName%.toc.compin .inl 4
60 .ifi toc_entry
61 .rt
62 .*
63 .la l2toc
64 .srv TOC_CBAR "%ChangeBar%"
65 .ur .wrt %FileName%.toc.compin .bbc 2
66 .ur .wrt %FileName%.toc.compin .inl 7
67 .ifi toc_entry
68 .rt
69 .*
70 .la l3toc
71 .srv TOC_CBAR "%ChangeBar%"
72 .ur .wrt %FileName%.toc.compin .bbc 2
73 .ur .wrt %FileName%.toc.compin .inl 10
74 .ifi toc_entry
75 .rt
76 .*
77 .la l4toc
78 .srv TOC_CBAR "%ChangeBar%"
79 .ur .wrt %FileName%.toc.compin .bbc 2
80 .ur .wrt %FileName%.toc.compin .inl 13
81 .ifi toc_entry
82 .rt
83 .*
84 .la toc_entry
85 .indctl on
86 .ur .wrt %FileName%.%TOC_PART%.compin .unl 1
87 .if "%TOC_CBAR%" = "del"
88 .then .ur .wrt %FileName%.%TOC_PART%.compin .cbd
89 .srv TOC_CBAR ""
90 .elseif "%TOC_CBAR%" = "mod"
91 .then .ur .wrt %FileName%.%TOC_PART%.compin .cbm
92 .elseif "%TOC_CBAR%" = "add" | "%NEW_CBAR%" = -1
93 .then .ur .wrt %FileName%.%TOC_PART%.compin .cba
94 .elseif "%TOC_CBAR%" = "off"
95 .then .ur .wrt %FileName%.%TOC_PART%.compin .cbf
96 .srv TOC_CBAR ""
97 .endif
98 .ur .wrt %FileName%.%TOC_PART%.compin %PAD%%Parameter%
99 .ts "%TOC_CBAR%" ^= ""
100 .ur .wrt %FileName%.%TOC_PART%.compin .cbf
101 .ur .wrt %FileName%.%TOC_PART%.compin .bbc 3
102 .ur .wrt %FileName%.%TOC_PART%.compin %PageNo%
103 .ur .wrt %FileName%.%TOC_PART%.compin .bec
104 .rt
105 .* TOC HEADER/FOOTER
106 .la toc_header
107 .ts "%DOCUMENT_TYPE%" ^= "%TOC_TYPE%"
108 .ur .ifi %DOCUMENT_TYPE%_prose_layout %ORDER_NUMBER%
109 .indctl on
110 .if "%Arg1%" ^= ""
111 .then .ur .brp %Arg1% rl
112 .else .brp 3 rl
113 .endif
114 .fif
115 .fnt l0exact
116 .if "%DeviceClass%" = "bitmap"
117 .then .spd +4
118 .fnt 18
119 .tlh 3 0 |||Contents|
120 .fnt
121 .else .spd +7
122 .tlh 2 ||CONTENTS||
123 .ur .ur .tlh 1 %%%TOC_WIDTH% - 8%% |Page|
124 .chl ||CONTENTS cont|
125 .chl 2 ||
126 .chl 3 ||
127 .chl 4 |||Page*M*M|
128 .chl 5 ||
129 .endif
130 .fnt
131 .fnt CSR 9
132 .fla |%add_date%|%PageNo%|%ORDER_NUMBER%%add_letter%|
133 .fnt
134 .indctl
135 .rt
136 .*
137 .la toc_setup
138 .if "%DOCUMENT_TYPE%" = "init"
139 .then .ur .wrt %FileName%.%TOC_PART%.compin .ifi init "%ORDER_NUMBER%" "%TOC_HEADER_INFO%"
140 .else .ur .wrt %FileName%.%TOC_PART%.compin .ifi init_%DOCUMENT_TYPE% "%ORDER_NUMBER%" "%TOC_HEADER_INFO%"
141 .endif
142 .srv TOC_WIDTH %COLWIDTH%
143 .ur .wrt %FileName%.%TOC_PART%.compin .srv TOC_WIDTH %COLWIDTH%
144 .ur .wrt %FileName%.%TOC_PART%.compin .srv draft "%draft%"
145 .ur .wrt %FileName%.%TOC_PART%.compin .srv draft_date "%draft_date%"
146 .ur .wrt %FileName%.%TOC_PART%.compin .srv section "%section%"
147 .ur .wrt %FileName%.%TOC_PART%.compin .srv add_date "%add_date%"
148 .ur .wrt %FileName%.%TOC_PART%.compin .srv add_letter "%add_letter%"
149 .ur .wrt %FileName%.%TOC_PART%.compin .ts %%TableMode%%
150 .ur .wrt %FileName%.%TOC_PART%.compin .taf
151 .ur .wrt %FileName%.%TOC_PART%.compin .ur .ur .tab TOC 1,%%SECTION_INDENT%%nl
152 .+:%%SECTION_INDENT%%,%%%%%%TOC_WIDTH%% - %%SECTION_INDENT%% - 9%%%%fl"*N."
153 .+:%%%%%%TOC_WIDTH%% - 6%%%%,3-rb
154 .*
155 .ur .wrt %FileName%.%TOC_PART%.compin .srv TOC_PAGE_NO
156 .ur .wrt %FileName%.%TOC_PART%.compin .ur .ifi %TOC_PART%_header "%%TOC_PAGE_NO%%"
157 .*.ur .wrt %FileName%.%TOC_PART%.compin .inr 4
158 .ur .wrt %FileName%.%TOC_PART%.compin .tan TOC
159 .ur .wrt %FileName%.%TOC_PART%.compin .fif
160 .*.ur .wrt %FileName%.%TOC_PART%.compin .brn 3
161 .rt