January 2004
Technical Issues


Return Home

FrameMaker Autonumbering, Part 3

Finally, the Rest of the Article!
By Matt Sullivan


Author Bio

Contact Matt

In the first installment of this article, I discussed the prep work for setting up chapter numbering. (See the Numbering1 link at http://www.grafixtraining.com/stc/stc.html.)

The second installment discussed the codes needed for the following tags:

  • ChapterTitle
  • Heading1
  • Heading2

(See the Numbering2 link at http://www.grafixtraining.com/stc/stc.html.)

This month I'll finish the rest of the tags in my sample template. The additional tags are as follows:

  • FigureTitle
  • TableTitle
  • NumberedList
  • ListIntro
  • Sublist

I will also discuss the use of Series Indicators (in the NumberedList section) to reduce the number of codes needed for the overall system.

FigureTitle

Following the FigureTitle sample text, we see that the Figure Title should start with the Fig. 1-4 sample text. (See Fig. 1-4 sample at http://www.grafixtraining.com/stc/2003/articleoct03/Numbering.pdf. In this sample text, we see that the FigureTitle should start with the Fig. text, followed by a reference to the chapter number, or the <$chapnum> building block.)

Next, we have a dilemma. We need to increment the FigureTitle counter (our fourth-level autonumber), but we need a way to get past the counters for the second- and third-level autonumbers (the Heading1 and Heading2 tags).

Now is when we go back to the four questions on the prep worksheet.

  • Do I display the value?


  • Do I increment the value?


  • Does the value reset?


  • If so, where do I reset?

For the second level (Heading1), we ask if we want the current Heading1 value displayed in the FigureTitle. (We don't!)

Next, should the Heading1 value increment at this point? (No)

Does it reset? (No)

Because it doesn't reset, we don't care about the last question at this point.

With this set of answers, we really need something that will bypass the Heading1 counter for now. That brings us to the Placeholder code introduced last month. By typing

< >

(ensuring that both brackets are on the same line [with a space between the brackets] in the final document to avoid confusion), we tell Frame that we don't want to display the number (because we haven't specified a format such as A, a, R, r, or n), and we also tell Frame that we don't want to change the value because we have neither the + nor = symbols.

Next, we repeat the same exercise for the Heading2 tag. (After the same process, we find the Placeholder is the appropriate code at this point as well.) This gives us a current string of

<$chapnum>-< >< >

which will be followed by our fourth autonumber code for the FigureTitle, itself.

This final code should be an incrementing value that resets at the ChapterTitle level, or an Increment code (<n+>). Finishing with a colon at the end of the FigureTitle code gives us

<$chapnum>-< >< ><n+>:

Because our figures will reset at the chapter level, the Numbering Properties dialog will control the FigureTitle reset.

Note: In this case, we've already set the Paragraph tab of the Numbering Properties to reset our paragraph numbering while we were developing the Heading1 tag. So we're done with the FigureTitle tag.

TableTitle

Because the FigureTitle tag is so similar to this one, let's skip to putting in a placeholder for the FigureTitle counter, giving us

Table <$chapnum>-< >< >< >

As with the FigureTitle, the TableTitle also increments and resets at the ChapterTitle level, so we finish with an increment code and a colon, giving us

Table <$chapnum>-< >< >< ><n+>:

Note: Remember that the TableTitle will reset at the Chapter level and has been previously set. 

ListItems

Frame template designers divide into two camps when it comes to list numbering. Some take the simpler approach and have a list reset tag (such as Numbered1) and an increment tag (such as Numbered). Though this system works just fine, I'm in the other camp.

For my templates, I like to minimize the number of tags in my Paragraph Catalog as well as control my numbering on the basis of context rather than the explicit tag. (I like to control the number by its position within a list rather than using extra tags to reset.) I see an advantage in being able to reorder my list items (including the first item in the list) without worrying about whether my formatting (in this case, my numbering) is still correct.

Here are some examples of how I like to control nested lists.

NumberedList

Initially, the toughest thing about our sixth autonumber is that it doesn't display the NumberedList itelf—the two are still linked. All the placeholders need to be able to get to the sixth position. Fortunately, Frame allows something called a Series Indicator, which is a convention for bypassing the autonumbers linked to the ChapterTitle tag.

Series Indicator is defined as a two-digit prefix to the Autonumber Format, consisting of any keyboard character and a colon.

When we use this convention, along with the answers to the four questions on the prep worksheet and our example text, our NumberedList format looks like this:

L:<n+>.\t

This list will reset at the beginning of the next list. Thus, we can't rely on the Paragraph tab in the Numbering Properties dialog to simply reset it at the beginning of the chapter. There are many strategies for this reset, but my favorite is to use a tag called ListIntro, which then calls up NumberedList as the Next Paragraph.

ListIntro

With formatting roughly equivalent to that used for basic content (Body in my templates), the ListIntro has an Autonumber Format that resets the NumberedList paragraph. The reset code is

< =0>, so the final code for this tag is L:< =0>

Sublist

Even though the Sublist example text doesn't display the NumberedList, itself, the two are still linked. After we look at the example text and answer the four questions for each level of Sublist, we have

L:< ><n+>

The reset for Sublist should occur at each instance of ListIntro. So, if a Sublist is part of the template, we need to modify the NumberedList tag to include the reset code, resulting in

L:<n+>< =0>.\t

Well, that's it folks. The next time you find yourself autonumbering in Frame, I hope this information leads you down an easier path.

Return Home

Feature | Editor's Desk | President's Podium
Technical Issues | Chapter Meetings

Humor | Advice | Employment Desired

Mission | Author Bios | Newsletter Staff | San Diego Chapter Council Members