home > indexing
Adobe FrameMaker Q&A
By Seth A. Maislin

Originally published in 
A to Z: The Newsletter of STC's Indexing SIG (Vol 2 No 3: Sept 1999).  
Download a PDF version of this issue

  As guest editor for Q & A this issue, I thought I would answer questions that address the efficiency of embedding indexing.

Q. With FrameMaker, I dislike explicitly signifying italics in my markers. Any suggestions?
A. Consider avoiding italics altogether. Although the Chicago Manual of Style recommends cross references like "speed. See performance", this recommendation is not optimal for embedding. One alternative style was developed at O'Reilly & Associates:

	memory (see also performance)
	speed (see performance)

You can avoid other styles as well; just don't use them. Instead of using constant-width fonts or boldface for commands, use roman type and the word "command," as in "shell command." The index, because of its specialized purpose, doesn't need to be limited by the style guide you use for the rest of the documentation.

If you insist on styles, however, consider using keyboard macros to assist with the typing, or else use global search-and-replace. To create italics, for example, type and as you insert the tags, and later use IXgen to expand your shortcuts to the required and signifiers. (IXgen is available, including a demo version, from Frank Stearns & Associates.)


Q. Can you manually sort in Microsoft Word?
A. I discovered this by accident: Yes, you can. Use the semicolon, like this:

	main entry;sorted main entry
	main entry:subentry;sorted subentry
	main entry;sorted main entry:subentry;sorted subentry

Use the semicolon to separate the actual locator text from the sort string. You need only sort the text you want to, not the whole entry. (This is different from FrameMaker sorting, which requires you to sort the entry in its entirety, as in "main entry:subentry[main entry:sorted subentry]".)


Q. What's the easiest way to consistently sort nonalphanumeric characters?
A. Personally, I like using the name of the character, preceded by the @ character. For example, & and * would sort as "@ampersand" and "@asterisk." Because the @ symbol will be sorted above the letter A, all symbols will move to the top of the alphabet, in order of their spellings:

	& for background processes
	* in regular expressions
	alphanumeric searching
	astronomic representation

This system works even if you have multicharacter strings with nonalphanumeric characters:

	2# representation (2@hash)
	&& operations (@ampersand@ampersand)
	@! code (@at@exclamation)

Be sure to use the character names that are most appropriate for your material; for example, # could be "hash mark," "number sign," "octothorpe," "pound sign," or "sharp."


Q. How can I spell-check my embedded index without having to generate it?
A. Carefully use search-and-replace. Here are solutions for Word and FrameMaker that can be adapted for other embedding applications.

Microsoft Word. Search for colons and replace them with this (notice the extra space on either end): " zcolonz ". For semicolons use " zsemicolonz ". (You do the same for underscores and periods to include computer terms like "parallel_span_check.") This will change your previously uncheckable strings like "computers:in schools;schools" to "computers zsemicolonz in schools zsemicolonz schools." Now spell-check your document as you normally would, ignoring all occurrences of zzz, zcolonz, zsemicolonz, and others. Afterwards, search-and-replace in reverse, back to the symbols.

FrameMaker. You need IXgen to grab your IX markers. Use the same two search-and-replace methods mentioned above for Microsoft Word before spell-checking. You can also copy the entire table of markers into a word processor (like Word) to perform your spell-checking, and then copy the table back into IXgen.

Important Note. Pay attention to auto-corrected spacing when you do this. If you are replacing colons globally, you may accidentally delete spaces next to in-sentence colons, semicolons, and other characters. To safeguard spacing around colons, for example, search for ": " (colon space) and replace it with ":spacehere" (colon spacehere). Then use the technique described above. When finished, replace every occurrence of "spacehere" with a space character, and you get your spaces back. Nevertheless, always use a backup copy to verify that the search-and-replace process works to your satisfaction. Further, if you are using computer code for which spacing, indentation, and alignment are crucial, you need to be especially careful with any search-and-replace technique.

Copyright 1999 Seth A. Maislin


Site design by little graphics studio.
© 2002   All rights reserved.