IndexMatic² | Public Release and User's Guide
July 02, 2011 | IndexMatic² | en | fr
IndexMatic² is a powerful and highly configurable word-indexing tool for InDesign CS3, CS4, and CS5+ (Mac and Win). The present release (v. 2.02) offers completely new features: ‘sub-topic’ processing, XML export, InDesign snippet generation, and much more! “This script is a truly wonderful achievement. It's versatile, clever, and lightning fast, and the options are sensible.”—Peter Kahrel, June 2011.
IndexMatic² (iX²) helps you to compile an independent index from any InDesign document or book. You will want to use it to quickly build subject indexes, language indexes, author indexes, or even product nomenclatures! The script can process wordlists, regular expressions, and/or a number of advanced filters. It can automatically extract the whole vocabulary of the targeted document(s), or selectively retrieve the content from layers, footnotes, tables, style ranges...
For further details, check out the fresh and full IndexMatic² user's guide (PDF, 32 pages):
iX² is based on a sophisticated query engine that bypasses a number of time-consuming InDesign's features. It does not employ native indexes, it does not use GREP, it does not alter any existing document. Hence, it usually provides outstanding performance when processing long documents.
Key features
• InDesign CS3, CS4, and CS5+ compatible, Mac and Windows platforms.
• User interface: English (default) and French. (iX² auto-detects your InDesign locale.)
• Ability to sort the final entries according to 40+ language ordering rules.
• Output formats: plain text, XML file, InDesign snippet (CS4/CS5+ only).
• And still a bunch of iX²-unique features: page rank filter, generic space option, topic-rewriting, and so much more…
Try it!
The TRY version of IndexMatic² allows you to test most of the functionalities and to produce sample indexes (limited to 50 terms). A very few features are disabled:
• Try vs. Pro Version Comparison Chart
FEATURE | TRY | PRO |
---|---|---|
No time limit, no counter | OK | OK |
Full Query Interpreter (new version) | OK | OK |
50-term-per-index Limitation | YES | NO! |
XML Export | DISABLED | OK |
InDesign Snippet (CS4/CS5+) | DISABLED | OK |
Hit Report | DISABLED | OK |
Session-persistent settings | DISABLED | OK |
If you wish to use IndexMatic² as a production tool, consider to purchase a PRO version license.
• Installation. — The TRY and PRO versions of iX² are provided in the same format, a single JavaScript jsx file that you simply need to put in your Scripts Panel folder. The script is instantly available in the InDesign Scripts panel.
• Note. — If you cannot find the location of your Scripts Panel folder, run InDesign and display the Scripts panel (Window > Automation > Scripts). Then right-click the Application folder if you need the script to be used by all users, or the User folder if you need the script to be used only by the current user. In the fly-out menu, pick Reveal in Explorer (Win) or Reveal in Finder (Mac). If there is not already a Scripts Panel subfolder within the revealed Scripts folder, create here a new folder named Scripts Panel.
Acknowledgements
I wish to specially thank:
Peter Kahrel,
Laurent Tournier,
Herbert M. Tucker,
Devvin Earnest,
Ulrich Dirr,
for the great help they gave me during the beta test period of IndexMatic².
Comments
Hello, this looks like a great piece of software! However I'm not sure it can do what I need. I need to generate an index for a product catalog. I want to pull the product name and code number from each listing to create each entry for the index. These are styled using character styles, but within a paragraph style that calls them out as nested styles or GREP styles. Can the software find character styles WITHIN paragraph styles? Or, is there another way it could pull these two pieces of information? I'd be happy to send a sample page if it'd be easier to see what I mean.
Hi Tina,
IndexMatic 2 can target contents by paragraph style (or style group) and character style (or style group), and you can combine these filters. But, indeed, you must use *explicitly applied* styles, because InDesign does not handle *computed* character styles (nested, GREP) as if they were actually applied. That's a serious limitation.
Anyway, if the product name and the code number are—or can be—formatted through GREP styles, there is a chance you could extract these data using similar regular expressions in IndexMatic (?)
Feel free to send a sample page at: marc{at}indiscripts[dot]com
I'll tell you if I see some solution…
@+
Marc
Bonsoir,
Une solution serait de convertir les styles grep et imbriqués en "vrais" styles de caractère. Des scripts permettent de le faire facilement (http://bit.ly/1jwPqr). Mais le faire à partir d'une copie du fichier original.
Tu sais ce qui pose problème avec IndexMatic2…? Que c'est hyper puissant avec des tas d'options de la mort qui tue… Du coup, j'essaye de revenir à une utilisation plus sobre/simple à l'usage du sous-nain que je représente… Faudrait carrément un bouton masquant les options "expert" pour se recentrer sur les basiques…!
Bref, splendide mais tu ne rentres pas un tel produit du jour au lendemain…
En tous cas, je construis peu-à-peu la feuille idéale pour les prochaines éditions de mes bouquins…!
NB : test en cours pour urbanbike mais quelques souci d'ordre perso (rien de grave)
@ Jean-Christophe,
> Faudrait carrément un bouton masquant les options "expert"
> pour se recentrer sur les basiques…!
D'une certaine façon, c'est ce que propose le mode « Automatique » sélectionné par défaut. L'utilisateur lance IndexMatic, et hop, il n'a qu'à cliquer sur « Démarrer » pour générer son premier index.
> […] tu ne rentres pas un tel produit du jour au lendemain…
Oui, j'en conviens. Le fait est que les profils et les besoins des utilisateurs d'IndexMatic sont extrêmement variés — je l'ai constaté pendant les beta-tests. Certains connaissaient IndexBrutal, d'autres avaient apprivoisé l'interface rustique d'IndexMatic 1, et beaucoup recherchaient une combinaison des deux, avec des tas d'options supplémentaires !
IndexMatic 2 est l'aboutissement d'un croisement raisonné entre les deux scripts originels, avec l'optique d'offrir des performances décuplées et tous les réglages dont les utilisateurs ont exprimé le besoin année après année.
C'est un produit à plusieurs niveaux. Les férus d'expressions régulières trouveront rapidement le moyen de faire des choses très élaborées, mais les utilisateurs débutants pourront également adresser de simples listes de mots sans avoir à se casser la tête. Il a donc fallu trouver un compromis en termes d'ergonomie. L'interface est « dense », certes, mais il me semble que le tout reste cohérent.
Bien sûr, iX² s'adresse à un public motivé. Il est rare qu'on établisse l'index d'un ouvrage juste pour s'amuser ;-) Dans ce contexte, offrir un jeu d'options étendues me paraissait incontournable. L'avenir nous dira si c'était le bon choix…
@+
Marc
Bonjour,
Le plugin est vraiment intéressant mais je cherche en vain des choses basiques concernant la mise en page comme par ex. le point final après les séparateurs. Ou au lieu de points de conduite, j'aimerais utiliser tout simplement un 2 points après chaque entrée d'index comme par ex.
Valery, Paul : 22, 56, 90.
Debussy, Claude : 256, 320.
Merci Fan pour vos suggestions tout à fait pertinentes. Dans la version 2.0 d'IndexMatic, l'accent a été mis sur la performance et sur la flexibilité du système de recherche, mais en effet il reste de petites fonctionnalités « cosmétiques » à intégrer aux options de sortie. Tout cela est en cours d'étude, rassurez-vous !
En attendant une solution plus confortable, je vous suggère d'utiliser les fonctions de rechercher/remplacer de votre éditeur ou d'InDesign lui-même. Je conviens que ce n'est pas la panacée, mais cela devrait vous permettre de finaliser la présentation de votre index avec très peu d'opérations manuelles.
@+
Marc
Si je peux rebondir sur la remarque de Marc, préparer des listes d'entrées (déjà constituées par un auteur) à indexer pour InDexMatic2 à partir d'InDesign et de ses fonctions R/R est très efficace. Une très grande complémentarité.
Merci Laurent :-)
Je vais essayer de préparer une « Foire aux questions » d'ici la rentrée.
@+
Marc
Bonjour Marc,
Est-ce prévu dans une prochaine version que dans l’export on puisse demander de générer des hyperliens automatiques au page? (Comme la fonctionnalité Index native nous donne.) Du moins pour, l’export vers Snippets.
Bonjour Jean-Claude,
Merci pour cette suggestion. La conversion des folios en hyperliens est en effet une possibilité que j'ai étudiée. Pour tout dire, cette fonction a même été effectivement implémentée dans un script à part. Klaus Nordby — http://www.klausnordby.com/brand/ — en fait un usage remarquable dans son eBook « Henrik Ibsens Brand », dont l'index final a été généré avec l'ancêtre d'IndexMatic2 (à l'époque : IndexBrutal). Comme on peut l'observer dans le PDF résultant, tous les folios de l'index sont cliquables :
http://bit.ly/qUf3lM (PDF, 10 Mo)
J'avais envisagé de maintenir cette fonctionnalité directement dans IndexMatic, mais je me demande s'il n'est pas plus pertinent de la concevoir comme un script d'appoint, séparé du script principal. La première chose à souligner est que l'injection d'hyperliens modifie le document, ce qui est un peu contraire à la « philosophie » d'iX². Ensuite, c'est un processus hyper-gourmand quand l'index est volumineux, et difficilement réversible. Enfin et surtout, j'imagine qu'il y a d'autres situations, hors IndexMatic, où l'on pourrait avoir besoin de convertir des folios en hyperliens.
Donc, je pense plutôt offrir ce script séparément dans la rubrique « Biscuits » (“Snippets”) d'Indiscripts. L'utilisateur génère d'abord un index brut via iX². Il peut alors éventuellement le nettoyer, le styler, le préparer pour la composition finale. Dans un second temps, il appelle si besoin le script dédié à l'injection d'hyperliens.
Je pensais plutôt procéder comme cela. Qu'en penses-tu ?
Amitié,
Marc
Marc,
C’est une excellent approche car je peut facilement voir la complexité de le faire lors de la création et surtout comme tu le mentionne le fait que cela peut ralentir considérablement l’exécution du script lui-même.
Très bonne idée!
Jean-Claude
Pour ma part, j'attends surtout une option qui supprime les folios pour un premier passage, histoire d'avoir une vue des mots les plus importants dans mon texte puis, une fois retraité cette liste par mes soins avec toutes les options proposées par Marc, styliser les paramètres de sortie…
Sinon, avoir des hyperliens dans l'index est un réel plus pour les bouquins générés en PDF.
Pour mémoire, Adobe FrameMaker, avant que le chef de produit de l'époque ait la regrettable idée plus sotte que grenue de ne pas le reconduire sur Mac (…et donc de prendre la décision de ne pas le porter sous OSX), le fait fort bien…
Hors j'ai longtemps employé cette option dans mes index quand je fabriquais des catalogues produits sous FrameMaker en bricolant du MIF avec FileMaker…!
Message perso à Marc : billet in progress mais un peu speed en ce moment…
> Pour ma part, j'attends surtout une option qui supprime les folios
> pour un premier passage […]
Ah, ces clients ! Jamais contents ;-)
(Je sens que je vais t'envoyer une pré-version « spéciale Urbanbike » sans notification de folios…)
@+
Marc
Bonjour!
I have a list of company names - one or more words each - that are set as a paragraph style (each name is a one line only paragraph.
When using indexmatic, it picks every word as a single entry, so a company named 'Flaex Software' would be indexed as 'Flaex' and as 'Software'.
Is there a way Indexmatic can handle this?
merci.
Ilan
Hi Ilan,
Thanks for your message. Here is how to target paragraph-styled expressions that include space(s):
1) Run IndexMatic.
2) In the 'Style' panel, select the <CompanyName> paragraph style.
3) In the 'Search Mode' panel, select the 'Single query' mode.
4) In the 'Find' field, enter the query: /[ \w]+/
5) Press 'Run'.
@+
Marc
Merci Marc!
It's working just great.
Now that I can count on it, I'll get the pro version.
Thanks,
Ilan
Thank you ;-)
Marc
Bonjour Marc,
Regarding my previous question (paragraph styles entries): What would the query look like if the company name includes also words that are within brackets (i.e. 'First Israel Mezzanine Investors (FIMI) Ltd.')?
Ilan
Hi Ilan,
> What would the query look like if the company name includes
> also words that are within brackets?
To capture parentheses too, use the query: /[ \w\(\)]+/
Now, if you simply need to index EVERY WHOLE LINE whatever it contains, there is a shortcut: /.+/
Note 1. The pattern /.+/ is usually too 'greedy' in regular indexing context, but if your paragraphs just address single-line items, this should be fine.
Note 2. For further details on regex-based queries, please refer to the Manual (page 19): http://bit.ly/p0d0dQ
@+,
Marc
Merci, Marc
I work for a translation company and typeset texts that have been translated into many languages. A problem we have is that in indices containing symbol characters (like #, %, £ etc.) they are grouped under the heading "Symbols". We want to be able to localize the heading "Symbols" (to "Symbolen", "Symboler" etc.) without changing the language version of InDesign. Is that possible, either with standard ID or with your plug-in? I know you can change it afterwards, but we like automation! :)
Hi Marc,
Your script looks quite nice, but it does not seem to do something I need it to. Is the script able to link to the words/pages it found?
We need that for a PDF with links in it, so if you click on a word in the index, it links to the first instance of that word (or the pagenumber).
Do you know of a way to facilitate this?
Thanks!
@+
Addition to my previous email.
In short, I need a script that can load a .txt file containing a list of words. This script should add index markers to the .indd file.
InDesign then can create its own index, that is clickable.
Hi Mark,
Jean-Claude Tremblay asked the same question above (#10), but in French ;-)
http://www.indiscripts.com/post/201...
In short, IndexMatic does not generates hyperlinks, because I think this should be the purpose of a *separate* script.
In fact, I already wrote a script that convert page numbers into hyperlinks. I just need to cleanup the code, and I plan to make this script available soon in the ‘Snippets’ section.
@+
Marc
what would be the best way (eample regex) to index all urls in a document?
Hi newmedia,
Well, matching URLs is still a big challenge even in pure JavaScript. Just google "javascript regexp +url" to see what I mean! A complete valid URL pattern may consume 150+ characters, which IndexMatic2 currently *does not* allow (due to the 128-characters KEY length limitation).
However, in most real-life cases the document that you want to index doesn't contain insane URL patterns. So you can probably simplify the query, but this entirely depends on the content.
For example, if you can assume that every URL starts with /(http:\\)/ OR /w{3}\./, the whole pattern may be dramatically simplified. In addition, if a Character Style is used to format web addresses, then IndexMatic can very easily target the matches. Etc.
@+
Marc
bonjour marc et bravo pour tous vos travaux que je suis de loin!!
Je rencontre un souci au lancement de la version d'essai d'indexmatic. Je suis sous snowleopard et indesign cs5 et au lancement du script indy me dit OS ERROR.
Avez vous déjà rencontré cette erreur?
merci d'avance pour votre aide
miran
Bonjour Miran,
Merci pour votre message. Il ne semble pas que ce puisse être un bug lié à IndexMatic, mais plutôt une instabilité système. Pouvez-vous relancer l'OS et réessayer ?
@+
Marc
bonjour marc
d'abord merci pour votre rapidité de réponse! c'est fulgurant, à peine quelques dizaines de minutes.
Effectivement en relançant le système, plus de souci, que du bonheur!!
Excellente suite à vous, bon courage
Bonjour,
je cherche à faire un index thématique sur un livre assez conséquent. Je n'arrive pas à me rendre compte de la complexité de l'établissement de la liste de l'éditeur de requête pour bâtir la structure de mon index en amont. Y a-t-il un endroit où je pourrais voir un fichier texte de préparation ?
Merci d'avance,
C
> Je n'arrive pas à me rendre compte de la complexité de
> l'établissement de la liste de l'éditeur de requête […]
Je ne suis pas sûr de bien saisir la question. L'Éditeur de requêtes est une « simple » zone de saisie multi-lignes. Vous avez la possibilité d'y éditer une liste aussi complexe que nécessaire (ou bien d'y charger un fichier texte mis au point depuis un autre logiciel). Certains utilisateurs trouvent plus commode de travailler en amont dans un éditeur plein texte qu'ils sont habitués à utiliser, dont ils connaissent bien l'interface et les raccourcis clavier ; ils peuvent ainsi traiter plus efficacement une grosse liste de requêtes et l'importer ensuite dans IndexMatic. L'ergonomie de l'Éditeur de requêtes ne rivalise évidemment pas avec celle d'un logiciel dédié. Cela étant, je pense que c'est une interface suffisante pour traiter confortablement des listes allant jusqu'à une cinquantaine de lignes. (Pensez à utiliser les boutons Augmenter / Réduire la taille du texte pour ajuster les caractères à votre convenance.)
Concernant la complexité de la liste en elle-même, il n'y a pas de modèle : tout dépend de ce que vous souhaitez faire. Pour mieux vous rendre compte, commencez par saisir ou importer une liste de quelques mots pour vous familiariser.
NB. — Avec la version PRO, vous pouvez à tout moment générer un index ou un rapport d'occurrences (bouton « Occurrences »), puis retravailler et affiner progressivement la liste de requêtes — qui reste en mémoire durant toute la session InDesign.
@+
Marc
merci de votre réponse.
==================================
[EN] THIS COMMENT THREAD IS CLOSED.
FOR FURTHER DISCUSSION ABOUT INDEXMATIC 2,
PLEASE POST YOUR MESSAGE IN THE
“FREQUENTLY ASKED QUESTION” PAGE.
==================================
[FR] CE FIL DE COMMENTAIRES EST FERMÉ.
POUR POURSUIVRE LA DISCUSSION SUR INDEXMATIC 2,
MERCI DE POSTER VOTRE MESSAGE DANS
LA « FOIRE AUX QUESTIONS ».
==================================