InDesign の索引作成について
投稿日時:
InDesign の索引作成の質問です
InDesign で索引作成をした時に、読みも書き出す方法はあるのでしょうか?
通常は
さ
索引 1
となりますが、このときに[さくいん]と入力した読みもデータとして
抽出できる方法があれば御指南ください
原稿にマーカされたものを、インデの索引機能を使って作成しているのですが
編者校で[単語][読み][ページ数]のエクセルを提出することになり
インデのデータを利用できないかと思った次第です
通しノンブルが決まっていないので、最初からエクセルで作るのは避けたいところです
インデのバージョンはCS3です
よろしくお願いします
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処理のみでうまくいくような気がします。
間違っていたら、どなたかご指摘お願いします。
ただし、
項目が入れ子になっている場合は…どうなるか解りません。
(すみません)
索引作成時に読みも一緒に、というのはムリっぽい気がします。
もっとスマートな方法があるとは思うのですが、
私だったら・・・・
本文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でしかしていませんが、
これでいかがでしょうか……?
ブックのドキュメントをすべて含めようとすると、もっと複雑になりそうです。
アクティブになっているドキュメントについて、
「単語,読み,[ページ数 ページ数 ページ数...]」という感じで
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のものしか見つけられませんでした
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の環境がないので、実際に試してはいないのですが……)
今回は別のやり方で方針を決められたとのことですが、
もし今後スクリプトを使用される機会があったときは
こちらのページが参考になるかと思います。
スクリプトの使い方(種類・保存・利用) - 名もないテクノ手
http://d.hatena.ne.jp/seuzo/20081119/1227094226
>かるび様
こちらこそ、なんの説明もなく不親切で申し訳ありませんでした!
JavaScriptはWindowsでもMacでも動かすことができます。
(Macの環境がないので、実際に試してはいないのですが……)
今回は別のやり方で方針を決められたとのことですが、
もし今後スクリプトを使用される機会があったときは
こちらのページが参考になるかと思います。
スクリプトの使い方(種類・保存・利用) - 名もないテクノ手
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については、追っかけで勉強していきます
ファイルとしてダウンロード出来るものも多そうなので
まずは、その辺から便利そうなものを探して行こうかと思います
どうもありがとうございました
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.実行する。
これで動くと思います
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様
スクリプトの使い方を御指南いただいた んにゅ様
ありがとうございました
んにゅ様
出来ました!
ありがとうございます
ただいくつかのファイルでエラーが出てしまい(章立てでファイルを分けているのです)
調べてみたところ、グループ化されている文字ボックスに索引項目があるとエラーになるようです
(正確なトコは分からないのですが…解除すれば大丈夫でした)
今回は、スクリプトの便利さがよく分かりました
作成してくださった 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]
