Beta test closed [2011-07-01]The beta test period of IndexMatic 2 is over and the content of this page is partially obsolete. For now please refer to the product main page.

Disclaimer.This post only provides an oversimplified presentation of IndexMatic 2. I will develop the advanced features and more technical aspects when the final release will be ready.

The most exciting thing about IndexMatic 2 is that it allows to produce an index by combining criteria which are related to the target document(s) —page range, sections, layers, styles— with a full regular expression search engine. The script thus offers both IndexMatic 1 and IndexBrutal features, and much more!, in a single tool.

Note. — The Context panel is locked in the BETA version, so you cannot index footnotes separately, and every anchored/embedded contents, including tables, is ignored.

IndexMatic allows you to target multiple active documents, or a whole InDesign book.

Search Modes (Overview)

Once you have demarcated the target text area (Scope, Context, Styles), IndexMatic 2 offers three ways to extract keywords for indexing.

1) In the Search Mode panel, select “Automatic” to build a comprehensive list of words directly from the target document(s). You just have to specify a minimum and a maximum “length” (number of characters). The “Automatic” mode is the easiest to use but it tends to generate large corpus. You may limit the proliferation of irrelevant words by increasing the “Page Rank” value in the Default Options panel.

Automatic Search Mode, and related options.

2) Select “Query List” to edit your own queries. Basically, a query is a simple keyword which is attached to an indexing term. By default any requested expression is attached to itself. IndexMatic 2 provides global options —Case sensitive, Whole Word, Generic Space— that allow to consolidate variants from the same expression. In addition you can base any query on a regular expression by enclosing the expression between slashes. For example, the query:
matches any word that starts with the letter a (including the capital letter A in case insensitive context). You can use any valid JavaScript regular expression. When a query is based on a regular expression, IndexMatic 2 regards each resulting form as an indexing term. However, you can use a special operator (=>) to link all forms to a single term. For example, the query:
links the regexp /tests?/ to the term test. Note that any query can use the => operator, even a simple query such as: dog=>animal.

“Query List” Search Mode, and related dialog.

Note. — There are some subtle differences between JS regular expressions and GREP. For performance purposes, IndexMatic 2 does not invoke the InDesign GREP layer, the whole process is based on JavaScript RegExp queries.

3) Select “Single Query” to send a unique query rather than a query list. This option is useful to report any occurrence of a single expression, or to perform quick tests.

Output (Overview)

The Output and Page Report panels offer a number of features that control the final index. The whole purpose of IndexMatic 2 is to build a relevant set of terms, and to report each term with the corresponding page numbers and/or page ranges. The script does not alter in any way the target document(s) or book, and the BETA version only outputs the index as a “Text File”:

Sample of resulting file.

Try it and tell me!

• See also:
Test of IndexMatic 2 in French (Urbanbike).
— The Beta is mentioned in InDesignSecrets: “This Week in InDesign Articles, Number 53”.

• Special thanks to: Laurent Tournier, Herbert M. Tucker, and Jean-Christophe Courte.