2017年7月29日

ちょいスクリプト:索引の種

InDesignの索引作成機能がどうも使いづらいので、語句を拾いながら、スクリプトで「ノンブル(タブ)語句」の組をファイルに書き出すようにした。

var curSlc = app.activeDocument.selection[0];
var curStr = curSlc.contents;
//var curNom = app.layoutWindows[0].activePage.name;
var curNom = curSlc.parentTextFrames[0].parentPage.name;
var outFile = new File("/Users/tak/Dropbox/索引/writeout.txt");
outFile.encoding = "UTF-8";
outFile.lineFeed = "Unix";
if ( outFile.open("a")) {
    outFile.writeln(curNom + "\t" + curStr) ;
    outFile.close();
    alert (curNom + "\t" + curStr +" を追加しました。");
    } else {
    alert("書き出しファイルが開けません");
 }

索引に拾う語句をドラッグで選択して、このスクリプトを実行(ショートカットをCtrl+Opt+Cmd+iにした)。alertで書き込めたことを知らせてくれるけど、tail -f を使って書き込み具合をterminalで監視しておくのもいいかな。


〔2017-07-30追記〕ノンブルを取得する方法を変えた。はじめはコメントアウト部分のようにしていたが、これだと対象の語句がある頁ではなく、画面上いちばん多く見えている頁のノンブルを取得してしまい、対象語句が次頁にわたっている場合など、別の頁のノンブルを拾ってしまう。