Chapter 4. Using FrameMaker Files and Template Features

This chapter provides information on how best to use FrameMaker features to produce online books, as well as pointers to related information elsewhere in the book. This chapter contains these sections:

For information on creating and importing figures, see the instructions in Chapter 5, “Working With Figures”.

For instructions on creating online help and integrating it into a GUI application, see Chapter 8, “ Creating Online Help”.

Tagging FrameMaker Files

Before you begin, be sure you are using the standard SGI IPTemplate. The example files that come with the templates contain information on basic tagging sequences and standard uses of the various tags.

This section offers some general tips for tagging.

Using Character Tags, Not Character Formats

If you want individual characters to have a particular look, be sure to use the supplied character tags to change their appearance. Do not use FrameMaker's character designer tool to simply change the format of a character. The build tools look only at tags, not at any modifications you may have made to a character's format. If you don't understand the distinction between tags and formats, refer to the FrameMaker documentation.

Using Valid Tag Sequences

The example files that come with the templates and Chapter 3, “Using the IPTemplates to Author Documents” contain descriptions of the various tags and where and how they may be used. For example, don't put the ChapTitle tag before the ChapNum tag, or the FigTitle tag before the ChapTitle tag, or the Heading2 tag directly after the ChapTitle tag. The online translator expects to see only certain sequences of paragraph and character tags and produces errors for what it considers invalid sequences.


Note: Don't create your own tags, because the build tools cannot translate any tags they don't know about.


Using the Correct Character Tag

Use the correct character tag for each tagged word or phrase. Content-based tags (based on the kind of information being tagged) are preferable to format-based tags (based on the physical appearance of characters). For example, if you're tagging a command, use the Command character tag rather than the Italics character tag. Use the format-based character tags, such as Italics and Bold, only when the template doesn't contain a specific tag that fits your word or phrase.

Creating Equations as Figures

The current build tools do not support FrameMaker equations. If you want an equation in your online book, you must use snapshot or some other screen capture tools to capture a picture of the equation. snapshot saves the equation as a .rgb file and you can import this .rgb file as if it were a figure. Don't give the equation a figure title, though, or it will show up in the list of figures as a figure. For more information about creating equations, see “ Equation Paragraph Tags” in Chapter 3; information about screen captures can be found in “Capturing Images” in Chapter 5.

Using Character Tags on Tabs, Soft Returns, or Hard Returns

In general, try to keep character tags on the specific word or phrase you're tagging, without tagging surrounding whitespace. In particular, never apply a character tag to a tab or a soft return[8] . It's easy to apply character tags to whitespace characters by mistake, particularly when you're working with a hanging list (note that a tab character that has a character tag generates a warning message), so be careful.

Here are a couple of things to watch for when tagging:

  • If possible, select the word you're tagging by double-clicking on it. This keeps you from accidentally selecting extra spaces or tabs. (Unfortunately, sometimes double-clicking does not select the entire “word” you're tagging, because the word is a C expression or something else containing unusual characters.)

  • Sometimes it is difficult to see your selection clearly in FrameMaker, so it's hard to tell if you've selected spaces or tabs in addition to words. If you've accidentally tagged a hard return or a soft return along with the preceding word, insert a space between the return and the word before it. Tag this space with the Default Paragraph Format character tag. This procedure is necessary because hard and soft returns in FrameMaker take the character tag of the character preceding them; you can't just tag the return itself to fix the problem.

Using Tabs in Code

Format code examples with spaces, rather than with tabs. Tabs in code don't display properly online because the translator doesn't recognize them for that paragraph tag. Conversion scripts exist to convert tabs to spaces before importing code examples into FrameMaker files.


Note: Be sure to turn off FrameMaker's Format > Document > Text Options > Smart Spaces feature before you import any code examples into your FrameMaker file. Otherwise, multiple spaces will be squashed down to one space and you'll lose your formatting. (Also turn off Smart Quotes so that code samples use straight quotation marks instead of curved ones.) Be sure to turn on Smart Spaces (and Smart Quotes) after you're done working with code samples.


