<tag table> = <separator> Tag Table: (<lparen>Indirect<rparen>)? (Node|Ref): <nodeid>^?<bytepos> <separator> End Tag Table
The ‘(Indirect)’ line appears in the case of split output only.
The tag table specifies the starting byte position of each node and anchor in the file. In the case of split output, it is only written in the main output file.
Each line defines an identifier as either an anchor or a node, as specified. For example, ‘Node: Top^?1647’ says that the node named ‘Top’ starts at byte 1647 while ‘Ref: Overview-Footnote-1^?30045’ says that the anchor named ‘Overview-Footnote-1’ starts at byte 30045. It is an error to define the same identifier both ways.
In the case of nonsplit output, the byte positions simply refer to the location in the output file. In the case of split output, the byte positions refer to an imaginary file created by concatenating all the split files (but not the top-level file). See the previous section.
Here is an example:
^_ Tag Table: Node: Top^?89 Node: Ch1^?292 ^_ End Tag Table
This specifies a manual with two nodes, ‘Top’ and ‘Ch1’, at byte positions 89 and 292 respectively. Because the ‘(Indirect)’ line is not present, the manual is not split.
Preamble sections or other non-node sections of files do not have a tag table entry.