| 416-621-9348 cgreaves@chrisgreaves.com | |
|---|---|
| Home Site About Services Products |
User Guide
One-click creation of an Index.
One-click creation of Keywords.
One-click creation of Title properties.
You have created a document and would like a no-fuss index FAST. No need to create those awkward {XE} fields, use Indexer to locate a set of Interesting Words (it knows!), and have your index in under five seconds.
You want to save your document in HTML format and would like keywords for the Web Search engines? Use Indexer to create the keywords properties for your document. It knows!
Acknowledgement
I am indebted to Julia Wooster of http://www.primeadminsolutions.com/ for her help in getting this product to where it is.
The latest enhancements are due to her diligence.
The remaining faults are my responsibility.
What It Is . . .
Indxr (short for "One Click Indexer") is a free, powerful tool that runs under Word 2000 or later and reduces your task of creating a meaningful index to ONE CLICK!
You can modify Indxr's behavior to suit your tastes in any way you like.
I ask that you Contact Me! with any suggestions you have for improvements to Indxr.
Quick Start
Once you have installed Indexer, open up a document for which you’d like to create an index.
From the Indexer toolbar menu, choose the command “IndexActiveDocument”. After a few seconds of clicking and whirring, you’ll see an index appear at the end of your document.
From the Indexer toolbar menu, choose the command “KeywordActiveDocument”. Choose File, Properties to inspect your keywords.
From the Indexer toolbar menu, choose the command “TitleActiveDocument”. Choose File, Properties to inspect your Title.
How It Works
Indexer contains an engine, a piece of programming code, that enables it to determine which words are Interesting, and which are not. For your ultimate control, the engine is driven by a table of rules, and once you have run indexer for the first time, you will find an initial table of rules “IndxrRules01.doc” on your hard drive within your “C:\Documents and Settings\ChrisL\Application Data\Greaves\Indxr” folder.
| Rule | Active | Code | Negate | P1 | P2 | Comment | |
|---|---|---|---|---|---|---|---|
| 1 | IN | 4 | 24 | Ignore long and short strings | |||
| 3 | StartsWith | ABCDEFGHIJKLMNOPQRSTUVWXYZ | Initial capital | ||||
| 6 | InFile | Y | Noises1.txt | ||||
| 7 | InFile | Y | Months1.txt | ||||
| 8 | InFile | Y | Places1.txt | ||||
| 9 | Contains | Y | 0123456789 | Part numbers |
We will describe the rules in greater detail later on. For the time being, inspect the table reproduced above, and understand that for now, a word will be declared “interesting” (and hence be a candidate for the Index, Keywords or Title, if it is between 4 and 24 characters in length, starts with an upper-case letter, does NOT contain a digit, and does NOT appear in any of the text files “Noises1.txt”, “Months1.txt” or “Places1.txt”.
Those are fairly elementary rules, but they will suffice for now.
You can maintain as many tables of rules as you want, and switch between them – a table of rules for medical documents, a table of rules for legal documents, and so on.
Features
| Feature | Microsoft Word | Indexer |
|---|---|---|
| Online and FREE telephone support | No | Contact Me! |
| One-click index generation from any source | No | YES |
| Generates Title string | No | YES |
| Generates Keyword string | No | YES |
| Configured via a GUI form and INI file | No | YES |
| Assign a special style to Important paragraphs | No | YES |
| Modify list of Interesting Words | No | YES |
| Modify list of Interesting Leader phrases | No | YES |
| Modify list of Interesting KWIC phrases | No | YES |
| Automatic Concordance generation | No | YES |
| Manual Concordance generation | No | YES |
| Cross-reference items | No | YES |
| Customize cross-reference phrases | No | YES |
| Mix'n'match groups of Words, Leaders and Phrases | No | YES |
| Select any of 27 available index tables from a drop-down list | No | YES |
Why I Like Indxr
I can over-ride the default rules for what makes an Interesting Word by adjusting Indxr's configuration in a simple Word table. That means I can have in place a concept of Interesting Words for medical text that differs from my concept of Interesting Words for legal texts or that differs from my concept of Interesting Words for Application Development texts.
In the preparation of a one-off document, perhaps a training-course for a one-day class, I need an index. Once click does it all. No messing around with Insert Fields or trying to build a concordance table.
One Click.
One Index.
Of course, for more complex indexes I can use Indxr's GUI form
Woo-eee!
1-Click Indexing
Open your document.
Click on the running-man toolbar macro button for "IndexActiveDocument".
Wait 10 seconds (for a 15-page document) or 20 seconds (for a 40-page document).
Enjoy!
The Indexer Main Form
Choose the macro GUIIndexer from the Indexer toolbar menu.
This user interface is organized in levels, set out by indentation on the GUI form. We will explain each command button in turn.
Interesting Words, Leaders and KWIC
Interesting Words
This will rebuild the list of Interesting Words from your document.
You may want to remove all existing Index Entries, Tables Of Indexes, and Tables Of Contents before rebuilding the list of Interesting Words.
Interesting Leaders
This will rebuild the list of Interesting Leaders from your document.
You may want to remove all existing Index Entries, Tables Of Indexes, and Tables Of Contents before rebuilding the list of Interesting Leaders.
Interesting KWIC Phrases
This will rebuild the list of Interesting KWIC Phrases from your document.
You may want to remove all existing Index Entries, Tables Of Indexes, and Tables Of Contents before rebuilding the list of Interesting KWIC Phrases.
Concordance – Manual
This option allows us to pair entries from any two of the three tables to generate Index Entry fields ({XE}).
In the example above, we have elected to use the Interesting Words list in the left-hand list box, and the Interesting KWIC Phrases list in the right-hand list box, and when we choose the command “Insert Index Entries”, we will cause to be generated two Index Fields ({XE}), both pointing to the word “Build”.
If instead we had used Interesting KWIC Phrases in the left-hand list box, and Interesting Words in the right-hand list box, we could have generated this as part of our Index table:
Here the Index has the word “Build”, which is pointing to the phrase “Build Bookmarks” on page 7 and to the phrase “Build Indexes” on page 11.
(The page numbers have probably changed by the time you are reading this version of the user Guide).
(Remember to flush your Concordance table between experiments!)
Concordance – Automatic
This option allows you to select any of the Interesting Words, Interesting Leaders and Interesting KWIC Phrase lists for use as Index Entries.
In the example above we have opted to use Interesting Words and Interesting KWIC Phrases as the basis for the Index Entries.
When we choose the “Insert Index Entries” command, every occurrence of any string that matches an item in either the Interesting Words or the Interesting KWIC Phrase lists will be tagged as an Index Entry fields ({XE}).
Cross-References
Cross-reference entries are those familiar “See Also” and “Refer To” types of entries.
In the screen above you see that we have chosen two Interesting leader phrases which we will use to point to index entries for a single word.
The portion of the Index Table created by this choice appears below:
Page-Range Entries
These entries allow us to build an entry in our Index table by which a chosen Word, KWIC Phrase or leader can point to a range of pages.
We use our Bookmark ranges to identify pages. Especially the higher levels of headings (Heading 1, heading 2) often span several pages.
Build Indexes
This command will take the current values from the Concordance file, use them to insert the appropriate Index Entries throughout the document, and then build the appropriate Index Tables.
You will have noticed that some of the GUI forms are in a position to permit you to nominate alternate tables, identified with one of twenty-six letters of the alphabet.
In this way you can parcel out specific groups of index entries to specific tables. If you were indexing a book on the History of World War II, you might want an index of battlefields, an index of Generals, and an index of Equipment.
Cancel
This command escapes from the GUI form.
Session Environment
We store your preferences in a file called Indxr.INI.
You can find this file within a folder that looks like this (although you will of course substitute your user name):
C:\Documents and Settings\ChrisL\Application Data\Greaves\Indxr
User Macros
Book Mark Documentor
Generate a new document with a catalogue of bookmarks from the current document.
Book Marks from Headings
Assign a bookmark to each "Heading" styled paragraph.
Clear Concordance File
Delete the existing Concordance file.
Clear Log File
Delete the existing Log file.
GUI Environment
Throw up a GUI form which permits editing of Indexer’s environment.
GUI Indexer
Throw up the Main GUI form for user interaction.
Index Active Document
Build a quick index of the document.
Indxr Who Am I
Display the name, path and save date of the template.
Keyword Active Document
Load Interesting Words to the keywords property of the document.
Mark Unbookmarked Text
Mark un-bookmarked text with a character style.
Remove all Bookmarks
Remove all bookmarks from the active document.
Remove all XE Entries
Remove all Index Entry fields.
Select Down Next Un Bookmarked Text
Highlight the next chunk of text that is not bookmarked.
Select up Next Unbookmarked Text
Highlight the next chunk of text that is not bookmarked.
Style Important Paragraphs
Locate important paragraphs based on criteria.
Title Active Document
Set the Title as the text of the most important paragraph.
Visit Bookmarks
Visit each bookmark in the active document until the user decides to stop.
The Rules Table
Sample Rules for selecting strings
| Rule | Active | Code | Negate | P1 | P2 | Comment | |
|---|---|---|---|---|---|---|---|
| 1 | IN | 4 | 24 | Ignore long and short strings | |||
| 2 | StartsWith | ABCDEFGHIJKLMNOPQRSTUVWXYZ | Initial capital | ||||
| 3 | EndsWith | Y | S | ||||
| 4 | InFile | Y | Noises1.txt | ||||
| 5 | InFile | Y | Months1.txt | ||||
| 6 | InFile | Y | Places1.txt | ||||
| 7 | Contains | Y | 0123456789 | Part numbers | |||
| 8 | Only | ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz | Alphabetic characters | ||||
| 9 | Squeeze | aeiou | Remove vowels from current string | ||||
| 10 | Replace | ie | ea | Replace strings within the current string |
The Rules table is interpreted serially from top to bottom.
A string remains a candidate until it fails a rule. That is, the results of each row are "AND"ed.
A rule can be disabled during experimental runs by setting the ACTIVE cell to any character value.
A rule can be negated by setting the cell "negate" to the value "Y"
The following rules appear to be supported in this version:
| Rule | Description | Example |
|---|---|---|
| In | If the LENGTH of the character string lies at or between the lower ("P1") and upper ("P2") limits, the string remains a candidate. In the default table, strings of 4, 5, 6, … 23 or 24 characters are considered as candidates as Interesting Words. | "And" fails; "Supercalifragilisticexpialidocious" fails by ten characters. |
| Infile | If the character string matched any of the strings in the named file, the string remains a candidate. | "Affect" will fail against the default Noises1.txt file ("C:\Documents and Settings\ChrisL\Application Data\Greaves\Indxr\Noises1.txt"); (the rule was negated) |
| Squeeze | Squeezes all characters in the given string ("P1") from the character string. | This rule does NOT affect the candidacy of the string being examined (see also REPLACE); it may change the content of that string. You can use this rule to squeeze all instances of "e" and "v" from the string "Christopher Greaves" |
| Replace | Replaces all occurrences of the given string ("P1") in the character string with the string given as P2. | This rule does NOT affect the candidacy of the string being examined (see also SQUEEZE); it may change the content of that string. You can use this rule to replace all instances of "ea" with "ee" in the string "Christopher Greaves" |
| StartsWith | If the character string starts with any of the characters in the given string, the string remains a candidate. | "Aggrandize" succeeds but "aggrandize" fails, as does "gAgrandize" |
| Endswith | If the character string ends with any of the characters in the given string, the string remains a candidate. | "Assistant" succeeds whereas "Assistants" fails; (the rule was negated) |
| Contains | If the character string contains any of the characters in the given string, the string remains a candidate. | "TeaForTwo" succeeds but "Tea4Two" fails; (the rule was negated) |
| Only | If the character string consists only of the characters in the given string, the string remains a candidate. | "Oleary" succeeds whereas "O'Leary" fails. |
| Mask | If the character string matches the mask given by the given string, the string remains a candidate. | |
| Syllable | If the count of syllables in the character string exceeds the value given in the first parameter ("P1") then the string remains a candidate. | Negating the rule permits a test to EXCLUDE character strings with too many syllables. |
The first time you run Indxr after installation, it will create a very simple default rules table in your Documents and Settings area.
| Rule | Active | Code | Negate | P1 | P2 | Comment | |
|---|---|---|---|---|---|---|---|
| 1 | IN | 4 | 24 | Ignore long and short strings | |||
| 3 | StartsWith | ABCDEFGHIJKLMNOPQRSTUVWXYZ | Initial capital | ||||
| 6 | InFile | Y | Noises1.txt | ||||
| 7 | InFile | Y | Months1.txt | ||||
| 8 | InFile | Y | Places1.txt | ||||
| 9 | Contains | Y | 0123456789 | Part numbers |
This simple default rules table may be all you need.
If you would like to experiment with variations on the rules table, you can make a copy, adjust the rules, and then tell Indxr to use your copy.
Here's how you do it:
(1) Locate your documents and settings folder for Indxr. It will have a name like this "C:\Documents and Settings\ChrisL\Application Data\Greaves\Indxr", although your user name will appear in place of "ChrisL".
(2) Copy "IndxrRules01.doc" and paste it with a new name. For example "IndxrRules02.doc".
(3) A simple experiment is to place a character in the Active cell for the StartsWith code. In this way you can suspend that rule. (Re-instate it by removing the character from the cell).
| Rule | Active | Code | Negate | P1 | P2 | Comment | |
|---|---|---|---|---|---|---|---|
| 1 | IN | 4 | 24 | Ignore long and short strings | |||
| 3 | N | StartsWith | ABCDEFGHIJKLMNOPQRSTUVWXYZ | Initial capital | |||
| 6 | InFile | Y | Noises1.txt | ||||
| 7 | InFile | Y | Months1.txt | ||||
| 8 | InFile | Y | Places1.txt | ||||
| 9 | Contains | Y | 0123456789 | Part numbers |
(4) Save this updated file.
(5) Run the macro GUIEnvironment and select your new rules table from the Rules table drop-down list.
(6) Choose OK.
Your new rules table should take effect the next time you index a document.
| Rule | Active | Code | Negate | P1 | P2 | Comment | |
|---|---|---|---|---|---|---|---|
| 1 | IN | 4 | 24 | Ignore long and short strings | |||
| 3 | StartsWith | Y | ABCDEFGHIJKLMNOPQRSTUVWXYZ | Initial capital | |||
| 6 | InFile | Y | Noises1.txt | ||||
| 7 | InFile | Y | Months1.txt | ||||
| 8 | InFile | Y | Places1.txt | ||||
| 9 | Contains | Y | 0123456789 | Part numbers |
(1) Try a third rules table, "IndxrRules03.doc",
(2) Reinstate the StartsWith rule, but negate it by placing a character in the Negate cell.
Developer Interface
The Indexer contains the powerful “Interesting Words” engine, and this engine lies at the heart of many of my applications (Grabr, Indxr, Masks, Preci, Thing, Think, Trail, Trans and WbWrd).
The interface is documented.
If you would like the documentation in draft form, please contact me .
Useful Tips
Obtaining Acronyms
I prepared a short course for recruiters – “How to understand today’s technology”.
I grabbed 50 advertisements from their job site, set up a one-line Rules table, and assigned it through the GUI form. Immediately below is the 1-line rules table:
| Rule | Active | Code | Negate | P1 | P2 | Comment | |
|---|---|---|---|---|---|---|---|
| 1 | Contains | Y | 0123456789abcdefghijklmnopqrstuvwxyz | Part numbers |
Reporting Suggestions
Please use the Contact Me details from the web site www.chrisgreaves.com .
Ideas
"I have an idea for an improved rule. How do I go about suggesting it?"
The easiest way is to Contact Me by phone or email and we will discuss it. I welcome your input.
"Is there any way I can support my suggestion with examples?"
Absolutely!
Here's an example of some trials I did on my own behalf.
A user asked if I couldn't deal better with plurals; separate entries were being made for "assistant" and "assistants".
I ran Indxr on this User Guide and noticed that I had the same problem. Not surprising since I had used that text as an example in the document, and again right here.
I noticed too that I had a spray of entries, variations on "Bookmark", and wondered if the index would be improved by amalgamating them.
The latest concordance file can be found at "C:\Documents and Settings\ChrisL\Application Data\Greaves\Indxr\Indxr.059" (you will substitute your user name), and it looks in part like this (above).
I open the concordance file as a Word document and make changes in the right-hand column, as shown in bold below
I save the concordance file, and re-create the index manually (choose Insert, Index and tables, Index, Auto mark, …) and am pleased with the result.
I am now in a position to propose two enhancements:
(1) Where an Interesting Word is identical to another Interesting Word except for the suffix of the letter "s", treat the words as equal for the concordance table.
(2) Where Interesting Words match up to the first capital letter, treat the words as equal.
(Remember that here I am making suggestions to myself!).
Each of these could be an option for the user, switched on or off according to the user's wishes.
The Indxr Environment
The Indexer application stores data between your sessions, so that you don’t need to re-type stuff every time.
There are many ways to store this data; I have chosen to use the archaic INI file technology, because I feel that users deserve better control over their computer systems.
You don’t need to go to the INI file at all – the exclamation-mark icon at the left-hand end of the Indxr toolbar provides a user-friendly GUI interface to the INI file.
If, on the other hand, you feel like a D.I.Y. user, locate the file Indxr.INI in the startup folder, and edit it with Notepad.
[Indxr]CaseSensitive=True
INDEXHeading=~~~A~~~
IndxrRulesTable=IndxrRulesCAPITALSoNLY.doc
KWICBefore=20
KWICAfter=20
ConcordanceFile=Indxr.059
LogFile=Indxr.txt
BookMarkHeadingLevelLow=1
BookMarkHeadingLevelHigh=4
strcBookMarkTextLength=15
What If I Corrupt My INI File?
Not a real problem. You can delete the Indxr.INI file at any time (even while running Indexer) and Indxr will re-create it with essential default values. That means you will return to my default values, but you can change these with the GUI interface.
Can I Test A New Version Of An INI File?
Yes, by copying the current INI file and giving it a new name.
Further Use
Your User Environment … is different from mine! You may want to change the Indxr environment.
On the Indxr toolbar, at the left-hand end, you’ll see a small toolbar button labeled with the exclamation mark (!).
Click this and set your own preferences.
Choose the OK/CANCEL button to save your new values.
Keyboard Shortcuts
On purpose I have not assigned keyboard shortcuts to these macros. I reason that you might already have some special keyboard shortcuts that you enjoy in Word, so why should I start off our relationship by clobbering your environment?
On the other hand, you might find some of these macros so useful, that a keyboard shortcut is an obvious enhancement for you.
Toolbar Shortcuts
On purpose I have not assigned toolbar buttons to these macros. I reason that you might already have a cluttered set of command bars, and don’t need me to add more, so why should I start off our relationship by clobbering your environment?
On the other hand, you might find some of these macros so useful, that a nifty little toolbar button is an obvious enhancement for you.
KS
1. Exactly what changes are being made to any "default" files or templates - including what is being modified or replaced.
2. What new templates or macros are being added.
3. What behaviors might change, and what they mean (such as the "Checking words 280/280).
4. What options we may or may not have to toggle certain features on and off.
5. What part, if any, of the Indxr (or any other modules, for that matter) application will travel with the document - not only in terms of macros, but also document codes, and what the recipient will see (or not see).
6. If any parts do travel with the document, what will happen on the other end if (likely in most cases), the recipient doesn't have the corresponding module installed on their system?
7. How to uninstall (completely) any or all of the modules.
Loading
Friday, July 30, 2010 9:11 PM
Copyright © 1996-2010 Chris Greaves. All Rights Reserved.