@Appendix
@Title { Bypass Symbols }
@Tag { bypass }
@Begin
@PP
The `bypass' symbols described in this appendix are intended to be
bypass.symbols @Index { bypass symbols }
used only in Lout which is generated by computer programs. Their
purpose is to bypass the Lout cross reference database, and so reduce
the number of passes needed to finalise a document. These symbols
should not be used by people, because that would only lead back to the
consistency problems that prompted the introduction of cross references
in the first place.
@PP
To produce a bypass table of contents, set the @Code "@MakeContents"
setup file option to @Code "Bypass" and use @Code "@BypassContentsEntry"
symbols at the outermost level just before the introduction or first
chapter:
@ID @Tab
@Fmta { @Col @Code A ! @Col ! @Col B }
vmargin { 0.5vx }
{
@Rowa
A { "@BypassContentsEntry" }
@Rowa
A { " indent { 0f }" }
B { the indent, e.g. {@Code "0f"}, {@Code "2f"}, {@Code "4f"} ... }
@Rowa
A { " number {}" }
B { the section (etc.) number e.g. {@Code "5.2"} }
@Rowa
A { " title {}" }
B { the section (etc.) title e.g. @Code "Azaleas" }
@Rowa
A { " pagenum {}" }
B { the page number e.g. @Code "@PageOf azaleas" }
}
For major entries such as chapters, use @Code "@BypassMajorContentsEntry"
with the same options. This increases the vertical spacing and uses
bold font. When @Code "@MakeContents" is {@Code "Bypass"}, no contents
entries will be produced automatically.
@PP
To bypass Lout's automatic numbering of large-scale structure symbols,
use the @Code "@BypassNumber" option:
@ID @Code {
"@Section"
" @Title { Azaleas }"
" @Tag { azaleas }"
" @BypassNumber { 5.2 }"
"..."
}
Give the full `path number' (5.2, B.3 or whatever) of the symbol. There is
a @Code "@BypassNumber" option for every symbol that has a @Code "@Title"
option and is usually assigned a number automatically by Lout, plus
@Code "@Figure" and {@Code "@Table"}. No changes to the setup file are
required in order to use {@Code "@BypassNumber"}, and it is permitted
for some large-scale structure symbols to have this option and others not.
@PP
To produce a bypass reference list, set the @Code "@MakeReferences"
setup file option to @Code "Bypass" and place reference entries at the
end of the document, after the last chapter or other large-scale structure
symbol but before any bypass index entries (see below), like this:
@ID @Code {
"@BypassReference"
" label { [Kin94a] }"
" value { @RefPrint kingston1995lout.expert }"
}
The two options are objects which become the label and value of the
reference entry. The @Code "value" option can be any object, including
an explicit reference; but @Code "@RefPrint" does not introduce any
cross-referencing delay if the @Code "@Reference" symbols lie in a
separate database file. No sorting or removal of duplicate entries
will be done by Lout. When @Code "@MakeReferences" is {@Code "Bypass"},
@Code "@Cite" and related symbols are ignored.
@PP
There is also @Code "@BypassChapReference" with the same options for
producing bypass chapter reference lists; these symbols should be
placed at the outer level immediately after the preface, introduction,
chapter or appendix that they refer to.
@PP
To produce bypass indexes, set the @Code "@MakeIndex" setup file
option to {@Code Bypass} and use the @Code "@BypassRawIndex" symbol
repeatedly at the very end of the document, enclosed in
@Code "@BypassBeginIndex" and @Code "@BypassEndIndex" symbols:
@ID @Code {
"@BypassBeginIndex"
"@BypassRawIndex indent { 0f } { Azaleas, @PageOf azaleas }"
"..."
"@BypassEndIndex"
}
The @Code "indent" option gives the indent ({@Code "0f"}, @Code {"1f"},
@Code {2f}, etc.), and the right parameter is as for @Code "@RawIndex". No
@Code "@PageMark" operations, sorting, merging, or attachment of page
numbers will be done by Lout. When @Code "@MakeIndex" is {@Code Bypass},
@Code "@Index" and related symbols are ignored. At present, bypass
index symbols work only in books, not with ordinary documents or
technical reports. There are corresponding symbols for creating
bypass indexes A and B.
@End @Appendix