As a FrameMaker user, it's likely that you've run into some typical headaches while performing everyday tasks. Most everyone's seen the dreaded Missing Fonts error message, run into FrameMaker templates that are hard to understand, or have been presented with a variety of documentation problems to which there is no obvious solution.
In this chapter, you learn how to approach and solve some common problems that you might encounter while working on your documents.
If you are working with inherited FrameMaker templates that have no accompanying documentation or verbal instruction, take the time to understand the template and how it works before you dive into a project. You can reduce the amount of time by putting together a quick template guide for yourself to use as a cheat sheet while you get better acquainted with the template.
This section reviews some steps you can take towards getting up to speed quickly with an inherited template. Before you begin, create a new, untitled document using the predefined formats from the inherited template. Then input information about the template into the new document and print it for use as a guide.
To create a new, untitled document using the inherited template's format, follow these steps:
Select File > New > Document.
Navigate to the location (on your hard drive) of the inherited template and select that template's filename from the list.
The template filename appears in the Use Template Text field.
Click on New.
A new untitled document appears and is ready for you to use.
Save the file with a new filename.
The first step is to gather some basic information about the template. For example, you need to know the page size, whether it's single- or double-sided, information about header and footer usage, what the column specifications are (single, two-column, or sidehead), how many master pages are included, and what the master pages might be used for.
Table 13.1 lists some commands to get you started with the basic information you'll need about the template. Type the resulting information into the new, untitled document.
Format > Pagelayout > Page Size
Page size used in the document.
Format > Pagelayout > Pagination
Single- or double-sided, first page side.
Format > Pagelayout > Column Layout
Determines the number of columns or if sideheads are used.
View > Master Pages
Determines the number of master pages used. The bottom of the document window provides information about the total number of pages.
Double-click on master page header/ footer variables (each one separately).
Displays the Variable window with the variable definition.
See Chapter 4, "Headers and Footers," for more information.
Determines what paragraph tags (if any) are being referenced as source information for headers/footers.
Determines if user variables are being used for a document title displayed in the header and what their definitions are.
It's likely that your template has a long list of tag names in the Paragraph Catalog. These tags might be meaningless to you if you have no knowledge of each tag's usage or its formatting properties. Therefore, the next step to discover the inner workings of the template is to build a list of used paragraph tags. Although there is no automated method to do this, you can accomplish this task in less than 20 minutes.
In your template guide file, display the Paragraph Catalog and get ready to type. Type the name of the first paragraph tag name in the Paragraph Catalog list, then click on that tag name in the Paragraph Catalog to format the typed text with that tag's properties. Press Enter and do the same for each paragraph tag in the list.
If you discover particular paragraph tags referenced in running header or footer variables (such as Running H/F1), type that information next to the tag name as a note to yourself. In addition, if you discover paragraph tags with numbering properties, type the numbering property next to the corresponding tag name in your list. You can easily copy and paste this information from the Autonumber Property Text field to your document.
You end up with a list of all the paragraph tag names and the aesthetic design of each one, as shown in Figure 13.1.
You can build a character tag list in the same way you build the paragraph tag list. Because character formats affect selected text and not a paragraph (unless the entire paragraph is selected), you can type the character tag name on one or two lines, select each typed name, and apply the corresponding name from the Character Catalog, as shown in Figure 13.2.
If you encounter the Missing Fonts message, read "Working with Missing Fonts" later in this chapter.
Whether your documents will result in print, PDF, or if you plan to share files with others, it's a good idea to know the names of the fonts that are used in the template. If you have not encountered the Missing Fonts message, you can generate a list of fonts that are used in the file after you build your list of paragraph tags (as discussed previously).
From the document window, generate a list of font references. This results in a list of fonts that are currently applied to all the text in the document. Therefore, if you had a paragraph tag with a particular font that was not applied to any text and you generate a list of font references, this font will not show up in the list (unless it is being used in a different paragraph tag that was applied to text).
The resulting list is generic-looking, but the point of this exercise is to get the names of all the fonts used in the document. To generate a list of font references, follow these steps:
Select Special > List of > References.
The Standalone List of References alert message appears. The message reminds you that you are creating a generated list for an individual file and not a book file.
In the Don't Include list, double-click on Fonts to move it to the Include References list.
FrameMaker generates a list of font references. You can format the list if you want. See Chapter 8, "Creating Tables of Contents and Other Lists," for more information on formatting generated lists.
You can get information about many more document elements, including cross-references, table formats, and conditional text settings.
Continue gathering information about the template by inserting tables using the various included formats. Type the name of each format along with the table to use it as a good reference later (select Table > Insert Table).
Place several cross-references in your template guide that use the same source information. Then use a different cross-reference format for each one to understand the differences between them (select Special > Cross-Reference).
If you are using conditional text, check to see what condition tags are available along with their characteristics (select Special > Conditional Text).
After you include all these pieces of information in your template guide, you'll be more familiar with the included features of the template and how to best use it for your projects. You might even find ways to improve what's already there.
FrameMaker uses predefined formats for Paragraph, Character, and Table Designers, as well as page layouts. If you make a change to paragraph, character, or table formats, and use the Apply To button rather than the Update All button, you end up with a format override. Making changes to paragraph text using the formatting bar also causes this result. In the same way, if you change the column layout of a body page without first changing its corresponding master page layout, you end up with a format override for that body page. Format overrides are common and occur as a result of a change you made to a particular selection that no longer matches the predefined format.
Paragraph and character format overrides are indicated by an asterisk (*) in the status bar. Table and page layout overrides have no indicators. If you include format overrides in documents, each time you make a change to the predefined format, the Format Override window appears, as shown in Figure 13.3.
Now's a good time to review how format overrides work after they are included in documents. Using the predefined paragraph tag Body as the example, suppose that you have several paragraphs tagged with Body. The Basic properties indicate that Indent: First is 0 inches. If you were to change one paragraph tagged with Body, to Basic > Indent > First to .5 inches, and click Apply To rather then Update All, you would effect a change in that paragraph only, creating a format override. After you include the format override, if you decide later to make another change to the predefined Body tag and select Update All, the Format Override window appears. The following choices are available in the Format Override window:
Retain Overrides. Results in the predefined format being updated with the indicated change, and the paragraph with the format override continuing to include its override, as well as the new change.
Remove Overrides. Results in the predefined format being updated with the indicated change, and the paragraph with the format override reset back to the predefined format, no longer including the format override.
The only time you won't see the Format Overrides window is if you use Update All to change the predefined format and your insertion point just happens to be in the paragraph with the Format Override. If you do not notice this and make changes to the Paragraph Designer using Update All, the format override becomes part of the predefined format.
You can eliminate format overrides at one time in a document by using the Import Formats commands. To eliminate format overrides, have a clean template handy. The clean template is identical to the file containing the overrides. Follow these steps to import the formats from the template to the document with the overrides:
Open the original template and the file with the overrides.
With the override file active, select File > Import Formats.
Select the clean template as the Source Document.
Select all items in the Import and Update list.
Select While Updating Remove: Other Format/Layout Overrides.
Click on Import.
The formats from the template are imported into the file. All format overrides are eliminated, whether they are paragraph, character, table, or page layout.
FrameMaker's As Is setting is a powerful feature that can be tricky. As Is can appear in the Paragraph, Character, and Table Designers, or other dialog boxes. The most common use of the As Is feature is in character formats. As Is allows you to determine what properties will be changed and what properties will not be changed as a result of applying a character format to text. This is why you can create one character tag, Italic, for example, apply it to text of any font family and size, and retain both the font family and size of text while changing only the angle. In this case, the font family and size are set to As Is and only the Angle property is specifically defined as italic.
You might have run into the As Is feature while viewing Paragraph Designer properties after selecting more than one paragraph in a document whose properties are different from each other. For example, suppose that you select two paragraphs whose Default Font properties are different. If you look in the Paragraph Designer > Default Font, the Family pop-up menu shows As Is.
As Is can also change one or more properties of any paragraph, character, or table tags at one time, without changing any other property of the same tag. For example, you can change one specific property of many paragraph tags, without affecting the remaining properties.
The As Is feature is tricky to use in dialog window checkboxes. For example, if a particular checkbox setting is turned on and you want to turn it off, you would normally click the checkbox one time. Clicking the checkbox one time changes the setting to As Is, which is usually indicated by a greyed out checkbox. You have to click the checkbox two times in order to change the selection to the state that you want (in this case, Off).
Examine a simple example of how mistakes happen with As Is. Suppose that you have the Body paragraph tag set up with the Hyphenation setting turned on in Advanced Properties (see A in Figure 13.4) and you want to turn off Hyphenation for all Body tags. If you were to click the Hyphenate setting one time and then click Update All Formats Tagged Body, this would have no effect because that selection is As Is and indicates that you are leaving Hyphenation in its current state. The dialog box labeled B in Figure 13.4 shows a checkbox in As Is state.
You must click two times on the Hyphenation checkbox to turn this selection to the Off position, as shown in C in of Figure 13.4, before you select Update All or Apply To.
Sometimes, FrameMaker cannot update cross-references in documents with the latest source information. When unresolved cross-references occur, an unresolved cross-reference message appears, but the exact cause of the problem isn't spelled out for you. Therefore, you must do some detective work to find out what went wrong before you can solve the cross-reference problem.
FrameMaker cannot update cross-references for the following reasons:
A cross-reference marker was deleted from the source information.
The source information is part of conditional text that is hidden.
The name of the source file changed.
The location of the source file changed.
To resolve cross-references, you must understand how to use the Unresolved Cross-Reference window. Although this method works for resolving certain types of unresolved references, such as filename or location changes, if cross-reference markers were deleted for any reason, this window won't be much help. You'll have to take further action to find each individual occurrence of an unresolved cross-reference and reconnect the cross-reference with its source information.
For detailed information on fixing unresolved cross-references, see Chapter 5, "Cross-References."
The Missing Fonts error is perhaps one of the most-common problems users experience in FrameMaker. Missing font errors occur when your computer doesn't have the exact font that is used or referenced in the document file. With FrameMaker available on a variety of hardware and software platforms (where the same fonts have names with slight differences), different font configurations for individual computers and multiple users working on document files, it's no wonder that the Missing Fonts error continues to pop up onscreen.
If you are working in a book file, this error can mean trouble. Usually, you don't have to open individual files included in a book in order to update/generate the book file. However, if individual files contain missing fonts (for any reason), the book's update/generate will stop. You must solve the font problem before you attempt to update the book file. A quick fix for this is to open the individual files causing the problem first, and then update the book file. By opening the files first and dismissing the Missing Fonts error message, you can successfully update the book file while those files stay open.
This method is not so practical if you have 25 or 35 files included in your book. Whether a document file is part of a book or not, you should attempt to solve the missing font problem.
It's a good idea to figure out the font names that are missing before you do anything else. The following steps describe how to determine the missing font names:
Open a file that contains missing fonts.
The Missing Fonts error message appears, as shown in Figure 13.5.
The Console window produces a list of missing fonts and substitutions for each font.
Before you do anything else, check your computer setup to determine if you have the particular fonts that are missing. If you do not, quit FrameMaker and get the correct fonts installed on your computer. After you have the fonts installed correctly, the error message goes away the next time you open the file.
If you can't install the correct fonts, you can do one of the following:
Substitute temporary fonts for the correct fonts.
Permanently replace the correct fonts with substitute fonts.
FrameMaker's Font Preference settings enable you to either temporarily or permanently replace the correct fonts. Font preference settings are located in File > Preferences. Determine which method works best for your situation. Table 13.2 shows the result of the font setting turned on or off and why you would choose one or the other.
Why Do This
Turn On Remember Missing Font Names
Temporary fonts are substituted for the correct fonts, but the correct fonts are remembered. Therefore, next time this file is opened on a computer with the correct fonts, those fonts are used.
You will encounter the Missing Fonts message each time the file is opened without the correct fonts. The substitute fonts temporarily change the document design and pagination.
The file came from another computer platform.
You are editing the file and not doing final production.
You can temporarily live with substitute fonts for any other reason.
Turn Off Remember Missing Font Names
Temporary fonts are substituted for the correct fonts and the correct fonts are not remembered. Therefore, the next time this file is opened on a computer with the original correct fonts, this will have no effect and the substitute fonts will continue to be used.
The font is no longer being used and you cannot find it in the file although the error message continues.
The font is used but you do not need it anymore.
A multitude of errors can occur while you update book files. In order for information in files to be updated (according to book settings), you must solve any book file errors.
Book files allow you to work with several document files as a unit. A book file also provides the ability to produce a single table of contents or index, based on the included set of document files. Updating information from a book file produces several results. File information, such as numbering and cross-references, are updated with the latest information. Table of contents, indexes, and other generated files are also updated with the latest information.
Sometimes, if there are book file errors, the table of contents or index might not update with the latest information. You might be fooled into thinking something is specifically wrong with the index or the table of contents. There can be, but chances are that the problem originates from other book file errors. Therefore, indexes or table of contents do not update correctly. After book file errors are solved, generated files update correctly.
Fortunately, book file errors are listed in a separate document, which is automatically produced after errors are found. Book file errors usually consist of the following:
Couldn't Open File
Inconsistent Numbering Properties
If you decide not to solve book file errors, don't count on updated information in document files or generated files to be correct. The right thing to do is to correct the problems before you continue with book file updates.
Read the section, "Solving Book File Errors," in Chapter 7, "Combining Documents into Books." You learn how to solve each type of book file error.
If you use chapter-based page numbering in document files, you will have to add the chapter prefix number to page numbers in generated files, such as the table of contents, list of figures, or indexes. Chapter-based numbering in documents includes the chapter number as part of the page number. Each chapter usually restarts at page 1. Thus, a typical chapter-based page number for Chapter 5 would look like this:
5-1, 5-2, 5-3...
When you create a table of contents or an index for the first time, the corresponding page number for each item in the resulting list does not have a chapter-based prefix number. You must add this to each generated file's special text flow, located on the reference page. Thereafter, each time you update a generated file, the prefix number is included in the page-number reference.
For more information on including prefix page numbers in the table of contents lists, see page 249 in Chapter 8, "Creating Tables of Contents and Other Lists." To include prefix numbers in indexes, see page 293 of Chapter 9, "Indexing."
Sometimes, files included in a book file use different page numbering systems. For example, suppose that you are working with a book file that includes a Preface section with pages numbered as i, ii, iii , chapter sections with pages numbered as 5-1, 5-2, 5-3 (for Chapter 5), and appendixes with pages numbered A-1, A-2, A-3 .
If you include the chapter prefix with the page number in the index, you might run into a problem with page numbers of index entries extracted from the Preface. The Preface page numbers have no prefix. Therefore, if you use the following Building Blocks
to produce the page numbers in the index, the Preface page numbers would also look something like this:
9-i, 9-ii, 9-iii
Although you might not actually be using the chapter number anywhere in the Preface file, you cannot suppress this number. You must perform two exercises in order to have the index entry page numbers for the Preface show up as
i, ii, iii
without the chapter number preceding it. But you will continue to have the chapter number precede the chapters and appendixes. This would look something like this in the index list:
Installing the Software ii
For detailed information on how to include multiple page number styles in an index, please see page 294.
As you saw in Chapter 4, running headers and footers provide information about a document. Usually, this information corresponds to source text in the document with a particular paragraph tag applied. As a result, the running header or footer information changes from page to page, based on the source text in the document.
If your document's running headers or footers do not display the correct source information, review the following list before you redo all your work. It is often a simple error that can cause this type of problem.
Make sure that at least one source paragraph is tagged with the paragraph tag referenced in the Running H/F variable.
Check the paragraph tag name referenced in the Running H/F variable against the paragraph tag name in the Paragraph Catalog. These must be exactly the same with regard to spelling, capitalization, or spaces.
Use Edit > Find/Change > Text > Paragraph Tag to search for the paragraph tag referenced in the Running H/F variable. If you find empty paragraph returns tagged with the referenced paragraph tag, these empty paragraph returns can cause the running header or footer to appear empty.
If after generating a table of contents, empty lines are included in the list, you must look in the source document to find the problem. Usually, the cause of this problem is empty paragraph returns in the source document tagged with source paragraph tags included in the table of contents.
It's a good idea to use the automatic hypertext links to jump from the table of contents list to the exact source of the problem listing.
If you don't have hypertext links included in the table of contents list, you have to turn on hypertext links in the Set Up Table of Contents window and regenerate the table of contents. Follow these steps to include hypertext markers in your table of contents:
From a book file, select Table of Contents in the book file list.
Select Edit > Set Up Table of Contents.
Click Create Hypertext Links to turn on this feature.
Select the Set button.
The Update book window appears.
The hypertext markers are included in the generated table of contents.
Back to Basics
You can use Control+Alt to click on a hypertext link in a document.
If you don't want to use hypertext links, you can always look on the page of the source document to find the source paragraph with the error.
If you're curious as to how to incorporate change pages into documents, this section is for you. If you have been through many versions of FrameMaker, you might remember when freeze pagination was a documented feature of the program. Although this is no longer documented in FrameMaker, freeze pagination continues to be a working feature.
Although you traditionally use freeze pagination to create change pages in documents, you can also use this feature to resolve pagination problems when pages were inconveniently added by using the Special > Add Disconnected Pages command. This section explores how freeze pagination works to create change pages and how to resolve some pagination problems.
Change pages are useful in documents where new information is added after the fact. For example, if you already sent documentation to your customers and new information is added to the documentation, the change pages can be released, thereby saving you the time of redoing all the documentation.
Change pages work by freezing the current pagination in the document. Then each page is essentially a disconnected page. When you add the change pages to the document, a new blank disconnected page is inserted at the desired location and becomes a point page. A point page has a decimal number added to its page number. Suppose that, after freezing the pagination in a document, you add two change pages between pages 2 and 3. The number of those change pages will be 2.1 and 2.2. If you were to add a change page after page 3, the page number of that page would be 3.1.
Back to Basics
To display the point page number, each body page must correspond to a master page that includes a page number variable.
The following steps guide you through the freezing pagination process:
Press Esc pz on your keyboard in sequence.
The Freeze Pagination window appears, as shown in Figure 13.6.
Select the Point Page # Style from the drop-down menu.
The Point Page # Style is the number that appears after the main page number. If you add a change page after page 2 and select Numeric as the point page # style, the result is 2.1, 2.2 . If you select Alphabetic as the point page # style, the result is 2.a, 2.b .
The pagination in the document freezes. Pages added to the document get an automatic point page number.
Back to Basics
To unfreeze pagination, press Esc pz on your keyboard and select Unfreeze.
Although creating change pages can be useful in documents, understanding its shortcomings is equally important. This might clear up some questions you have after performing a freeze pagination in documents:
Paragraphs that extend across two pages become two separate paragraphs.
Autonumbering doesn't lend itself well to point pages because each page becomes its own text flow, then each number sequence is no longer connected to its numbering sequence on other pages, and you end up with zeros in autonumbers.
When tables extend across more than one page, the rows on the second page are automatically placed onto a point page, although they remain connected to the first part of the table. In other words, if a large table is on page 8 and continues on page 9, after freezing pagination, the continuing part of the table is on point page 8.1 and text that comes after the table appears on page 9.
You might have encountered a document that had a page or two added using the Special > Add Disconnected Pages command. If disconnected pages were added to the document with no specific purpose for being disconnected, such a page can cause some real problems in documents, because it won't be connected to the main text flow. You can resolve this problem by using the Format > Customize Layout > Connect Text Frames command, which allows you to connect text frames to each other one pair at a time. You can also resolve this by freezing and unfreezing the pagination in a document. After you unfreeze the pagination, all the text frames are connected and you no longer have disconnected pages in the document.
The <$filename> variable is a helpful piece of information to include in headers, footers, or other locations of your document. The <$filename> variable comes in two varieties:
Long filename. Displays the full path and the filename.
Short filename. Displays the filename only.
Using either the long or short filename variables produces the following:
If you convert document files to PDF for distribution and included this variable in your document, the original name and extension continue to be displayed in the PDF file. To avoid confusion, it might be helpful to just display the name of the file without the extension.
Here's a quick way to display the filename variable without the .fm extension after you insert the variable in the header, footer, or another location in your document:
Select File > Save As.
The Save As window appears.
Navigate to the correct location of the file and type "filename" in the Filename field, as shown in Figure 13.7.
Be sure to include the quotation marks around the name of the file.
The FrameMaker file extension no longer is used for this file and therefore isn't displayed in the filename variable. Notice that the file sports a generic icon rather than a FrameMaker icon. You will have to open this file from within FrameMaker rather than clicking on the file itself to open it.
If you've imported documents from Microsoft Word that include tables, you've probably run across some formatting problems with these tables in FrameMaker:
If the Word tables have header rows in Word, these will not be header rows in FrameMaker.
If you apply FrameMaker table formats to imported Word tables, the format has no effect on the table.
For information on how to solve this problem, see Chapter 12, "Converting Documents from Other Applications."
Running headers or footers typically correspond to source text within the same file. For example, if a running header refers to source text tagged with the paragraph tag ChapterTitle, that source text is displayed in the header for that file.
This feature works only for the same file, not across files. Suppose that you broke one file into two files and combined them using a book file. If ChapterTitle is a paragraph tag used for the chapter title, and it's referenced in the running header, the chapter title will not show up in the header of the second file if no text is tagged with ChapterTitle in the second file.
In order to get the chapter title from the first file to show up in the header of the second file, you must choose a work-around technique.
Insert a cross-reference in File 2 header to the chapter title source in File 1.
Insert a Running H/F variable in the File 2 header that refers to the Header/Footer $1 or Header/Footer $2 marker text in the current file.
As I discuss each technique, you can determine which method works best for you.
Inserting a cross-reference in file2.fm to source text in file1.fm works best if you want a solution that lends itself to automation. After you insert the cross-reference, if the source text in file1.fm changes, the header information in file2.fm updates with the new information.
For more information on creating cross-references, see Chapter 5, "Cross-References."
Review the steps to create the cross-reference from file2.fm to the chapter title of file1.fm:
Open both file1.fm and file2.fm.
From file2.fm, select View > Master Pages.
Insert the cursor in the master page location where you want the running header to appear.
Select Special > Cross-Reference.
The Cross-Reference window appears.
Select file1.fm from the Source Document drop-down menu.
Paragraph tags included in file1.fm appear in the Paragraph Tags list.
Select ChapterTitle, which is the paragraph tag that corresponds to the source text that you want to include in the header.
All paragraphs tagged with ChapterTitle are displayed in the Paragraphs list on the right.
Select the correct source paragraph,as shown in Figure 13.8.
Click Insert to insert the cross-reference in the header.
After you create the cross-reference, you must select or create the correct format in which to display the cross-reference. Figure 13.9 shows one idea of a cross-reference format definition to force the cross-reference to be displayed as Chapter 9 How to Design Web Pages.
You can insert marker text (that contains the chapter title of file1) in file2.fm and then create a Running H/F in file2.fm that refers to that marker text. This solution works best if the chapter title will not change often. If the chapter title in file1.fm changes, you must manually edit the marker text in file2.fm each time.
To implement this solution, you must work with both the Header/ Footer $1 marker and a Running H/F variable.
Follow these steps to insert a Header/Footer $1 marker at the start of the first paragraph in file2.fm:
Select Special > Marker.
Choose Header/Footer$1 from the Marker Type drop-down menu.
Type text in the Marker Text field that you want to display in the document header, as shown in Figure 13.10.
Click New Marker.
The marker is inserted at the beginning of the first paragraph.
You might want to keep Text Symbols turned on so you can view markers symbols in the text.
After you insert the Header/Footer$1 marker in the document, you can create the Running H/F variable to display the content of the marker on body pages:
Switch to the master pages in file2.fm.
Place the insertion point in the location that you want to insert the running header.
Select Special > Variable.
The Variable window appears.
Select Chapter Number from the list and click Edit Definition.
Type the word Chapter in front of the <$chapnum> definition and click the Set button.
The Variable window appears.
Click on Insert.
Only the Chapter Number variable is inserted in the document header. You must add another variable to display the marker source text that was inserted in the document.
Select Special > Variable.
Select Running H/F 3 in the variable list.
The definition of Running H/F 3, <$marker1>, is displayed right below the list, as shown in Figure 13.11. <$marker1> references the marker text in the current document that corresponds to Header/Footer$1 marker text.
Click on Insert.
The two variables are displayed in the header of the document, as shown in Figure 13.11.
This chapter armed you with a wealth of information to solve some typical problems that you might encounter with FrameMaker. Whether the problem is simple or complicated, users can sometimes overlook the obvious solution (or can't find a solution), especially during the high point of a project.
Often in problem-solving, users try many solutions, but are never certain which action really fixed the problem. Try documenting some of the problems you encounter along with solutions that work so that, in the future, you will have that information handy.