diff options
Diffstat (limited to 'doc/expert/pre_cros')
-rw-r--r-- | doc/expert/pre_cros | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/doc/expert/pre_cros b/doc/expert/pre_cros new file mode 100644 index 0000000..d300e86 --- /dev/null +++ b/doc/expert/pre_cros @@ -0,0 +1,36 @@ +@Section + @Title { The cross reference symbols "&&" and "&&&" } + @Tag { crossref } +@Begin +@PP +The cross reference symbol @Code "&&" takes the name of a symbol (not an +object) for its left parameter, and an object whose value must be a +simple word, or several simple words, for its right parameter. The +result is a cross reference, which may be thought of as an arrow pointing +from the cross reference symbol to the beginning of an invocation of the +named symbol. +@PP +The invocation pointed to, known as the @I target of the cross +reference, is generally one whose @@Tag parameter has value equal +to the right parameter of the cross reference symbol. Three special tags, +{@Code preceding}, {@Code following}, and {@Code foll_or_prec}, point +respectively to the first invocation preceding the cross reference in +the final printed document, to the first invocation following it, and +to the first following it if such exists else to the first preceding it. +@PP +A cross reference may be used in four ways: where an object is +expected, in which case its value is a copy of the target; with the +@@Open and @@Use symbols; with the @@Tagged symbol; and in the +@Code into clause or @Code "@Target" symbol of a galley definition, in +which case the value of the tag must be {@Code preceding}, +{@Code following}, or {@Code foll_or_prec}. +@PP +Within an @Code "into" clause or @Code "@Target" symbol, the alternative +form @Code "&&&" is acceptable and indicates a forcing galley (Section +{@NumberOf targets}). +@PP +Except within an @Code into clause or @Code "@Target" symbol, the symbol +referred to must have a @@Tag parameter. This is so even if the right +parameter of the cross reference is {@Code preceding}, {@Code following}, +or {@Code foll_or_prec}. +@End @Section |