When Rob Shell asked this same question on the list last week,
I answered that the best solution I could see was to manually
add <$startrange> and <$endrange> switches into the index
markers. But this is an imperfect solution because FrameMaker
will only display a range if the start and end switches are on
*different*pages*. If the start and end switches are on the same
page, FrameMaker will only display the marker text and paranum
for the first marker and will suppress the remaining entries as
unnecessary duplicate entries.  This suppression of duplicate
entries will actually be an issue in the scenario you and Rob have
described whether or not any of the page range options are used.

Perhaps a better approach would be to generate an
alphabetical list of markers rather than an index, because lists
do not suppress duplicate entries. But since the range-related
switches only work for generatat indexes, it would be
necessary to edit the generated file to collapse multiple
identical items into a consolidated item with a paragraph
number range. But at least that process could be scripted...

Another approach that *might* be a possibility is to use
structured mode and use an XSL transform to compile the
customized index, but that seems like overkill unless there is
some other good reason to migrate to XML.

-Fred Ridder

>From: Yves Barbion <yves.barbion at gmail.com>
>To: Frame Users <framers at lists.frameusers.com>
>Subject: Using <$autorange> with <$paranum> in an index
>Date: Thu, 06 Sep 2007 21:05:42 +0200
>Hi (expert) Framers,
>This is a nice one: a fellow Framers needs to create an index with 
>references to paranums instead of pagenums. Each paragraph is numbered (law 
>book). He wants to use <$autorange> but this does not seem to work, for 
>Page 11 has the following paragraphs:
>31. Text text text
>32. Text text text
>33. Text text text
>34. Text text text
>35. Text text text
>Page 12 has the following paragraphs:
>36. Text text text
>37. Text text text
>38. Text text text
>39. Text text text
>When he generates the index WITHOUT <$autorange>, he gets this:
>markertext 31, 32, 33, 34, 35, 36, 37, 38, 39
>But when he generates the index WITH <$autorange>, he gets this:
>markertext 31-36
>In other words, autorange just takes the number of the first paragraph on 
>the next page and forgets about the remaining markers (37 - 39) on that 
>page (yes, the markers match exactly).  It works if  we put the remaining 
>paragraphs "top of page", but that is obviously not the idea.
>We have tested this in Frame 7.0, 7.2 and 8.0.
>The only workaround I can come up with so far, is to remove the 
>"intermediate" markers (from 32 through 38), but I was wondering if there 
>aren't any more elegant solutions?
>Thanks in advance.
>Yves Barbion Documentation Architect
>Adobe-Certified FrameMaker Instructor

Gear up for Halo? 3 with free downloads and an exclusive offer. 

Reply via email to