2008/08/30

索引入力支援

間が空いてしまった。
その間に、だいぶスクリプトも充実してきた。初校の赤の修正時に、索引も入力するのがスタンダードになってきたので、以前のやり方をも少し洗練化。

読みを入力する手間を省くために、索引を拾う際に、既存の索引項目とマッチするものを、候補として選択できるようなダイアログを出せるようなスクリプト。
基本は、選択文字列と索引項目の比較、というもの。
これはかなり便利になった。事項索引については、これでほぼOK。

問題なのは、人名索引。人名は、執筆者がマーキングするのはではなく、機械的に拾うケースが多い。本文中では、ファーストネームは省略されているのが普通だが、索引では補完しなければならない。
そこで、文献リストとの照合作業が必要になってくる。その作業は、別のバイトにまかせて、イニシャルを逐一校正紙に記入してもらっていたのだが、それを確認しながら、入力していくのも面倒。

本文中での人名→文献リストとの照合→出版年数での判別→イニシャル補完。
という一連の作業を、効率よく且つミスらずするには、結局人の手をなるたけ省く――機械的に処理することは機械に任せる、ことが最短かと。
文献リストから人名を抽出してリスト化しておき、人名索引を拾う際に、マッチするものを候補として挙げる、というスクリプトを作ってみたんだが、これがかなり便利。

人名リストから自動的に拾ってく、てのができると一番楽なんだけど、それはちょっと怖いな。どうやって判別させるか、かなり工夫しなくてはいけない。

2008/08/05

索引エラー

前日のつづき。
スクリプトで索引を拾っていって(読みは空白)、後から索引パレットで読みを入力していくと、やはり固まる。
スクリプトで一括して読みを埋めようかと思って、以前作ったスクリプトを走らせてみると、重大なエラー云々というメッセージが出て、インデザインが落ちる。

対処方法がわからんな・・・。
しゃーないので、読みが空白の分の索引項目はすべて除去して、索引拾いなおし。
索引拾い応援スクリプトというか、文字列を選択して、(スクリプトに割り当てられている)ショートカットキーを押したら、その選択部分が索引項目になって、プロンプト画面がでて、読みを入力できる、というスクリプトで、カーソル移動とかの余計な動作を省く。
でも、結局拾いなおすのに1時間ぐらいはかかって、まぁまぁ疲労してしまった。

後から読みの入力、てのがうまくいかないのは、厳しいなぁ。どーしたものか。

2008/08/04

索引のスクリプト

索引項目を追加するとき、ダイアログウインドウを開いて、読みにカーソルを移動させて、入力するってのが、非常にわずらわしい。

そもそも、索引語はえてして頻出するので、拾う度に、読みを入力するか、もしくは参照ポイントを追加していく、てのが面倒なわけで。
そこで、選択文字列をスクリプト経由で索引に追加するスクリプトを作って、ショートカットキーを割り当て、快適に作業していたのだが、たまたま索引パレット上で、ある用語の読みを入力してみたら、固まってしまった。
むむむ。
索引追加のダイアログウインドウ上では、読みが不完全だと、警告が表示されて、読みをきちんと入力するまで、先に進めない。そこらへんが問題?

しゃーないので、読みの部分も、スクリプト経由で入力するか。まぁ、そっちのほうが楽なんだけど。
索引パレットは、読みを入力すると、すぐパレットが更新されて、並び替えされてしまって、大変なので。

レイヤーとな

執筆者がインデザインを扱えるとのことで、データを渡したのだが、レイヤーは使わないのですか、というお問い合わせ。

その存在、すっかり忘れていました。
イラレを使うときは、レイヤーを駆使しまくっていて、インデザインを始めたころ、同様に、レイヤーでオブジェクトを操作しようと思っていたのだが、CS2では、レイヤーパレットにオブジェクトが表示されない、ということでかなりがっかりきて、それ以来使っていなかったような気がする。どのレイヤーにどのオブジェクトがあるのかが、(イラレのようにパレットで)視認できないと、危険だと思ったわけで。

で、今回の問い合わせで、ハッとしたのだが、たとえば、索引部分のマーカーとかを別レイヤーでマーカーオブジェクトとして描画していけば、わざわざ、本文の文字にアミかけ(実際は下線)しなくてもいい。

そういう点では、使えるかもしれない。ちょっと考えてみようっと。

2008/08/01

当面の課題

本題の前にメモ。
insertionPoint.horizontalOffset
insertionPoint.baseline
でカーソルの親フレームの左上からの相対位置が取得できる。

原稿データはだいたい、各章ごとにファイルがある。で、1ストーリー=1章、という風に組んでいるんだが、いちいち、流し込むのも面倒になってきた。
修正されたデータが完璧だと仮定して、フォルダごと、もしくは複数ファイル選択して、各章ごと改丁で自動的に流し込みつつ、ハシラも補完、てことができるようにすれば、だいぶ楽になるはず。

文字列選択部分を囲むオブジェクトの生成スクリプト、を作ってみたのだが、テキストの背後に配置したい場合、アンカーオブジェクト化(カスタム)ができないっぽい。→要チェック。

先述のカーソル位置。baselineだと、欧文ベースラインの位置、ということで、本当は、仮想ボディの下の位置が知りたい。差分の求め方を調べておくこと。