InDesignの索引機能を使って索引を作成するためには、索引項目の作成と、その項目が索引マーカーとしてドキュメント上に挿入されている必要があります。
ここではスクリプトを使って、ドキュメントに索引項目を作成し、さらにその索引項目を、本文中に索引マーカーとして挿入します。
公式サイト Adobe InDesignを詳しく見てみる
ドキュメントサンプル
InDesignで次のように作成したドキュメントを開いて、準備しておきます。
このドキュメントの「意地を通せば窮屈だ。」の赤い文字で示した「窮屈」という文字の前に索引マーカーを挿入します。
索引項目は「窮屈」として、読みを「きゅうくつ」とします。

コードサンプル
次のような、JavaScriptコードを作成して実行します。
#target indesign
// アクティブドキュメントに索引を扱うオブジェクトを作成
var objIndexs = app.activeDocument.indexes.add();
// 索引マーカーを挿入する挿入点
var objInsPnt = app.activeDocument.pages[0].textFrames[0].insertionPoints[6];
// 索引項目の作成
objTopix = objIndexs.topics.add("窮屈", "きゅうくつ");
// 本文中に索引マーカーを挿入
objTopix.pageReferences.add(objInsPnt);
実行結果
InDesignのドキュメントを見ると、「窮屈」の前に三角矢印が入っていて、索引マーカーが入ったのがわかります。
索引のパネルにも「き」に「窮屈」が作成され、同時にページ番号が取得されました。

索引パネルのページ番号「2」をダブルクリックして「ページ参照オプション」を開くと、索引項目と読みが入っているのが確認できます。

サンプルコードの解説
まずはじめに、索引そのものを扱うオブジェクトを用意します。
コードの4行目で、アクティブドキュメントに索引のオブジェクト変数を作成しています。
var objIndexs = app.activeDocument.indexes.add();
この索引オブジェクトで、索引を操作していきます。
コードの9行目で、索引項目を作成しています。
この1行で「窮屈」と「きゅうくつ」のセットの索引項目ができます。
objTopix = objIndexs.topics.add("窮屈", "きゅうくつ");
次に、コードの11行目で、作成した索引項目をマーカーとして挿入します。
add()の引数として、サンプルコードの6行目で取得した挿入点を指定しています。
objTopix.pageReferences.add(objInsPnt);
サンプルコードでは、索引項目の作成と索引マーカーの挿入を分けて実行していますが、次のようにすると、1行でも書くことができます。
objIndexs.topics.add("窮屈", "きゅうくつ").pageReferences.add(objInsPnt);
公式サイト Adobe InDesignを詳しく見てみる
コメント