ADOBE FRAMEMAKER 10
MIF Reference
37
The format of a cross-reference determines its appearance and the wording. Cross-reference formats include building
blocks, instructions to FrameMaker about what information to extract from the reference source. A common
building block is
<$pagenum>, which FrameMaker replaces with the page number of the reference source. Another
common building block is <$paratext>, which FrameMaker replaces with the text content of the paragraph,
excluding autonumbering and special characters such as tabs and forced line breaks.
Within a FrameMaker document, you insert and format cross-references by choosing Cross-Reference from the
Special menu. In a MIF file, you create a cross-reference as follows:
• Create the format of cross-references by using XRefFormats and XRefFormat statements.
• Insert a marker at the reference source by using a Marker statement.
• Insert the reference point by using an XRef statement.
Creating cross-reference formats
The cross-reference formats for a document are defined in one XRefFormats statement. A document can have only
one
XRefFormats statement.
The
XRefFormats statement contains one or more XRefFormat statements that define the cross-reference formats.
A cross-reference format consists of a name and a definition.
<XRefFormats
<XRefFormat
<XRefName `Page'>
<XRefDef `page\x11 <$pagenum\>'>
> # end of XRefFormat
> # end of XRefFormats
The name can be any string allowed in a MIF file (see “Character set in strings” on page 7). In this example, a
nonbreaking space (
\x11) appears between the word “page” and the page number. Each cross-reference format must
have a unique name; names are case-sensitive. The cross-reference definition contains text and cross-reference
building blocks. See your user’s manual or the online Help system for a list of building blocks.
Inserting the reference source marker
To mark the location of the reference source, insert a Marker statement at the beginning of the reference source. The
following example creates a cross-reference to a heading:
<Para
<PgfTag `Heading'>
<ParaLine
<Marker
<MType 9> # Identifies this as a cross-reference
<MText `34126: Heading: My Heading'>
# Cross-reference source
> # end of Marker
<String `My Heading'>
> # end of ParaLine
> # end of Para
The <MType 9> statement identifies this as a cross-reference marker; it is required. The MText statement contains
the cross-reference source text, which must be unique. When FrameMaker writes a cross-reference, it adds a unique
number and the paragraph tag to the
MText statement, as shown in the previous example. While the number is not
required, it guarantees that the cross-reference points to a unique source when the number is present. In the previous
example, the number in
<MText> is not mandatory. However, the number in the example ensures that the new cross-
reference points to the
‘My heading’ heading.