I have been working on a large FM9 document with an index. Many of the index entries are quite long and appear on a large range of pages. Currently I have the page numbers tabbed to the right of the column with a dot leader. On wrapping to the next line, following page numbers are (unsurprisingly) ranged to the left margin.
Ideally, I would prefer wrapped text (of a long entry) to range to the left, but wrapped page number to range to the right. I have been trying various things in the IX reference page, including defining IndexIX as right-aligned (no joy), and definging Level1IX and Level2IX as run-in heads (also no joy).
Is it even possible to achieve what I want, or am I banging my head on a brick wall?
To get all of the entries to have the text wrap a bit before the right margin and have the numbers tab out to the margin, in the Paragrpah designer for the various Level IX tags, on the Advanced tab, set the Word Spacing Minimum value to be substantially more than the Maximum value. This will force the content to wrap well before the right margin. The exact point depends upon the ratio of the min to max. Start at 150% and work up or down from there as the location is also a function of the typeface and font size. Use larger increments such as 25%.
Thanks Arnis - that's an interesting idea and one I never would have thought of trying. Unfortunately it only shifts the problem to a different selection of the index entries. The entire index comprises 14 pages of closely spaced 3-column entries so there is lots of scope for headings that are too long or have too many associated page numbers.
Make sure you have applied Arnis' suggestion for each and every index level.
You could try going even further. In the paragraph designer, I set the Minimum to 175% and the Maximum to 225%, for example, while keeping the Optimum at 100%. If that doesn't work, then try 275% and 325%, and then 375% and 425%, etc.
If you still cannot get what you want, then you can avoid the problem altogether by NOT requiring the page numbers to be right aligned. I right align the entries only in the TOC but not in the Index. Typically indexes have narrow columns and require too much effort to make the page numbers right align.
Arnis' suggestion was applied to all levels, and I have now tried your increased spacing as well. Each increase moves the alignment problem to a different set of index entries! However I do like the increased spacing, as it keeps the text and page numbers well separated.
I will probably keep my index the way it is rather than completely discard the right-alignment. It would have been nice to beat the software into submission but never mind. Thanks to both for your help, and a new technique I can use in future.
Be aware that the index separators for the page numbers are specified as "," and not tabs. So if you require the page numbers on the second and subsequent lines to tab-align on the right, you would need to also modify your SeparatorsIX definitions entry on the Index Reference page by adding a tab after the comma.
The SeparatorsIX definition was originally " 1, 2-3" (where the space before the 1 is actually a space plus a tab character). I added a tab after the comma, and this is what happened...
There was no effect on the example I have been using so far:
Entries with more than on wrapped number were changed as follows:
Unfortunately the first wrapped number is not affected by the tab in the separators definition.
If I manually insert a hard return after the comma on the previous line, the run-on page numbers tab correctly. This means I can achieve the result I am looking for by editing the completed index to insert hard returns and create a paratag with no dot leader - but I will have to repeat the edit each time I run the index.
So near and yet so far! But I know a lot more about indexing than I used to.
Looking at my index reference pages, I am thinking that you do NOT want a tab character after the 1,. I would remove that tab.
I would also remove the tab from before the 1. Just put one space before the one. Or even try having nothing before the 1.
Then put a tab character at the end of each Level#IX entry. Then be sure to edit each corresponding paragraph format to make the tab after the entry a right tab.
I did a little testing, and you are correct. Putting a tab character after each entry on the reference page does NOT cause the tab to be written to the index.
So, I went back to your original approach and put a tab character before the 1 on the separators line. When I added it, there was only one space before the one, which I replaced with a tab; although I do not believe it makes a difference whether the space is there or not. The resulting index formatted as expected, with the page numbers right justified.
HOWEVER, I have yet to look into the problem with the long index entries. My entries were short. I will try if have time later.
Message was edited by: Van Kurtz
I did some testing with long index entries and did not get good results. I believe the problem is due to the fact that an index entry can have multiple page numbers assigned to it.
My suggestion of setting minimum = 275%, maximum = 325%, and optimum = 100% in the paragraph format came from my playing with TOC entries. In a TOC, each entry has only one page and the text column is wide. This gives some flexibility for FrameMaker to work with.
In the case of indexes, I noticed that an entry might break over several lines but allow only one or two pages at the end of the line. Then any other page numbers wrap to the next line without tagging to the right. So, you are right in the suggested min/min thing will not give you what you want in all cases.
I have three suggestions:
1. Make your text column wider, maybe even up to the same width as the document's normal text column. This may display a lot of white space, but the leaders help the eye to get the correct page numbers.
2. Abandon the right-justified-with-leader-tab approach. Instead of a space (or tab) before the 1 on the separators line, try inserting a sequence of 5 or 6 periods, or even 5 or 6 periods with a space between each. The result would be a short, fixed-length leader before the first page number, helping to set it off from the entry with something more than a space. You can also try various other leaders, such as hyphens separated by spaces. Maybe you can find something that looks good enough to make your index readable. Besure to return the min/max settings to their defaults.
3. In addition to a standard index, my documentation creates an index of warnings, which is displayed in a text column the same width as normal text in my documents. Because a warning is typically 2-4 lines long, each entry displays over several lines before the page numbers are displayed. To make the page numbers distinct from the warning text, I format them in bold. I also insert a p. abbreviation before the 1 on the reference page. This helps to make the numbers stand out and easy to find among the surrounding text.
Message was edited by: Van Kurtz
It works for me??
You have to specify tabs pretty much everywhere (in the IndexIX entries and at the end of the Level entries also. It's also a function of the wrap min/max values and whether or not FM drops the tab to the wrapped line (hence specifying it everywhere).
FM processes the tabs in left-to-right order, so if you only have one tab stop specified in the paratag then thats where the first tab will go, all other tabs in a line will be ignored.
I have been playing around with my reference page, removing tabs and spaces and replacing them individually to see exactly where the changes appear. It has been an interesting excercise, but wherever I put the tab stops (or how many - I am still experimenting), I can't get the last tab to wrap to the next line, so it is always the second wrapped number which is tabbed, rather than the first. I'll try some more after the weekend.
I will still have to deal with the problem of getting rid of the dot leader on wrapped lines, so I will have to do some editing to achieve that anyway. It won't be a hard job as I can do search/replace/paste for most of it anyway.
Thanks for your suggestions, I might give them a try in my trial document, to see how they look.
However if what I'm trying doesn't work, I will probably just leave the main document as it is, with the wrapped page numbers ranged to a left-hand indent. The previous version was released that way, so I have a precedent; I can also honestly claim to be working within the constraints of the software!
I am really just trying to be a bit of a clever clogs here, and I hope I'm not using up too much of your time and Arnis' on a fruitless search. Is I mentioned in my reply to Arnis, if I decide I really want right-tabbing on all the numbers, I may opt to do a bit of editing after the index is generated. I have to edit my page headers anyway, as cross-references to alphabetical headers are not preserved when a new index is generated. A few extra search/paste operations shouldn't add too much work (famous last words).
You also need to play around with the min/max word-spacing values to get the tab symbol to wrap to the next line. Sometimes a tab followed by a hard-space does the trick.
It would be a lot easier, if FM also had a Document > Text Property entry that allowed one to specify a line break *before* a particular symbol, i.e. tab.
The min/max spacing thing adjusts the spacing between words. I just tried replace the space after the 1, with a nonbreaking space (Ctrl+space), the idea being that this would force all the pages numbers to stick together, possibly pushing them all to the next line. But this did not work.
Adding a nonbreaking space between the tab and the 1 did not work either, unless I was doing something else in addition at the same time.
I did not try this, but you could add a line break after each index entry, or possibly before the tab, which is before the 1. This would force all the page numbers to the next line, which is not good for short entries. But your editing process would be simply to delete those line breaks that are not needed.
I have a feeling this is not a problem that can be solved automatically.