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