Creating Valid Copyright and Trademark Symbols

Create copyright, registration, and trademark symbols according to the instructions listed here. If you use any other method for creating these symbols, you'll run into problems when you convert your files to SGML.

  • To create the copyright symbol (©), hold down Ctrl and press Q then release both keys, hold down Shift and type a right parenthesis ( ) ).

  • To create a registered trademark symbol (®), hold down Ctrl and press Q, then release both keys, hold down Shift, and type a left parenthesis ( ( ). Apply the Superscript character tag to the registered trademark symbol after it is inserted. If you don't know whether to use a trademark symbol or a registered-trademark symbol, consult your company's legal department.

  • To create a trademark symbol (™), hold down Ctrl and press Q, then release both keys, hold down Shift, and press asterisk (*). Apply the Superscript character tag to the trademark symbol after it is inserted.

Creating Valid Dashes

Create en dashes and em dashes according to the instructions listed here. If you use any other method for creating these symbols, you might create problems when you convert your files to SGML.

  • To create an en dash (–), hold down Ctrl and press Q, then release both keys, hold down Shift, and press P.

  • To create an em dash (—), hold down Ctrl and press Q, then release both keys, hold down Shift, and press Q.

Creating Footnotes

Footnotes and table footnotes are supported in IRIS InSight. To create them, use the Special > Footnote feature and the Footnote paragraph tag (for footnotes within text) or the TableFootnote paragraph tag (for footnotes in tables).

Creating Online Links

Links are connections between items of information, whether within the same online book or between separate online documents. When the reader clicks a linked item (whether text or an icon), either the IRIS InSight viewer scrolls to the referenced material (a target), or the material appears in a popup window (depending on what kind of material is referenced).

Links fall into two groups based on whether they are automatically generated from the structure of the document (structural links) and require no writer effort, or explicitly created by the writer during document development (writer-generated links).

About Automatic Links

A structural link is automatically created from the structure of the document during the conversion process. Lists of such links appear in the IRIS InSight > Views menu. All the headings listed in the Table of Contents (TOC) view in InSight, for example, are automatically linked to the corresponding headings within the book itself. The same goes for all figures, tables, and media shown in their respective View lists. The result is that a reader can click any item in a list view and the text area scrolls to the appropriate location in the online book.

About Writer-Generated Links

The writer can use various FrameMaker tools to create links to text, tables, or figures in the same book (or in another book), between the text and the glossary, or between the index and the text. Each link has its own appearance and behavior.

Table 4-1 summarizes the writer-generated link types:

Table 4-1. Cross-Reference Link Types

Link Type

How to Create

Appearance in InSight

Link Behavior

Cross-reference to text or table within a book

Use the Special > Cross-Reference format

Cross-reference appears in bold blue in the text

Viewer scrolls to referenced information

Cross-reference to a figure within a book

Use the Special > Cross-Reference format

Cross-reference appears in bold blue in the text

Viewer scrolls to referenced figure

Cross-reference to another book

Use the Special > Marker > Types 18 and 19 as described in “Creating Cross-Reference Links to Other Books ”

Cross-reference appears in red in text

Referenced information appears in new viewer

Glossary link

Use the FrameMaker character tag, GlossaryItem; then create a glossary entry in your book's glossary file as described in “Creating Glossary Links”

Item appears in blue italicized text

Definition appears in a pop-up window

Index link

Use the Special > Marker >Index marker as described in “Creating Index Entries”

Index entry appears in the Index View. Instead of a page number, location in the text appears as bold blue cross- reference to the associated heading/title

Viewer scrolls to referenced information

Reference page link

Tag an item with the RefPage character tag as described in “Creating Reference (Man) Page Links”

Item appears as red text

Text window appears containing indicated reference page

Inline media

Use the InlineObj and InlineTitle paragraph tags as described in “Creating Inline Media Links”

Object appears in media viewer inside InSight viewer window

Media viewer controls appropriate to media type allow user to manipulate or view media

Launch an application (including a World Wide Web browser)

Use Special > Marker > Type 17, as described in “Creating Links to URLs and Applications”

Either icon in margin or hot text, depending on how you set up the link

Application comes up in a new window


A Word on Cross Referencing Headings

It is recommended that for each chapter and appendix of your book, you begin with a bulleted list of the top-level sections in that part, making part of each item a cross-reference to the specified heading. This approach serves two purposes:

  • It allows the online reader to click on any item in the list and have the viewer scroll to that point in the text.

  • It creates cross-reference targets on all top-level headings. Whenever you create a cross-reference, FrameMaker automatically creates a target marker at the referenced location. These targets can be used by other writers to link to your book (see “Creating Cross-Reference Links to Other Books ”).

Creating Cross-Reference Links Within a Book

Cross-reference links within a book are created using the FrameMaker Cross-Reference tool. They appear as bold blue text within the online document. When the reader clicks the link, IRIS InSight either scrolls to the text if the link is to a table or text, or opens the figure in a restricted view if the link is to a figure.

In the example shown in Figure 4-1, the cross reference is referring to Figure A, and Figure A is located two paragraphs below the cross reference. When the reader clicks on the blue “Figure A” text, they are automatically jumped to the image and title for Figure A.

Figure 4-1. Diagram of Cross Reference Targets


To establish a cross-reference:

  1. Insert your cursor where you want the link to appear.

  2. Choose Special > Cross-Reference.

    The Cross-Reference dialog box appears.

  3. Select the paragraph tag of the item you to which you want to link from the list of paragraph tags in the left field.

  4. Select the appropriate heading, title, or text in the right field.

  5. Choose the appropriate cross-reference format from the Format popup menu.

  6. Click Insert.

Table 4-2 shows a matrix of the possible cross-reference formats for each tag.


Note: Only paragraph tags and their possible cross-reference formats that can generate a useful cross-reference are listed in Table 4-2.


Table 4-2. Cross-Reference Format by Paragraph Tag


Paragraph Tag

Cross-Reference Formats Supported by SGIDOC DTD

Cross-Reference Formats Supported by SGIDOCBK DTD[a]

ChapTitle

 AppRef, AppRef1st w/com, AppRef1st w/o end punct, AppRef1st w/per, ChapRef, ChapRef1st w/com, ChapRef1st w/o end punct, ChapRef1st w/per

AppRef, ChapRef, ChapRef1st w/o end punct

CodeTitle

FgTblExEqRef

FgTblExEqRef

ExampleTitle

FgTblExEqRef

FgTblExEqRef

FigTitle

FgTblExEqRef

FgTblExEqRef

Heading*

HdRef, HdRef & App, HdRef & Chap, HdRef & Page, HdRef w/comma, HdRef w/period

HdRef, HdRef & App, HdRef & Chap, HdRef & Page

InlineTitle

FgTblExEqRef

FgTblExEqRef

List1st

ParaNumber

ParaNumber

List*

ParaNumber

ParaNumber

TableTitle

FgTblExEqRef

FgTblExEqRef

[a] The cross-reference formats containing embedded punctuation (w/com, w/per) may still be used in docu ments built with the SGIDOCBK DTD, however the punctuation will be lost in the translation.

Be sure to use an appropriate cross-reference format. Note that the conversion tool automatically removes any page numbers that appear in your cross-reference text; if your book will appear in print as well as online, it's a good idea to use cross-reference formats that include page numbers to help hard copy readers navigate through the book.

Creating Cross-Reference Links to Other Books

Cross-book links appear as bold red text within the online document. When the reader clicks on the link, IRIS InSight opens the appropriate book (if it's available) and either scrolls to the text if the link is to a table or text, or opens the figure in a restricted view if the link is to a figure.

Although cross-references between documents are much like cross-references between files within a book, there are two problems that complicate the situation tremendously:

  • There is no way to guarantee that any two books (even those documenting the same product) will be revised simultaneously, so it's possible that another book you link to may change after your book releases, breaking your link to the other book.

  • You usually don't have the same access to another book that you have to your own; in particular, you can't create a new link target in the referenced book.

The first problem is a coordination and document management issue. If you want to create cross-book links, please take the time to evaluate the risk of having it break. If the book you want to link to is in development, be sure to talk with the author. If the book has already been released, find out when it will be revised and how extensive the changes will be.

Once you have decided to create a cross-book link, you must make sure that there's a cross-reference target in the other book at the point to which you want to link. If such a target doesn't exist already, you need to ask the writer of the other book to create a target for you. It's probably not a good idea to make changes to someone else's book without asking first, especially if you use a revision control system to check documents into and out of a central archive.

To create a cross-book link using markers:

  1. Open the FrameMaker chapter in your book and insert the cursor at the beginning of the text where the cross-book link marker will be placed.

  2. Go to the FrameMaker menu bar and choose Special > Marker.

  3. In the Marker dialog, select Type 18 from the Marker Type pop-up menu.

  4. In the Marker Text box, enter information about the cross-book link using this syntax:

    target_short_title<Space>unique_id 
    

    where target_short_title is the short title of the target book, and unique_id is the identifying number associated with the target element in the target book. To identify the correct unique_id, look in the SGML file for the target book; find the target element and look for an XREF LINKEND= tag nearby. For instance, in the following example the unique_id for the TITLE element is 57332:

    <SECTION ID="LE57332-PARENT"<TITLE ID=LE57332-TITLE">Supplementary Reading</TITLE><PARAGRAPH>Refer to these documents to supplement the information in this guide:</PARAGRAPH>
    

    Or, open the FrameMaker file containing your target information and find the marker associated with the title or heading you to which you want to link. Highlight the target marker and note the marker ID number shown in the Marker Text field. This is the unique_ID you want to use in your cross-book link.

  5. Press the New Marker button to create a new marker containing the information you've specified.

  6. Move the cursor from the beginning of the text where the cross-book link will be placed to the end of the text.

  7. From the Marker dialog box, select Type 19 from the Marker Type popup menu. Leave the Marker Text box empty.

  8. Press the New Marker button to create a new empty marker of type 19.

  9. If the cross-book link is the title of another book, tag the entire construct (markers and the title in between them) with the DocTitle character tag.

The result is a piece of your document with this structure:

<type-18_marker>text<type-19_marker>

where “text” is the text that will be marked as a link, the type-18 marker contains the name of the target book and the ID of the target element, and the type-19 marker is empty (a placeholder to indicate the end of the cross-reference text).


Note: The text between the markers cannot contain any character tags other than DocTitle.


Creating Glossary Links

Glossary links appear as blue italicized words in the online text. When the reader clicks on the word, the definition appears in a restricted viewer. The link itself is either to the SGI Glossary of Terms, a global glossary common to all books, or to a local glossary specific to the book. IRIS InSight searches the local glossary first (if it exists), then searches the global glossary.

To make a glossary item, tag the word using the GlossaryItem character tag. Do this only where you think it is important, not every time the word appears; otherwise your book will be peppered with blue italicized glossary links. In order to match, the text that you tag GlossaryItem must be spelled and punctuated identically to the text of a GlossaryTerm in your glossary.


Note: This restriction (requiring the linked reference to be identical to the entry) can cause some problems. For instance, if you have a glossary entry for the term “window,” you can't link to it from the words “windows” or “windowing” in the text; and it can be difficult to re-word the text to fit the format of the glossary entry. One workaround for this problem is to create additional cross-referencing glossary entries for those words—have an entry for “windows,” for instance, which simply says “see `window,'” with the word “window” linked to the glossary entry. (You can put glossary links inside the glossary itself.)

To create a local glossary tailored specifically to your book, use the IPGlossary.doc template provided with the book template files. Once you've created your glossary, add its filename (usually simply glossary.doc) to your Makefile at the end of the list of chapter files. The build tools automatically create links between words tagged GlossaryItem and the corresponding entries in the glossary file.

Creating Index Entries

Index entries appear in the Index View in much the same way as they would in a hard copy index. The major difference is that instead of a page number, the location in the text appears as a bold blue cross-reference to the associated heading or title.

Use FrameMaker index markers to create index entries for the back-of-the-book index (so called to distinguish it from the full-text index that the build tools create).

Using Index Markers

To create index entries using markers:

  1. Insert the cursor next to the text to be indexed.

  2. Choose Special > Marker.

  3. Select Index from the Marker Type popup list.

  4. Type the index information in the Marker Text field.

    For second- and third-level index entries, a colon is used as the delimiter. Follow the syntax

    <main_entry>:<sub-level> 
    

  5. Click New Marker.

To edit an existing index entry:

  1. Choose Special > Marker.

  2. Highlight the index marker so the text appears in the Marker Text field.

  3. Edit the text.

  4. Click Edit Marker.

Using IndexEntry Conditional Text

As an alternative, if you are trying to update a large set of index markers, use the conditional text format, IndexEntry. The IndexEntry conditional text format is part of the standard set of conditional text formats provided with each template file.

To determine if your document includes index entries created using this conditional text technique:

  1. Choose Special > Conditional Text.

  2. Click Show/Hide.

  3. Highlight IndexEntry and use the <-- button to move it to the left window.

  4. Click Set.

To find an existing index entry done with IndexEntry conditional text:

  1. Choose Special > Marker to display the Marker dialog box.

  2. Choose Edit > Find/Change.

  3. Set up Find to Marker of Type: and type Index into the dialog box.

  4. In the Change popup menu, select To Text.

  5. Click Find.

When you have found the index entry you want to edit:

  1. Click Change so the index marker information changes to text.

  2. Edit the index entry in the text of the document (it will appear in blue underlined text).

  3. Select the index entry text (highlight it).

  4. Ensure that the new text appears in the Marker Text field.

  5. Click Edit Marker.

To hide conditional text index entries in a document:

  1. Choose Special > Conditional Text.

  2. Select Show/Hide.

  3. Select IndexEntry and move it to the Hide column using the --> button.

  4. Select Set.

To hide conditional text index entries in an entire document.

  1. Open a document in a book that has its index entries hidden.

  2. In the bookfile, Choose File > Import Formats.

  3. From the Import from Document scroll list, select the document that has its index entries hidden.

  4. Select only the Conditional Text check box.

  5. Ensure that all files you wish to update are listed in the Update scroll list.

  6. Click Import.

Indexing Tips

Below are some tips to help make index creation a less painful experience:

  • Be careful about how you treat blank spaces before and after your index entries. For example, if you put an index entry at the beginning of a paragraph and put an unconditional blank between the index entry and the real beginning of the text, your paragraph will be improperly indented.

  • FrameMaker can automatically generate lists of markers. In the bookfile, choose File > Generate/Book, check List, select List of Markers or Alphabetical Marker List, and click Generate.

  • In your FrameMaker files, choose Edit > Find/Change to search for Any Marker, Marker of Type:, or Marker Text.

Online books require certain limitations in index entries:

  • Index entries can be no more than three levels deep.

  • You can't put an index marker in a table footnote.

  • A character format in an index entry can't cross a semicolon or colon boundary; for instance, <Italics>entry:subentry<Default Para Font> won't work the way you might expect it to. Instead, you'd have to use <Italics>entry<Default Para Font>:<Italics>subentry<Default Para Font>.

  • Special characters that result in entity references (such as special characters for foreign languages) may not sort correctly in the online index.

  • Sorting ignores these characters if they appear as the first character in an index entry: “, <, $, ., /, and <space>. The syntax for overriding the ignore instructions are outlined in “Template-Specific Index Entry Syntax Rules”.

Template-Specific Index Entry Syntax Rules

For an explanation of the standard rules for index entry syntax, see the FrameMaker documentation. The templates have defined the following characters as “ignored” for index sorting purposes:

$ dollar sign
/ slash
. period
< less than
" double quote
“ left double quote
” right double quote
- hyphen
– endash
— emdash

So, for instance, the entry

/etc/hosts

is sorted as though the slashes were absent. The full entry (under E) appears as

E
/etc/hosts

Be aware that because all instances of an ignored character are ignored, sequences like the following are possible:

/etc/ghosts
/etchosts
/etc/root

This is primarily a problem with the / character, since the other ignored characters rarely appear anywhere but the beginning of an index entry. In the case of the / character, it was decided that the advantage of having the leading / ignored outweighed the disadvantage of having to put up with a few cases where an ignored / in the midst of an entry caused an unusual sort order.

The following rules apply to ignored characters in index entry syntax.

  • If an ignored character appears in brackets, it is “unignored” for sorting purposes:

    /etc/hosts[/] is sorted (under Symbols) as:

    Symbols
    /etc/hosts
    

  • If the ignored character in brackets is followed by any text, the entry is sorted according to the full bracketed string, and the ignored character is ignored.

    /etc[/etc] is sorted as:

    E
    /etc
    

  • The unignore “flag” can be grouped with other sort instructions in brackets.

    /etc[;/;blah] is sorted as:

    Symbols
    /etc
    

    and 

    B
    /etc
    

    and 

    E
    /etc
    

Creating Reference (Man) Page Links

To create a link to a reference page, use the Refpage character tag. Be sure to tag the entire reference page name, including the parentheses, if there are any. The reference page name will appear in red text online and, when clicked, will launch the reference page in a shell. In print, the reference page name appears in the default font (Palatino).

Creating Inline Media Links

IRIS InSight supports the inclusion of digital media files created from SGIVIDEO, SGIRGB, SGIAUDIO, or SGIINVENTOR. To create a link to digital media in your online document, perform the following steps:

  1. Open the FrameMaker file and insert your cursor where you want the inline media to appear in your document.

  2. Press Enter to create an empty paragraph tag.

  3. Tag the paragraph with the InlineObj paragraph tag.

  4. Type the inline object information following the syntax:

    type:referenced_filename 

    where type can be SGIVIDEO, SGIRGB, SGIAUDIO , or SGIINVENTOR .

  5. Press Enter. The new paragraph is automatically tagged as InlineTitle.

  6. Type the title of your media.


    Note: The title paragraph is optional. If you don't need a title for your media to appear in the online document, delete this paragraph.


  7. Highlight and tag both the InlineObj and InlineTitle paragraphs with the OnlineOnly conditional tag.

Here is an example of an SGIINVENTOR file.

Creating Links to URLs and Applications

IRIS Insight supports the ability to launch a Web browser and point it to a particular Universal Resource Locator (URL) as well as to launch an application using the Launchword character tag in conjunction with Marker Type 17.

Creating a Link to a URL Address

To launch Netscape and link to a URL address, perform the following steps:

  1. Open the FrameMaker file and insert your cursor where you want the link to appear in your document.

  2. If a URL is very long, put it on a line by itself by either pressing Enter to create a new paragraph or by pressing Shift +Enter to create a soft return.

  3. Type the URL.

    If the URL is longer than one line, make it wrap after a slash.

  4. Insert the cursor in front of the URL.

  5. Choose Special > Marker.

  6. Select custom marker 17 from the Marker Type scroll list.

  7. In the Marker Text box, type

    Launchword:/usr/sbin/nr:<URL> 
    

  8. Click New Marker.

  9. Tag the URL with the Launchword character tag, but do not tag the marker.

The URL will appear as default font (Palatino) in print and as red text in your online document.

Creating a Link to an Application

To launch an application from your online book, perform the following steps:

  1. Open the FrameMaker file and insert your cursor in front of the name of the application.

  2. Choose Special > Marker.

  3. Select custom marker 17 from the Marker Type scroll list.

  4. In the Marker Text box, type

    Launchword:/<path>/<to>/<program> 
    

    For example, to launch the application MovieMaker, type

    Launchword:/usr/sbin/moviemaker 
    

  5. Click New Marker.

  6. Tag the application name with the Launchword character tag, but do not tag the marker.

The application name will appear as default font (Palatino) in print and as red text in your online document.



[8] You can create a soft return by holding down the Shift key and pressing Enter.