InDesign の索引作成の質問です
InDesign で索引作成をした時に、読みも書き出す方法はあるのでしょうか?
通常は
さ
索引 1
となりますが、このときに[さくいん]と入力した読みもデータとして
抽出できる方法があれば御指南ください
原稿にマーカされたものを、インデの索引機能を使って作成しているのですが
編者校で[単語][読み][ページ数]のエクセルを提出することになり
インデのデータを利用できないかと思った次第です
通しノンブルが決まっていないので、最初からエクセルで作るのは避けたいところです
インデのバージョンはCS3です
よろしくお願いします
かるび 2009/06/11 12:46:40
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; ja-JP-mac; rv:1.9.0.10) Gecko/2009042315 Firefox/3.0.10
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
001
索引作成時に読みも一緒に、というのはムリっぽい気がします。
もっとスマートな方法があるとは思うのですが、
私だったら・・・・
本文Fileをタグ書き出しして(複数Fileある場合はすべて)、
索引マーカーの部分を抽出。
↓
項目と読みをtab区切りtextにして、エクセルでソート。
同じ項目が複数個できた場合はこの時点で削除。
↓
索引Fileから取得した項目とページ数をtab区切りtextにして、
本文から抽出したものと合体
項目の文字列は同じはずなので、
エクセル上でのチェックは容易だと思います。
こんな感じで、
text処理のみでうまくいくような気がします。
間違っていたら、どなたかご指摘お願いします。
ただし、
項目が入れ子になっている場合は…どうなるか解りません。
(すみません)
momo 2009/06/12 12:49:44
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
002
アクティブになっているドキュメントについて、
「単語,読み,[ページ数 ページ数 ページ数...]」という感じで
1項目1行にしたテキストファイルを書き出すJavaScriptを書いてみました。
-------------------
(function(){
var sepChar = "," // CSV用セル区切り文字(任意)
var pageNumSepChar = " "; // ページ番号の区切り文字(任意)
var tmpIndex = app.activeDocument.indexes[0];
tmpIndex.update(); // 一度索引を更新してページ数などをソート
var str = "";
// 索引項目すべてについて処理
for (var i = 0, t_len =tmpIndex.topics.length;i<t_len; i++) {
var tmpTopic = tmpIndex.topics[i];
str += tmpTopic.name + sepChar;
str += tmpTopic.sortOrder + sepChar;
// 参照先すべてのページ番号を取得していく
for (var j = 0, ref_len = tmpTopic.pageReferences.length ; j<ref_len;j++ ) {
str += tmpTopic.pageReferences[j].sourceText.parentTextFrames[0].parent.name;
// 参照先がまだ残っていたらページ番号区切り文字を入れる
str += (j != ref_len-1) ? pageNumSepChar : "";
}
str += "\n"; // 改行
} // 項目ループここまで
// テキスト書き出し(ファイル名を指定して保存)
var file = File.saveDialog ("ファイル書き出し");
if (file) {
file.open("w");
file.write(str);
file.close();
}
return;
})();
-------------------
動作確認はWindows XPのInDesign CS4でしかしていませんが、
これでいかがでしょうか……?
ブックのドキュメントをすべて含めようとすると、もっと複雑になりそうです。
chalcedony 2009/06/12 14:13:02
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 GTB5 (.NET CLR 3.5.30729)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
003
momo様
やはり、インデの機能じゃ無理そうですよね
いろいろ試してみましたが、データとして書き出すのは難しそうです
こんなやり方でいこう と決まったのを下記に記します
インデの索引機能を使ってマーカー部を拾う(ただし読みは拾えないので[1]とかで済ます)
↓
ノンブル確定後に索引作成。単語とページの間はタブ指定にする
↓
テキストをExcelに移行させて、よみ項目を立てて入力
↓
読みでソート
この後は編者校の修正までExcel上で仕上げた後に、インデで索引の組版
といった流れです
「もう絶対に本文ページが変わるような修正は入れない!」
って条件つきですが、先方がゆうことを聞いてくれるかは不明です
基本的に進行に問題があるのはあきらかなのですが、諸事情があるので仕方ありません
ご意見ありがとうございました
chalcedony様
JavaScriptまで作成いただきありがとうございます
ただ、私のレベルが低くJavaScriptをどう適用させるのかが分かりません…
あと情報不足で申し訳なかったのですが、当方の環境はMAC OS 10.4.11 InDesign CS3 になります
すみませんでした
索引専用ソフトなども探してみましたが、やはりWindowsのものしか見つけられませんでした
かるび 2009/06/12 15:04:43
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; ja-JP-mac; rv:1.9.0.10) Gecko/2009042315 Firefox/3.0.10
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
004
>かるび様
こちらこそ、なんの説明もなく不親切で申し訳ありませんでした!
JavaScriptはWindowsでもMacでも動かすことができます。
(Macの環境がないので、実際に試してはいないのですが……)
今回は別のやり方で方針を決められたとのことですが、
もし今後スクリプトを使用される機会があったときは
こちらのページが参考になるかと思います。
スクリプトの使い方(種類・保存・利用) - 名もないテクノ手
URL http://d.hatena.ne.jp/seuzo/20081119/1227094226
chalcedony 2009/06/12 15:28:43
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 GTB5 (.NET CLR 3.5.30729)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
005
chalcedony様
JavaScriptは、使いこなせば便利だろうとは思っていましたが
ネットに載っているテキストをScriptファイルにする方法がわからず放置していました
少し調べて作っていただいたJavaScriptを、.jsxファイルにしてインデに適用してみましたが、エラーで走りませんでした
(スクリプトテキストをExtendScript Toolkitというソフトに
流し込んだだけなので、たぶんやり方が間違っているのでしょう)
付け焼き刃じゃ無理そうなのでScriptについては、追っかけで勉強していきます
ファイルとしてダウンロード出来るものも多そうなので
まずは、その辺から便利そうなものを探して行こうかと思います
どうもありがとうございました
かるび 2009/06/12 16:36:16
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; ja-JP-mac; rv:1.9.0.10) Gecko/2009042315 Firefox/3.0.10
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
006
chalcedonyさんが作られた書かれたスクリプトがOSX InDesign CS3動いたので、
使い方に問題があったのかと思いますので、
私の環境で動作した方法を
書き出したいドキュメントがCS3で開いている事が前提で
1.ExtendScript Toolkitではなく、ExtendScript Toolkit2を起動します。
2.新規JavaScriptを選択し、
ウィンドウ左上がAdobe InDesign CS3になってる事を確認して、
chalcedonyの書かれたプログラムをペースト
3.実行する。
これで動くと思います
んにゅ 2009/06/12 16:53:05
Opera/9.64 (Macintosh; Intel Mac OS X; U; ja) Presto/2.1.1
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
007
んにゅ様
出来ました!
ありがとうございます
ただいくつかのファイルでエラーが出てしまい(章立てでファイルを分けているのです)
調べてみたところ、グループ化されている文字ボックスに索引項目があるとエラーになるようです
(正確なトコは分からないのですが…解除すれば大丈夫でした)
今回は、スクリプトの便利さがよく分かりました
作成してくださった chalcedony様
スクリプトの使い方を御指南いただいた んにゅ様
ありがとうございました
かるび 2009/06/12 17:55:44
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; ja-JP-mac; rv:1.9.0.11) Gecko/2009060214 Firefox/3.0.11
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
[4580] 旧掲示板 (2009/06/11 Thu 12:46)