(A copy of this message has also been posted to the following newsgroups: comp.text.frame, comp.text.pdf) An anonymous correspondent unfamiliar with FrameMaker asks about making Acrobat links. I explain the basics, then seguŽ into some Frame esoterica. > Do you know of any automated process to introduce hypertext links into > a FrameMaker 5 document? For instance, a script would look at a > document and whenever it saw a phrase like "see section 3.4", a > hypertext link would be created. This link would point to section 3.4. I see that Microsoft Word has traumatized you, locked you in the 80's. In Frame, you can arrange for this all to happen more or less automatically. Don't type the literal text "see section 3.4". Instead, when you want to insert a crossreference, choose Cross-Reference from the Special menu (or hit Command-K for "Kross-reference"). A dialog box invites you to choose a Source Document -- select an open document, perhaps the document you're in, perhaps a different document. Define a Format -- in this case, use see section <$paranum> Choose a Source Type -- select the paragraph tag that you use for section headings. Finally, pick a Reference Source from a scrolling list that displays all the numbers and titles of your section "paragraphs". Click OK. Your desired "see section 3.4" now appears at the insertion point. But it hasn't been inserted as editable text, it's an atomic crossreference ("marker"). Should you insert or delete a few sections ahead of 3.4, just Update Cross-References and the reference will be renumbered. These atomic crossreferences will Distill automatically into Acrobat PDF links. No muss, no fuss, no bother.[1] I personally prefer to use a crossreference that displays the section title (italicized) and its page number, instead of the section number. The section title gives the reader a sense of the content of the referenced section without forcing him to go there. The page number allows the reader of a paper copy to immediately turn to the indicated page rather than having to leaf through the document scanning through the sections. I omit the word "see" from my format definitions, to allow me to use the same format for references that differ grammatically. Instead of "See section 3.4", I may choose in a particular passage to write "Section 3.4 gives details of this procedure." The grammatical variety will be appreciated by your reader. Once you start exploiting crossreferences, you will be tempted to invent many specialized formats, one for Sections, one for Chapters, one for Figures and so on. But I define just a few formats that are useful for almost all types of reference. I make sure to use style names (tags) that are sensible words like Section, Chapter, Figure, Table and so on. I defined this crossreference format, which I call "on_page": <$paratext> on page\ <$pagenum> As you may guess, the codes and turn italics on and off. The code <$paratext> inserts the text contained in the referenced item, in this case, the title of section 3.4. When you redefine a format, just Update Cross-References -- in this example, a reference that previously appeared "see section 3.4" will take the form "see Delivering Babies on page 121" (where the two words Delivering Babies are italicized). I place a nonbreaking space between the word page and the page number; this is entered on a Mac as the two character sequence backslash-space. I have four additional formats, which I named "above", "below", "opposite" and "overleaf". They are all nearly identical; here's "above": <$paratag>\ <$paranum> above When I need to refer to a Figure or Table or Equation that lies above, below, opposite or overleaf from the reference, I simply choose the appropriate format. The number is picked up from the (autonumbered) item; the number is updated automatically should I insert, delete or rearrange figures, tables or equations. In case the referenced item lies far away, I have a fifth format "distant" defined as <$paratag>\ <$paranum> on page\ <$pagenum> This expands to something like "Equation 4-13 on page 65". Ideally I would like one of these five types -- above, below, opposite, overleaf or distant -- to be chosen by Frame based on the relative positions of the crossreference and the referenced item upon layout. But for now I am happy to manually change the format type depending on how things fall on the page. You can easily search for crossreferences to validate that appropriate pointers have been used throughout a document, after editing.[2] One minor stylistic problem with my approach is that Section, Chapter, Figure, Table and so on always appear with an initial capital.[3] To see how all this works in a real document[4], check the PDF version of my Colour FAQ, linked through my home page on the web. C. [1] If you want the crossreferences to show up the Acrobat Reader coloured green, just include in the format string, and define the Green character format accordingly. But I confess there is then some fuss if you want Green to change to Black when you print to paper. [2] Of course, you can eliminate the need for this checking by using rigid reference formats that are the same no matter where the referenced item is located, but I find that my scheme leads to a more fluid, polished document. [3] 1995/07/13. Dear Frame Technology; Re: Request for Enhancement. Please implement a building-block <$Paratag> that behaves identically to <$paratag>, but if the first character of the tag is a lowercase letter, force it to uppercase. Sincerely, /s/ Charles A. Poynton [Frame 4.0.4p1 on Mac Quadra 900 running System 7.5.1] [4] Incidentally, I never use footnotes in a real document. Hate them. Despise them. ----- Charles Poynton [Mac Eudora/MIME/BinHex]